A reimplementation of Mario Kart Wii's physics engine in C++
Loading...
Searching...
No Matches
Kart::KartObjectProxy Class Reference

#include <KartObjectProxy.hh>

Description

Base class for most kart-related objects.

Definition at line 67 of file KartObjectProxy.hh.

Inheritance diagram for Kart::KartObjectProxy:

Setters

void setPos (const EGG::Vector3f &pos)
 
void setRot (const EGG::Quatf &q)
 
void setInertiaScale (const EGG::Vector3f &scale)
 

Getters

KartActionaction ()
 
const KartActionaction () const
 
KartBodybody ()
 
const KartBodybody () const
 
KartCollidecollide ()
 
const KartCollidecollide () const
 
CollisionGroupcollisionGroup ()
 
const CollisionGroupcollisionGroup () const
 
KartMovemove ()
 
const KartMovemove () const
 
KartHalfPipehalfPipe ()
 
const KartHalfPipehalfPipe () const
 
KartScalekartScale ()
 
const KartScalekartScale () const
 
KartJumpjump ()
 
const KartJumpjump () const
 
KartParamparam ()
 
const KartParamparam () const
 
const BSPbsp () const
 
KartPhysicsphysics ()
 
const KartPhysicsphysics () const
 
KartDynamicsdynamics ()
 
const KartDynamicsdynamics () const
 
KartStatestate ()
 
const KartStatestate () const
 
KartSubsub ()
 
const KartSubsub () const
 
KartSuspensionsuspension (u16 suspIdx)
 
const KartSuspensionsuspension (u16 suspIdx) const
 
KartSuspensionPhysicssuspensionPhysics (u16 suspIdx)
 
const KartSuspensionPhysicssuspensionPhysics (u16 suspIdx) const
 
KartTiretire (u16 tireIdx)
 
const KartTiretire (u16 tireIdx) const
 
WheelPhysicstirePhysics (u16 tireIdx)
 
const WheelPhysicstirePhysics (u16 tireIdx) const
 
CollisionDatacollisionData ()
 
const CollisionDatacollisionData () const
 
CollisionDatacollisionData (u16 tireIdx)
 
const CollisionDatacollisionData (u16 tireIdx) const
 
const System::KPadinputs () const
 
Render::KartModelmodel ()
 
const Render::KartModelmodel () const
 
Field::ObjectCollisionKartobjectCollisionKart ()
 
const Field::ObjectCollisionKartobjectCollisionKart () const
 
Field::BoxColUnitboxColUnit ()
 
const Field::BoxColUnitboxColUnit () const
 
const EGG::Vector3fscale () const
 
const EGG::Matrix34fpose () const
 
EGG::Vector3f bodyFront () const
 Returns the third column of the rotation matrix, which is the facing vector.
 
EGG::Vector3f bodyForward () const
 Returns the first column of the rotation matrix, which is the "right" direction.
 
EGG::Vector3f bodyUp () const
 Returns the second column of the rotation matrix, which is the "up" direction.
 
const EGG::Vector3fcomponentXAxis () const
 
const EGG::Vector3fcomponentYAxis () const
 
const EGG::Vector3fcomponentZAxis () const
 
const EGG::Vector3fpos () const
 
const EGG::Vector3fprevPos () const
 
const EGG::QuatffullRot () const
 
const EGG::Vector3fextVel () const
 
const EGG::Vector3fintVel () const
 
const EGG::Vector3fvelocity () const
 
f32 speed () const
 
f32 acceleration () const
 
f32 softSpeedLimit () const
 
const EGG::QuatfmainRot () const
 
const EGG::Vector3fangVel2 () const
 
bool isBike () const
 
u16 suspCount () const
 
u16 tireCount () const
 
bool hasFloorCollision (const WheelPhysics *wheelPhysics) const
 
std::pair< EGG::Vector3f, EGG::Vector3fgetCannonPosRot ()
 
f32 speedRatio () const
 
f32 speedRatioCapped () const
 
bool isInRespawn () const
 
Field::KCLTypeMask wallKclType () const
 
u32 wallKclVariant () const
 
static std::list< KartObjectProxy * > & proxyList ()
 

Protected Member Functions

void apply (size_t idx)
 

Static Private Member Functions

