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

Description

Definition at line 51 of file KartBody.hh.

Inheritance diagram for Kinoko::Kart::KartBodyBike:

Public Member Functions

 KartBodyBike (KartPhysics *physics)
EGG::Matrix34f wheelMatrix (u16 wheelIdx) override
 Computes a matrix to represent the rotation of a wheel.
Public Member Functions inherited from Kinoko::Kart::KartBody
 KartBody (KartPhysics *physics)
void reset ()
void calcSinkDepth ()
void trySetTargetSinkDepth (f32 val)
void calcTargetSinkDepth ()
void setAngle (f32 val)
KartPhysics * physics () const
f32 sinkDepth () const

Additional Inherited Members

Protected Member Functions inherited from Kinoko::Kart::KartObjectProxy
void apply (size_t idx)
void setPos (const EGG::Vector3f &pos)
void setRot (const EGG::Quatf &q)
void setInertiaScale (const EGG::Vector3f &scale)
KartAction * action ()
const KartAction * action () const
KartBody * body ()
const KartBody * body () const
KartCollide * collide ()
const KartCollide * collide () const
CollisionGroup * collisionGroup ()
const CollisionGroup * collisionGroup () const
KartMove * move ()
const KartMove * move () const
KartHalfPipe * halfPipe ()
const KartHalfPipe * halfPipe () const
KartScale * kartScale ()
const KartScale * kartScale () const
KartJump * jump ()
const KartJump * jump () const
KartParam * param ()
const KartParam * param () const
const BSP & bsp () const
KartPhysics * physics ()
const KartPhysics * physics () const
KartDynamics * dynamics ()
const KartDynamics * dynamics () const
KartState * state ()
const KartState * state () const
KartSub * sub ()
const KartSub * sub () const
KartSuspension * suspension (u16 suspIdx)
const KartSuspension * suspension (u16 suspIdx) const
KartSuspensionPhysics * suspensionPhysics (u16 suspIdx)
const KartSuspensionPhysics * suspensionPhysics (u16 suspIdx) const
KartTire * tire (u16 tireIdx)
const KartTire * tire (u16 tireIdx) const
WheelPhysics * tirePhysics (u16 tireIdx)
const WheelPhysics * tirePhysics (u16 tireIdx) const
CollisionData & collisionData ()
const CollisionData & collisionData () const
CollisionData & collisionData (u16 tireIdx)
const CollisionData & collisionData (u16 tireIdx) const
const System::KPad * inputs () const
Render::KartModel * model ()
const Render::KartModel * model () const
Field::ObjectCollisionKart * objectCollisionKart ()
const Field::ObjectCollisionKart * objectCollisionKart () const
Field::BoxColUnit * boxColUnit ()
const Field::BoxColUnit * boxColUnit () const
const EGG::Vector3f & scale () const
const EGG::Matrix34f & pose () 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::Vector3f & componentXAxis () const
const EGG::Vector3f & componentYAxis () const
const EGG::Vector3f & componentZAxis () const
const EGG::Vector3f & pos () const
const EGG::Vector3f & prevPos () const
const EGG::Quatf & fullRot () const
const EGG::Vector3f & extVel () const
const EGG::Vector3f & intVel () const
const EGG::Vector3f & velocity () const
f32 speed () const
f32 acceleration () const
f32 softSpeedLimit () const
const EGG::Quatf & mainRot () const
const EGG::Vector3f & angVel2 () const
bool isBike () const
u16 suspCount () const
u16 tireCount () const
bool hasFloorCollision (const WheelPhysics *wheelPhysics) const
std::pair< EGG::Vector3f, EGG::Vector3f > getCannonPosRot ()
f32 speedRatio () const
f32 speedRatioCapped () const
bool isInRespawn () const
Field::KCLTypeMask wallKclType () const
u32 wallKclVariant () const
Status & status ()
const Status & status () const
const EGG::Vector3f & wheelPos (u16 idx) const
const EGG::Vector3f & wheelEdgePos (u16 idx) const
f32 cameraDistY () const
s32 hopStickX () const
KartParam::Stats::DriftType vehicleType () const
static std::list< KartObjectProxy *, EGG::Allocator< KartObjectProxy * > > & proxyList ()
Protected Attributes inherited from Kinoko::Kart::KartBody
KartPhysics * m_physics
f32 m_anAngle
f32 m_sinkDepth
 Vehicle offset applied downward into collision.
f32 m_targetSinkDepth

Constructor & Destructor Documentation

◆ KartBodyBike()

Kinoko::Kart::KartBodyBike::KartBodyBike ( KartPhysics * physics)
0x8056D858

Definition at line 54 of file KartBody.cc.

◆ ~KartBodyBike()

Kinoko::Kart::KartBodyBike::~KartBodyBike ( )
override0x8056E2BC

Definition at line 57 of file KartBody.cc.

Member Function Documentation

◆ wheelMatrix()

EGG::Matrix34f Kinoko::Kart::KartBodyBike::wheelMatrix ( u16 wheelIdx)
nodiscardoverridevirtual0x8056DD54

Computes a matrix to represent the rotation of a wheel.

For the front wheel, we factor in the handlebar rotation. For the rear wheel, we only factor in the kart's rotation.

Parameters
wheelIdx0 for front wheel, 1 for rear wheel

Reimplemented from Kinoko::Kart::KartBody.

Reimplemented in Kinoko::Kart::KartBodyQuacker.

Definition at line 66 of file KartBody.cc.