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

Description

Definition at line 15 of file ObjectBase.hh.

Inheritance diagram for Field::ObjectBase:

Public Member Functions

 ObjectBase (const System::MapdataGeoObj &params)
 
virtual void init ()
 
virtual void calc ()
 
virtual void calcModel ()
 
virtual void load ()=0
 
virtual const char * getResources () const
 
virtual void loadGraphics ()
 
virtual void loadAnims ()
 
virtual void createCollision ()=0
 
virtual void loadRail ()
 
virtual void calcCollisionTransform ()=0
 
virtual u32 loadFlags () const
 
virtual const char * getKclName () const
 
virtual const EGG::Vector3fgetPosition () const
 
virtual f32 getCollisionRadius () const
 
ObjectId id () const
 
void setPos (const EGG::Vector3f &pos)
 

Protected Member Functions

void calcTransform ()
 
void linkAnims (const std::span< const char * > &names, const std::span< Render::AnmType > types)
 
void setMatrixTangentTo (const EGG::Vector3f &up, const EGG::Vector3f &tangent)
 

Static Protected Member Functions

static EGG::Vector3f RotateAxisAngle (f32 angle, const EGG::Vector3f &axis, const EGG::Vector3f &v1)
 
static void SetRotTangentHorizontal (EGG::Matrix34f &mat, const EGG::Vector3f &up, const EGG::Vector3f &tangent)
 
static EGG::Vector3f Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1)
 

Protected Attributes

Render::DrawMdlm_drawMdl
 
Abstract::g3d::ResFilem_resFile
 
ObjectId m_id
 
RailInterpolatorm_railInterpolator
 
BoxColUnitm_boxColUnit
 
u16 m_flags
 
EGG::Vector3f m_pos
 
EGG::Vector3f m_rot
 
EGG::Vector3f m_scale
 
EGG::Matrix34f m_transform
 
const System::MapdataGeoObjm_mapObj
 

Constructor & Destructor Documentation

◆ ObjectBase()

Field::ObjectBase::ObjectBase ( const System::MapdataGeoObj & params)
0x8081F828

Definition at line 16 of file ObjectBase.cc.

◆ ~ObjectBase()

Field::ObjectBase::~ObjectBase ( )
virtual0x8067E3C4

Definition at line 22 of file ObjectBase.cc.

Member Function Documentation

◆ calc()

virtual void Field::ObjectBase::calc ( )
inlinevirtual

Definition at line 21 of file ObjectBase.hh.

◆ calcModel()

void Field::ObjectBase::calcModel ( )
virtual0x808217B8

Definition at line 28 of file ObjectBase.cc.

◆ calcTransform()

void Field::ObjectBase::calcTransform ( )
protected0x80821640

Definition at line 89 of file ObjectBase.cc.

◆ getCollisionRadius()

virtual f32 Field::ObjectBase::getCollisionRadius ( ) const
inlinenodiscardvirtual0x8080BDC0

Reimplemented in Field::ObjectCollidable.

Definition at line 45 of file ObjectBase.hh.

◆ getKclName()

const char * Field::ObjectBase::getKclName ( ) const
nodiscardvirtual0x806806DC

Reimplemented in Field::ObjectKinokoUd.

Definition at line 81 of file ObjectBase.cc.

◆ getPosition()

virtual const EGG::Vector3f & Field::ObjectBase::getPosition ( ) const
inlinenodiscardvirtual0x80681598

Definition at line 40 of file ObjectBase.hh.

◆ getResources()

const char * Field::ObjectBase::getResources ( ) const
nodiscardvirtual0x80680730

Definition at line 33 of file ObjectBase.cc.

◆ id()

ObjectId Field::ObjectBase::id ( ) const
inlinenodiscard0x80572574

Definition at line 50 of file ObjectBase.hh.

◆ init()

virtual void Field::ObjectBase::init ( )
inlinevirtual