static void ApplyAll (const KartAccessor *pointers)
 For all proxies in the static list, synchronizes all pointers to the KartAccessor.
 

Private Attributes

const KartAccessorm_accessor
 

Static Private Attributes

static std::list< KartObjectProxy * > s_proxyList
 List of all KartObjectProxy children.
 

Constructor & Destructor Documentation

◆ KartObjectProxy()

Kart::KartObjectProxy::KartObjectProxy ( )
0x8059018C

Definition at line 22 of file KartObjectProxy.cc.

Member Function Documentation

◆ acceleration()

f32 Kart::KartObjectProxy::acceleration ( ) const
nodiscard

Definition at line 346 of file KartObjectProxy.cc.

◆ action() [1/2]

KartAction * Kart::KartObjectProxy::action ( )
nodiscard0x80590D20

Definition at line 46 of file KartObjectProxy.cc.

◆ action() [2/2]

const KartAction * Kart::KartObjectProxy::action ( ) const
nodiscard0x80590D20

Definition at line 51 of file KartObjectProxy.cc.

◆ angVel2()

const EGG::Vector3f & Kart::KartObjectProxy::angVel2 ( ) const
nodiscard

Definition at line 358 of file KartObjectProxy.cc.

◆ apply()

void Kart::KartObjectProxy::apply ( size_t idx)
protected0x805901D0

Definition at line 424 of file KartObjectProxy.cc.

◆ ApplyAll()

void Kart::KartObjectProxy::ApplyAll ( const KartAccessor * pointers)
staticprivate0x80590138

For all proxies in the static list, synchronizes all pointers to the KartAccessor.

Parameters
pointersThe pointer to synchronize all other proxies to.

Definition at line 431 of file KartObjectProxy.cc.

◆ body() [1/2]

KartBody * Kart::KartObjectProxy::body ( )
nodiscard0x8059069C

Definition at line 56 of file KartObjectProxy.cc.

◆ body() [2/2]

const KartBody * Kart::KartObjectProxy::body ( ) const
nodiscard0x8059069C

Definition at line 61 of file KartObjectProxy.cc.

◆ bodyForward()

EGG::Vector3f Kart::KartObjectProxy::bodyForward ( ) const
nodiscard0x80590C44

Returns the first column of the rotation matrix, which is the "right" direction.

Definition at line 288 of file KartObjectProxy.cc.

◆ bodyFront()

EGG::Vector3f Kart::KartObjectProxy::bodyFront ( ) const
nodiscard0x80590C94

Returns the third column of the rotation matrix, which is the facing vector.

Definition at line 281 of file KartObjectProxy.cc.

◆ bodyUp()

EGG::Vector3f Kart::KartObjectProxy::bodyUp ( ) const
nodiscard0x80590C6C

Returns the second column of the rotation matrix, which is the "up" direction.

Definition at line 295 of file KartObjectProxy.cc.

◆ boxColUnit() [1/2]

Field::BoxColUnit * Kart::KartObjectProxy::boxColUnit ( )
nodiscard0x80591520

Definition at line 250 of file KartObjectProxy.cc.

◆ boxColUnit() [2/2]

const Field::BoxColUnit * Kart::KartObjectProxy::boxColUnit ( ) const
nodiscard0x80591520

Definition at line 255 of file KartObjectProxy.cc.

◆ bsp()

const BSP & Kart::KartObjectProxy::bsp ( ) const
nodiscard0x80590888

Definition at line 132 of file KartObjectProxy.cc.

◆ collide() [1/2]

KartCollide * Kart::KartObjectProxy::collide ( )
nodiscard0x8059084C

Definition at line 66 of file KartObjectProxy.cc.

◆ collide() [2/2]

const KartCollide * Kart::KartObjectProxy::collide ( ) const
nodiscard0x8059084C

Definition at line 71 of file KartObjectProxy.cc.

◆ collisionData() [1/4]

CollisionData & Kart::KartObjectProxy::collisionData ( )
nodiscard0x8059081C

Definition at line 215 of file KartObjectProxy.cc.

◆ collisionData() [2/4]

const CollisionData & Kart::KartObjectProxy::collisionData ( ) const
nodiscard0x8059081C

