SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
ParallelGravity Class Reference
Inheritance diagram for ParallelGravity:
PlanetGravity

Public Types

enum  RANGE_TYPE { RangeType_Sphere = 0 , RangeType_Box = 1 , RangeType_Cylinder = 2 }
 
enum  DISTANCE_CALC_TYPE { DistanceCalcType_Default = -1 , DistanceCalcType_X = 0 , DistanceCalcType_Y = 1 , DistanceCalcType_Z = 2 }
 

Public Member Functions

virtual void updateMtx (const TPos3f &rMtx)
 
virtual bool calcOwnGravityVector (TVec3f *pDest, f32 *pScalar, const TVec3f &rPosition) const
 
void setPlane (const TVec3f &rPlaneUp, const TVec3f &rPlanePos)
 
void setRangeBox (const TPos3f &)
 
void setRangeCylinder (f32 radius, f32 height)
 
void setRangeType (RANGE_TYPE rangeType)
 
void setBaseDistance (f32 val)
 
void setDistanceCalcType (DISTANCE_CALC_TYPE distanceCalcType)
 
bool isInSphereRange (const TVec3f &rPosition, f32 *pScalar) const
 
bool isInBoxRange (const TVec3f &rPosition, f32 *pScalar) const
 
bool isInCylinderRange (const TVec3f &rPosition, f32 *pScalar) const
 
bool isInRange (const TVec3f &rPosition, f32 *pScalar) const
 
- Public Member Functions inherited from PlanetGravity
bool calcGravity (TVec3f *pDest, const TVec3f &rPosition) const
 
bool calcGravityFromMassPosition (TVec3f *pDirection, f32 *pScalar, const TVec3f &rPosition, const TVec3f &rMassPosition) const
 
bool isInRangeSquare (f32 radius) const
 
bool isInRangeDistance (f32 radius) const
 
void setPriority (s32 priority)
 
void updateIdentityMtx ()
 

Public Attributes

TPos3f mLocalMtx
 
TPos3f mWorldMtx
 
f32 mExtentX
 
f32 mExtentY
 
f32 mExtentZ
 
TVec3f mPlanePosition
 
TVec3f mPlaneUpVec
 
TVec3f mWorldPlanePosition
 
TVec3f mWorldPlaneUpVec
 
f32 mCylinderHeight
 
f32 mCylinderRadius
 
f32 mBaseDistance
 
RANGE_TYPE mRangeType
 
DISTANCE_CALC_TYPE mDistanceCalcType
 
- Public Attributes inherited from PlanetGravity
f32 mRange
 
f32 mDistant
 
s32 mPriority
 
s32 mGravityId
 
const void * mHost
 
u32 mGravityType
 
s32 mGravityPower
 
bool mActivated
 
bool mIsInverse
 
bool mValidFollower
 
bool mIsRegistered
 
bool mAppeared
 

Detailed Description

Definition at line 5 of file ParallelGravity.hpp.

Member Enumeration Documentation

◆ RANGE_TYPE

enum ParallelGravity::RANGE_TYPE

Definition at line 7 of file ParallelGravity.hpp.

◆ DISTANCE_CALC_TYPE

enum ParallelGravity::DISTANCE_CALC_TYPE

Definition at line 13 of file ParallelGravity.hpp.

Constructor & Destructor Documentation

◆ ParallelGravity()

ParallelGravity::ParallelGravity ( )

Definition at line 6 of file ParallelGravity.cpp.

Member Function Documentation

◆ updateMtx()

virtual void ParallelGravity::updateMtx ( const TPos3f & rMtx)
virtual

Reimplemented from PlanetGravity.

◆ calcOwnGravityVector()

bool ParallelGravity::calcOwnGravityVector ( TVec3f * pDest,
f32 * pScalar,
const TVec3f & rPosition ) const
virtual

Reimplemented from PlanetGravity.

Definition at line 22 of file ParallelGravity.cpp.

◆ setPlane()

void ParallelGravity::setPlane ( const TVec3f & rPlaneUp,
const TVec3f & rPlanePos )

Definition at line 54 of file ParallelGravity.cpp.

◆ setRangeCylinder()

void ParallelGravity::setRangeCylinder ( f32 radius,
f32 height )

Definition at line 77 of file ParallelGravity.cpp.

◆ setRangeType()

void ParallelGravity::setRangeType ( RANGE_TYPE rangeType)

Definition at line 82 of file ParallelGravity.cpp.

◆ setBaseDistance()

void ParallelGravity::setBaseDistance ( f32 val)

Definition at line 86 of file ParallelGravity.cpp.

◆ setDistanceCalcType()

void ParallelGravity::setDistanceCalcType ( DISTANCE_CALC_TYPE distanceCalcType)

Definition at line 95 of file ParallelGravity.cpp.

◆ isInSphereRange()

bool ParallelGravity::isInSphereRange ( const TVec3f & rPosition,
f32 * pScalar ) const

Definition at line 99 of file ParallelGravity.cpp.

◆ isInBoxRange()

bool ParallelGravity::isInBoxRange ( const TVec3f & rPosition,
f32 * pScalar ) const

Definition at line 114 of file ParallelGravity.cpp.

◆ isInCylinderRange()

bool ParallelGravity::isInCylinderRange ( const TVec3f & rPosition,
f32 * pScalar ) const

Definition at line 169 of file ParallelGravity.cpp.

◆ isInRange()

bool ParallelGravity::isInRange ( const TVec3f & rPosition,
f32 * pScalar ) const

Definition at line 196 of file ParallelGravity.cpp.

Member Data Documentation

◆ mLocalMtx

TPos3f ParallelGravity::mLocalMtx

Definition at line 36 of file ParallelGravity.hpp.

◆ mWorldMtx

TPos3f ParallelGravity::mWorldMtx

Definition at line 37 of file ParallelGravity.hpp.

◆ mExtentX

f32 ParallelGravity::mExtentX

Definition at line 38 of file ParallelGravity.hpp.

◆ mExtentY

f32 ParallelGravity::mExtentY

Definition at line 39 of file ParallelGravity.hpp.

◆ mExtentZ

f32 ParallelGravity::mExtentZ

Definition at line 40 of file ParallelGravity.hpp.

◆ mPlanePosition

TVec3f ParallelGravity::mPlanePosition

Definition at line 41 of file ParallelGravity.hpp.

◆ mPlaneUpVec

TVec3f ParallelGravity::mPlaneUpVec

Definition at line 42 of file ParallelGravity.hpp.

◆ mWorldPlanePosition

TVec3f ParallelGravity::mWorldPlanePosition

Definition at line 43 of file ParallelGravity.hpp.

◆ mWorldPlaneUpVec

TVec3f ParallelGravity::mWorldPlaneUpVec

Definition at line 44 of file ParallelGravity.hpp.

◆ mCylinderHeight

f32 ParallelGravity::mCylinderHeight

Definition at line 45 of file ParallelGravity.hpp.

◆ mCylinderRadius

f32 ParallelGravity::mCylinderRadius

Definition at line 46 of file ParallelGravity.hpp.

◆ mBaseDistance

f32 ParallelGravity::mBaseDistance

Definition at line 47 of file ParallelGravity.hpp.

◆ mRangeType

RANGE_TYPE ParallelGravity::mRangeType

Definition at line 48 of file ParallelGravity.hpp.

◆ mDistanceCalcType

DISTANCE_CALC_TYPE ParallelGravity::mDistanceCalcType

Definition at line 49 of file ParallelGravity.hpp.