Definition at line 20 of file ObjectBase.hh.

◆ Interpolate()

static EGG::Vector3f Field::ObjectBase::Interpolate ( f32 t,
const EGG::Vector3f & v0,
const EGG::Vector3f & v1 )
inlinestaticnodiscardprotected0x8086C098

Definition at line 70 of file ObjectBase.hh.

◆ linkAnims()

void Field::ObjectBase::linkAnims ( const std::span< const char * > & names,
const std::span< Render::AnmType > types )
protected0x80820EB8

Definition at line 99 of file ObjectBase.cc.

◆ loadAnims()

virtual void Field::ObjectBase::loadAnims ( )
inlinevirtual

Definition at line 26 of file ObjectBase.hh.

◆ loadFlags()

virtual u32 Field::ObjectBase::loadFlags ( ) const
inlinenodiscardvirtual0x806BF434

Reimplemented in Field::ObjectKinoko.

Definition at line 32 of file ObjectBase.hh.

◆ loadGraphics()

void Field::ObjectBase::loadGraphics ( )
virtual0x8081FD10

Definition at line 41 of file ObjectBase.cc.

◆ loadRail()

void Field::ObjectBase::loadRail ( )
virtual0x80820980

Definition at line 59 of file ObjectBase.cc.

◆ RotateAxisAngle()

EGG::Vector3f Field::ObjectBase::RotateAxisAngle ( f32 angle,
const EGG::Vector3f & axis,
const EGG::Vector3f & v1 )
staticprotected0x806B3AC4

Definition at line 120 of file ObjectBase.cc.

◆ setMatrixTangentTo()

void Field::ObjectBase::setMatrixTangentTo ( const EGG::Vector3f & up,
const EGG::Vector3f & tangent )
protected0x80821910

Definition at line 113 of file ObjectBase.cc.

◆ setPos()

void Field::ObjectBase::setPos ( const EGG::Vector3f & pos)
inline

Definition at line 54 of file ObjectBase.hh.

◆ SetRotTangentHorizontal()

void Field::ObjectBase::SetRotTangentHorizontal ( EGG::Matrix34f & mat,
const EGG::Vector3f & up,
const EGG::Vector3f & tangent )
staticprotected0x806B41E0

Definition at line 129 of file ObjectBase.cc.

Member Data Documentation

◆ m_boxColUnit

BoxColUnit* Field::ObjectBase::m_boxColUnit
protected

Definition at line 79 of file ObjectBase.hh.

◆ m_drawMdl

Render::DrawMdl* Field::ObjectBase::m_drawMdl
protected

Definition at line 75 of file ObjectBase.hh.

◆ m_flags

u16 Field::ObjectBase::m_flags
protected

Definition at line 80 of file ObjectBase.hh.

◆ m_id

ObjectId Field::ObjectBase::m_id
protected

Definition at line 77 of file ObjectBase.hh.

◆ m_mapObj

const System::MapdataGeoObj* Field::ObjectBase::m_mapObj
protected

Definition at line 85 of file ObjectBase.hh.

◆ m_pos

EGG::Vector3f Field::ObjectBase::m_pos
protected

Definition at line 81 of file ObjectBase.hh.

◆ m_railInterpolator

RailInterpolator* Field::ObjectBase::m_railInterpolator
protected

Definition at line 78 of file ObjectBase.hh.

◆ m_resFile

Abstract::g3d::ResFile* Field::ObjectBase::m_resFile
protected

Definition at line 76 of file ObjectBase.hh.

◆ m_rot

EGG::Vector3f Field::ObjectBase::m_rot
protected

Definition at line 82 of file ObjectBase.hh.

◆ m_scale

EGG::Vector3f Field::ObjectBase::m_scale
protected

Definition at line 83 of file ObjectBase.hh.

◆ m_transform

EGG::Matrix34f Field::ObjectBase::m_transform
protected

Definition at line 84 of file ObjectBase.hh.