Definition at line 220 of file KartObjectProxy.cc.

◆ collisionData() [3/4]

CollisionData & Kart::KartObjectProxy::collisionData ( u16 tireIdx)
nodiscard0x80590834

Definition at line 260 of file KartObjectProxy.cc.

◆ collisionData() [4/4]

const CollisionData & Kart::KartObjectProxy::collisionData ( u16 tireIdx) const
nodiscard0x80590834

Definition at line 265 of file KartObjectProxy.cc.

◆ collisionGroup() [1/2]

CollisionGroup * Kart::KartObjectProxy::collisionGroup ( )
nodiscard0x805907D8

Definition at line 76 of file KartObjectProxy.cc.

◆ collisionGroup() [2/2]

const CollisionGroup * Kart::KartObjectProxy::collisionGroup ( ) const
nodiscard0x805907D8

Definition at line 81 of file KartObjectProxy.cc.

◆ componentXAxis()

const EGG::Vector3f & Kart::KartObjectProxy::componentXAxis ( ) const
nodiscard0x80590CBC

Definition at line 301 of file KartObjectProxy.cc.

◆ componentYAxis()

const EGG::Vector3f & Kart::KartObjectProxy::componentYAxis ( ) const
nodiscard0x80590CD0

Definition at line 306 of file KartObjectProxy.cc.

◆ componentZAxis()

const EGG::Vector3f & Kart::KartObjectProxy::componentZAxis ( ) const
nodiscard0x80590CE4

Definition at line 311 of file KartObjectProxy.cc.

◆ dynamics() [1/2]

KartDynamics * Kart::KartObjectProxy::dynamics ( )
nodiscard0x805903E0

Definition at line 147 of file KartObjectProxy.cc.

◆ dynamics() [2/2]

const KartDynamics * Kart::KartObjectProxy::dynamics ( ) const
nodiscard0x805903E0

Definition at line 152 of file KartObjectProxy.cc.

◆ extVel()

const EGG::Vector3f & Kart::KartObjectProxy::extVel ( ) const
nodiscard

Definition at line 329 of file KartObjectProxy.cc.

◆ fullRot()

const EGG::Quatf & Kart::KartObjectProxy::fullRot ( ) const
nodiscard

Definition at line 325 of file KartObjectProxy.cc.

◆ getCannonPosRot()

std::pair< EGG::Vector3f, EGG::Vector3f > Kart::KartObjectProxy::getCannonPosRot ( )
nodiscard0x8058539C

Definition at line 383 of file KartObjectProxy.cc.

◆ halfPipe() [1/2]

KartHalfPipe * Kart::KartObjectProxy::halfPipe ( )
nodiscard

Definition at line 95 of file KartObjectProxy.cc.

◆ halfPipe() [2/2]

const KartHalfPipe * Kart::KartObjectProxy::halfPipe ( ) const
nodiscard

Definition at line 99 of file KartObjectProxy.cc.

◆ hasFloorCollision()

bool Kart::KartObjectProxy::hasFloorCollision ( const WheelPhysics * wheelPhysics) const
nodiscard0x80590338

Definition at line 378 of file KartObjectProxy.cc.

◆ inputs()

const System::KPad * Kart::KartObjectProxy::inputs ( ) const
nodiscard0x805903F4

Definition at line 225 of file KartObjectProxy.cc.

◆ intVel()

const EGG::Vector3f & Kart::KartObjectProxy::intVel ( ) const
nodiscard

Definition at line 333 of file KartObjectProxy.cc.

◆ isBike()

bool Kart::KartObjectProxy::isBike ( ) const
nodiscard0x80590A6C

Definition at line 363 of file KartObjectProxy.cc.

◆ isInRespawn()

bool Kart::KartObjectProxy::isInRespawn ( ) const
nodiscard0x805914F4

Definition at line 409 of file KartObjectProxy.cc.

◆ jump() [1/2]

KartJump * Kart::KartObjectProxy::jump ( )
nodiscard0x80591914

Definition at line 112 of file KartObjectProxy.cc.

◆ jump() [2/2]

const KartJump * Kart::KartObjectProxy::jump ( ) const
nodiscard0x80591914

Definition at line 117 of file KartObjectProxy.cc.

◆ kartScale() [1/2]

