#include <ObjectBelt.hh>
The base class for a conveyor belt which induces road velocity.
Definition at line 8 of file ObjectBelt.hh.
Public Member Functions | |
| ObjectBelt (const System::MapdataGeoObj ¶ms) | |
| LoadFlags | loadFlags () const override |
| Returns a bitmask indicating which lifecycle hooks should be called for the object. | |
| void | createCollision () override |
| void | calcCollisionTransform () override |
| f32 | getCollisionRadius () const override |
| bool | checkPointPartial (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *) override |
| bool | checkPointPartialPush (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *) override |
| bool | checkPointFull (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfo *, KCLTypeMask *) override |
| bool | checkPointFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkSpherePartial (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *, u32) override |
| bool | checkSpherePartialPush (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *, u32) override |
| bool | checkSphereFull (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfo *, KCLTypeMask *, u32) override |
| bool | checkSphereFullPush (f32, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| bool | checkPointCachedPartial (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *) override |
| bool | checkPointCachedPartialPush (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *) override |
| bool | checkPointCachedFull (const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfo *, KCLTypeMask *) override |
| bool | checkPointCachedFullPush (const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut) override |
| bool | checkSphereCachedPartial (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *, u32) override |
| bool | checkSphereCachedPartialPush (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfoPartial *, KCLTypeMask *, u32) override |
| bool | checkSphereCachedFull (f32, const EGG::Vector3f &, const EGG::Vector3f &, KCLTypeMask, CollisionInfo *, KCLTypeMask *, u32) override |
| bool | checkSphereCachedFullPush (f32, const EGG::Vector3f &pos, const EGG::Vector3f &prevPos, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) override |
| virtual EGG::Vector3f | calcRoadVelocity (u32 variant, const EGG::Vector3f &pos, u32 timeOffset) const =0 |
| virtual bool | isMoving (u32 variant, const EGG::Vector3f &pos) const =0 |
| Public Member Functions inherited from Kinoko::Field::ObjectDrivable | |
| ObjectDrivable (const System::MapdataGeoObj ¶ms) | |
| void | load () override |
| f32 | getCollisionRadius () const override |
| virtual void | initCollision () |
| virtual void | loadAABB (f32 radius) |
| virtual void | narrScLocal (f32, const EGG::Vector3f &, KCLTypeMask, u32) |
| Public Member Functions inherited from Kinoko::Field::ObjectBase | |
| ObjectBase (const System::MapdataGeoObj ¶ms) | |
| ObjectBase (const char *name, const EGG::Vector3f &pos, const EGG::Vector3f &rot, const EGG::Vector3f &scale) | |
| virtual void | init () |
| virtual void | calc () |
| virtual void | calcModel () |
| virtual const char * | getResources () const |
| virtual void | loadGraphics () |
| virtual void | loadAnims () |
| virtual void | loadRail () |
| virtual const char * | getName () const |
| virtual const char * | getKclName () const |
| virtual void | resize (f32 radius, f32 maxSpeed) |
| virtual void | unregisterCollision () |
| virtual void | disableCollision () const |
| virtual void | enableCollision () const |
| virtual const BoxColUnit * | getUnit () const |
| const RailInterpolator * | railInterpolator () const |
| virtual const EGG::Vector3f & | getPosition () const |
| virtual ObjectId | id () const |
| void | setPos (const EGG::Vector3f &pos) |
| void | addPos (const EGG::Vector3f &v) |
| void | subPos (const EGG::Vector3f &v) |
| void | setScale (const EGG::Vector3f &scale) |
| void | setScale (f32 scale) |
| void | setRot (const EGG::Vector3f &rot) |
| void | setRotNoFlag (const EGG::Vector3f &rot) |
| void | addRot (const EGG::Vector3f &v) |
| void | subRot (const EGG::Vector3f &v) |
| void | setTransform (const EGG::Matrix34f &mat) |
| const EGG::Vector3f & | pos () const |
| const EGG::Vector3f & | scale () const |
| const EGG::Vector3f & | rot () const |
| const EGG::Matrix34f & | transform () |
Protected Attributes | |
| f32 | m_roadVel |
| Protected Attributes inherited from Kinoko::Field::ObjectBase | |
| Render::DrawMdl * | m_drawMdl |
| Abstract::g3d::ResFile * | m_resFile |
| ObjectId | m_id |
| RailInterpolator * | m_railInterpolator |
| BoxColUnit * | m_boxColUnit |
| const System::MapdataGeoObj * | m_mapObj |
Private Member Functions | |
| virtual bool | calcCollision (const EGG::Vector3f &v0, const EGG::Vector3f &v1, KCLTypeMask mask, CollisionInfo *info, KCLTypeMask *maskOut, u32 timeOffset) |
Additional Inherited Members | |
| Public Types inherited from Kinoko::Field::ObjectBase | |
| enum class | eFlags { Position = 0 , Rotation = 1 , Matrix = 2 , Scale = 3 } |
| enum class | eLoadFlags { Calc = 0 , Draw = 1 , AlwaysRecalc = 2 } |
| Describes whether the object needs to be updated every frame. More... | |
| typedef EGG::TBitFlag< u16, eFlags > | Flags |
| typedef EGG::TBitFlag< u8, eLoadFlags > | LoadFlags |
| A bitfield of eLoadFlags that represents the update requirements of the object. | |
| Protected Member Functions inherited from Kinoko::Field::ObjectBase | |
| void | calcTransform () |
| void | calcRotLock () |
| void | linkAnims (const std::span< const char * > &names, const std::span< Render::AnmType > types) |
| void | setMatrixTangentTo (const EGG::Vector3f &up, const EGG::Vector3f &tangent) |
| void | setMatrixFromOrthonormalBasisAndPos (const EGG::Vector3f &v) |
| Static Protected Member Functions inherited from Kinoko::Field::ObjectBase | |
| static f32 | CheckPointAgainstLineSegment (const EGG::Vector3f &point, const EGG::Vector3f &a, const EGG::Vector3f &b) |
| Calculates on what side of line segment ab point lies. | |
| static EGG::Vector3f | RotateXZByYaw (f32 angle, const EGG::Vector3f &v) |
| Rotates a vector around the Y-axis and returns the XZ-plane portion of the vector. | |
| 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::Matrix34f | OrthonormalBasis (const EGG::Vector3f &v) |
| static EGG::Vector3f | AdjustVecForward (f32 sidewaysScalar, f32 forwardScalar, f32 minSpeed, const EGG::Vector3f &src, EGG::Vector3f forward) |
| static f32 | CalcParabolicDisplacement (f32 initVel, f32 accel, u32 frame) |
| Solves the standard kinematic equation \(y(t) = v_0\, t - \frac{1}{2} a t^{2}\). | |
| static EGG::Vector3f | Interpolate (f32 t, const EGG::Vector3f &v0, const EGG::Vector3f &v1) |
|
0x807FC248 |
Definition at line 10 of file ObjectBelt.cc.
|
overridedefault0x807FC5EC |
|
nodiscardprivatevirtual0x807FC294 |
Definition at line 17 of file ObjectBelt.cc.
|
inlineoverridevirtual0x807FD794 |
Implements Kinoko::Field::ObjectBase.
Definition at line 22 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD704 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 101 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD70C |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 108 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6F4 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 87 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6FC |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 94 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD760 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 44 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD768 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 51 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD750 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 30 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD758 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 37 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6DC |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 131 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6E4 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 138 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6CC |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 115 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD6D4 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 123 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD738 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 73 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD740 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 80 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD728 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 57 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD730 |
Implements Kinoko::Field::ObjectDrivable.
Definition at line 65 of file ObjectBelt.hh.
|
inlineoverridevirtual0x807FD798 |
Implements Kinoko::Field::ObjectBase.
Definition at line 19 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD784 |
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 25 of file ObjectBelt.hh.
|
inlinenodiscardoverridevirtual0x807FD79C |
Returns a bitmask indicating which lifecycle hooks should be called for the object.
In Kinoko, the only effective behavior of this bitmask is to determine whether calc() should be called. The other bits are unused.
Reimplemented from Kinoko::Field::ObjectBase.
Definition at line 14 of file ObjectBelt.hh.
|
protected |
Definition at line 150 of file ObjectBelt.hh.