KartScale * Kart::KartObjectProxy::kartScale ( )
nodiscard

Definition at line 103 of file KartObjectProxy.cc.

◆ kartScale() [2/2]

const KartScale * Kart::KartObjectProxy::kartScale ( ) const
nodiscard

Definition at line 107 of file KartObjectProxy.cc.

◆ mainRot()

const EGG::Quatf & Kart::KartObjectProxy::mainRot ( ) const
nodiscard

Definition at line 354 of file KartObjectProxy.cc.

◆ model() [1/2]

Render::KartModel * Kart::KartObjectProxy::model ( )
nodiscard0x80590A40

Definition at line 230 of file KartObjectProxy.cc.

◆ model() [2/2]

const Render::KartModel * Kart::KartObjectProxy::model ( ) const
nodiscard0x80590A40

Definition at line 235 of file KartObjectProxy.cc.

◆ move() [1/2]

KartMove * Kart::KartObjectProxy::move ( )
nodiscard0x8059077C

Definition at line 86 of file KartObjectProxy.cc.

◆ move() [2/2]

const KartMove * Kart::KartObjectProxy::move ( ) const
nodiscard0x8059077C

Definition at line 91 of file KartObjectProxy.cc.

◆ objectCollisionKart() [1/2]

Field::ObjectCollisionKart * Kart::KartObjectProxy::objectCollisionKart ( )
nodiscard0x805907C0

Definition at line 240 of file KartObjectProxy.cc.

◆ objectCollisionKart() [2/2]

const Field::ObjectCollisionKart * Kart::KartObjectProxy::objectCollisionKart ( ) const
nodiscard0x805907C0

Definition at line 245 of file KartObjectProxy.cc.

◆ param() [1/2]

KartParam * Kart::KartObjectProxy::param ( )
nodiscard0x80590864

Definition at line 122 of file KartObjectProxy.cc.

◆ param() [2/2]

const KartParam * Kart::KartObjectProxy::param ( ) const
nodiscard0x80590864

Definition at line 127 of file KartObjectProxy.cc.

◆ physics() [1/2]

KartPhysics * Kart::KartObjectProxy::physics ( )
nodiscard0x805903AC

Definition at line 137 of file KartObjectProxy.cc.

◆ physics() [2/2]

const KartPhysics * Kart::KartObjectProxy::physics ( ) const
nodiscard0x805903AC

Definition at line 142 of file KartObjectProxy.cc.

◆ pos()

const EGG::Vector3f & Kart::KartObjectProxy::pos ( ) const
nodiscard0x8059020C

Definition at line 316 of file KartObjectProxy.cc.

◆ pose()

const EGG::Matrix34f & Kart::KartObjectProxy::pose ( ) const
nodiscard0x80590264

Definition at line 275 of file KartObjectProxy.cc.

◆ prevPos()

const EGG::Vector3f & Kart::KartObjectProxy::prevPos ( ) const
nodiscard0x80590224

Definition at line 321 of file KartObjectProxy.cc.

◆ proxyList()

static std::list< KartObjectProxy * > & Kart::KartObjectProxy::proxyList ( )
inlinestaticnodiscard

Definition at line 160 of file KartObjectProxy.hh.

◆ scale()

const EGG::Vector3f & Kart::KartObjectProxy::scale ( ) const
nodiscard0x805914BC

Definition at line 270 of file KartObjectProxy.cc.

◆ setInertiaScale()

void Kart::KartObjectProxy::setInertiaScale ( const EGG::Vector3f & scale)
0x80591664

Definition at line 40 of file KartObjectProxy.cc.

◆ setPos()

void Kart::KartObjectProxy::setPos ( const EGG::Vector3f & pos)
0x80590238

Definition at line 29 of file KartObjectProxy.cc.

◆ setRot()

void Kart::KartObjectProxy::setRot ( const EGG::Quatf & q)
0x80590288

Definition at line 34 of file KartObjectProxy.cc.

◆ softSpeedLimit()

f32 Kart::KartObjectProxy::softSpeedLimit ( ) const
nodiscard

Definition at line 350 of file KartObjectProxy.cc.

◆ speed()

f32 Kart::KartObjectProxy::speed ( ) const
nodiscard0x80590CF8

Definition at line 342 of file KartObjectProxy.cc.

◆ speedRatio()

f32 Kart::KartObjectProxy::speedRatio ( ) const
nodiscard0x80590DD0

Definition at line 399 of file KartObjectProxy.cc.

◆ speedRatioCapped()

f32 Kart::KartObjectProxy::speedRatioCapped ( ) const
nodiscard0x80590DC0

Definition at line 404 of file KartObjectProxy.cc.

◆ state() [1/2]

KartState * Kart::KartObjectProxy::state ( )
nodiscard

Definition at line 156 of file KartObjectProxy.cc.

◆ state() [2/2]

const KartState * Kart::KartObjectProxy::state ( ) const
nodiscard

Definition at line 160 of file KartObjectProxy.cc.

◆ sub() [1/2]

KartSub * Kart::KartObjectProxy::sub ( )
nodiscard0x80590764

Definition at line 165 of file KartObjectProxy.cc.

◆ sub() [2/2]

const KartSub * Kart::KartObjectProxy::sub ( ) const
nodiscard0x80590764

Definition at line 170 of file KartObjectProxy.cc.

◆ suspCount()

u16 Kart::KartObjectProxy::suspCount ( ) const
nodiscard0x805902DC

Definition at line 368 of file KartObjectProxy.cc.

◆ suspension() [1/2]

KartSuspension * Kart::KartObjectProxy::suspension ( u16 suspIdx)
nodiscard0x805906B4

Definition at line 175 of file KartObjectProxy.cc.

◆ suspension() [2/2]

const KartSuspension * Kart::KartObjectProxy::suspension ( u16 suspIdx) const
nodiscard0x805906B4

Definition at line 180 of file KartObjectProxy.cc.

◆ suspensionPhysics() [1/2]

KartSuspensionPhysics * Kart::KartObjectProxy::suspensionPhysics ( u16 suspIdx)
nodiscard0x80590704

Definition at line 185 of file KartObjectProxy.cc.

◆ suspensionPhysics() [2/2]

const KartSuspensionPhysics * Kart::KartObjectProxy::suspensionPhysics ( u16 suspIdx) const
nodiscard0x80590704

Definition at line 190 of file KartObjectProxy.cc.

◆ tire() [1/2]

KartTire * Kart::KartObjectProxy::tire ( u16 tireIdx)
nodiscard0x805906DC

Definition at line 195 of file KartObjectProxy.cc.

◆ tire() [2/2]

const KartTire * Kart::KartObjectProxy::tire ( u16 tireIdx) const
nodiscard0x805906DC

Definition at line 200 of file KartObjectProxy.cc.

◆ tireCount()

u16 Kart::KartObjectProxy::tireCount ( ) const
nodiscard0x805902EC

Definition at line 373 of file KartObjectProxy.cc.

◆ tirePhysics() [1/2]

WheelPhysics * Kart::KartObjectProxy::tirePhysics ( u16 tireIdx)
nodiscard0x80590734

Definition at line 205 of file KartObjectProxy.cc.

◆ tirePhysics() [2/2]

const WheelPhysics * Kart::KartObjectProxy::tirePhysics ( u16 tireIdx) const
nodiscard0x80590734

Definition at line 210 of file KartObjectProxy.cc.

◆ velocity()

const EGG::Vector3f & Kart::KartObjectProxy::velocity ( ) const
nodiscard

Definition at line 337 of file KartObjectProxy.cc.

◆ wallKclType()

Field::KCLTypeMask Kart::KartObjectProxy::wallKclType ( ) const
nodiscard0x805911A8

Definition at line 414 of file KartObjectProxy.cc.

◆ wallKclVariant()

u32 Kart::KartObjectProxy::wallKclVariant ( ) const
nodiscard0x805911C0

Definition at line 419 of file KartObjectProxy.cc.

Member Data Documentation

◆ m_accessor

const KartAccessor* Kart::KartObjectProxy::m_accessor
private

Definition at line 171 of file KartObjectProxy.hh.

◆ s_proxyList

std::list< KartObjectProxy * > Kart::KartObjectProxy::s_proxyList
staticprivate0x809C1900

List of all KartObjectProxy children.

Definition at line 173 of file KartObjectProxy.hh.