Public Member Functions | Private Member Functions | Private Attributes

PhysicalAttributes Class Reference

Collaboration diagram for PhysicalAttributes:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 PhysicalAttributes ()
 PhysicalAttributes (const Vector3 &position, const Euler &euler, const Vector3 &minPoint, const Vector3 &maxPoint, Scalar slopeA=Scalar::zero, Scalar slopeB=Scalar::zero, Scalar slopeC=Scalar::zero, Scalar slopeD=Scalar::zero)
 ~PhysicalAttributes ()
void Construct (const Vector3 &position, const Euler &euler, const Vector3 &minPoint, const Vector3 &maxPoint, Scalar slopeA=Scalar::zero, Scalar slopeB=Scalar::zero, Scalar slopeC=Scalar::zero, Scalar slopeD=Scalar::zero)
void Validate () const
const Vector3Position () const
void SetPosition (const Vector3 &position)
Euler Rotation () const
void SetRotation (const Euler &newRot)
void AddRotation (const Euler rotation)
void RotateAboutAxis (const Vector3 &axis, const Angle rotation)
const Matrix34 Matrix () const
void SetMatrix (const Matrix34 &matrix)
const Vector3LinVelocity () const
void SetLinVelocity (const Vector3 &newLinVelocity)
void AddLinVelocity (const Vector3 &addedLinVelocity)
const ColSpaceGetColSpace () const
void SetColSpace (const Vector3 &minPoint, const Vector3 &maxPoint)
Vector3 Min () const
Vector3 Max () const
bool FullCollisionCheck (const PhysicalAttributes &other, const Clock &clock) const
bool CheckCoarseCollision (const PhysicalAttributes &other) const
bool CheckCollision (const PhysicalAttributes &other) const
bool CheckCollision (const Vector3 &other) const
void Update ()
bool PremoveCollisionCheck (const PhysicalAttributes &other) const
bool ContainsSlope () const
Scalar TimeToHitSlope (const PhysicalAttributes &other, Scalar deltaT) const
const Vector3SlopeNormal () const
const Vector3PredictedPosition () const
void SetPredictedPosition (const Vector3 &newPosition)
const Vector3 GetDeltaPos () const
const Vector3OldLinVelocity () const
void SetOldLinVelocity (const Vector3 &velocity)
Vector3 MeanVelocity () const
bool HasRunPredictPosition () const
void HasRunPredictPosition (bool)
bool HasRunUpdate () const
void HasRunUpdate (bool)

Private Member Functions

bool CheckSurrounds (const PhysicalAttributes &other) const
bool ThirdCollisionCheck (const PhysicalAttributes &other, Scalar deltaT) const
bool ThirdCollisionCheckWithSlope (const PhysicalAttributes &other) const
void ComputeOverlapTimes (Scalar actor1MinEdge, Scalar actor1MaxEdge, Scalar actor2MinEdge, Scalar actor2MaxEdge, Scalar relativeVelocity, Scalar &overlapStartTime, Scalar &overlapEndTime, Scalar deltaT) const

Private Attributes

Euler _orientation
Vector3 _position
Vector3 _predictedPosition
ColSpace _colSpace
Vector3 linVelocity
Vector3 oldLinVelocity
unsigned _hasRunPredictPosition: 1
unsigned _hasRunUpdate: 1

Detailed Description

Definition at line 52 of file physical.hp.


Constructor & Destructor Documentation

INLINE PhysicalAttributes::PhysicalAttributes (  ) 

Definition at line 89 of file physical.hpi.

References _hasRunPredictPosition, _hasRunUpdate, _position, and Vector3::zero.

INLINE PhysicalAttributes::PhysicalAttributes ( const Vector3 position,
const Euler euler,
const Vector3 minPoint,
const Vector3 maxPoint,
Scalar  slopeA = Scalar::zero,
Scalar  slopeB = Scalar::zero,
Scalar  slopeC = Scalar::zero,
Scalar  slopeD = Scalar::zero 
)

Definition at line 141 of file physical.hpi.

References Construct().

INLINE PhysicalAttributes::~PhysicalAttributes (  ) 

Definition at line 208 of file physical.hpi.


Member Function Documentation

INLINE void PhysicalAttributes::AddLinVelocity ( const Vector3 addedLinVelocity  ) 
INLINE void PhysicalAttributes::AddRotation ( const Euler  rotation  ) 

Definition at line 294 of file physical.hpi.

References _orientation, and Vector3::zero.

Referenced by AirHandler::predictPosition().

INLINE bool PhysicalAttributes::CheckCoarseCollision ( const PhysicalAttributes other  )  const

Definition at line 444 of file physical.hpi.

References _colSpace, ColSpace::CheckCoarseCollision(), and Position().

Referenced by Room::CheckCollision().

INLINE bool PhysicalAttributes::CheckCollision ( const PhysicalAttributes other  )  const
INLINE bool PhysicalAttributes::CheckCollision ( const Vector3 other  )  const

Definition at line 452 of file physical.hpi.

References _colSpace, ColSpace::CheckCollision(), and Position().

INLINE bool PhysicalAttributes::CheckSurrounds ( const PhysicalAttributes other  )  const [private]

Definition at line 460 of file physical.hpi.

void PhysicalAttributes::ComputeOverlapTimes ( Scalar  actor1MinEdge,
Scalar  actor1MaxEdge,
Scalar  actor2MinEdge,
Scalar  actor2MaxEdge,
Scalar  relativeVelocity,
Scalar overlapStartTime,
Scalar overlapEndTime,
Scalar  deltaT 
) const [private]

Definition at line 202 of file physical.cc.

References AssertMsg, DBSTREAM3, Scalar::one, and Scalar::zero.

Referenced by ThirdCollisionCheck().

INLINE void PhysicalAttributes::Construct ( const Vector3 position,
const Euler euler,
const Vector3 minPoint,
const Vector3 maxPoint,
Scalar  slopeA = Scalar::zero,
Scalar  slopeB = Scalar::zero,
Scalar  slopeC = Scalar::zero,
Scalar  slopeD = Scalar::zero 
) [inline]
INLINE bool PhysicalAttributes::ContainsSlope (  )  const [inline]
bool PhysicalAttributes::FullCollisionCheck ( const PhysicalAttributes other,
const Clock clock 
) const

Definition at line 104 of file physical.cc.

References CheckCollision(), DBSTREAM3, Clock::Delta(), and ThirdCollisionCheck().

Referenced by CollideObjectWithList().

INLINE const ColSpace & PhysicalAttributes::GetColSpace (  )  const
INLINE const Vector3 PhysicalAttributes::GetDeltaPos (  )  const

Definition at line 364 of file physical.hpi.

References _predictedPosition, and Position().

Referenced by AirHandler::predictPosition(), and GroundHandler::predictPosition().

bool PhysicalAttributes::HasRunPredictPosition (  )  const [inline]
void PhysicalAttributes::HasRunPredictPosition ( bool  newSetting  )  [inline]

Definition at line 118 of file physical.hpi.

References _hasRunPredictPosition.

bool PhysicalAttributes::HasRunUpdate (  )  const [inline]
void PhysicalAttributes::HasRunUpdate ( bool  newSetting  )  [inline]

Definition at line 132 of file physical.hpi.

References _hasRunUpdate.

INLINE const Vector3 & PhysicalAttributes::LinVelocity (  )  const
INLINE const Matrix34 PhysicalAttributes::Matrix (  )  const

Definition at line 323 of file physical.hpi.

References _orientation, and _position.

Referenced by RenderActor3D::Render(), and Light::Set().

INLINE Vector3 PhysicalAttributes::Max (  )  const
INLINE Vector3 PhysicalAttributes::MeanVelocity (  )  const [inline]
INLINE Vector3 PhysicalAttributes::Min (  )  const

Definition at line 512 of file physical.hpi.

References _colSpace, ColSpace::Min(), and Position().

Referenced by Tool::activate(), CollideObjectWithList(), and ClimbHandler::update().

INLINE const Vector3 & PhysicalAttributes::OldLinVelocity (  )  const [inline]

Definition at line 373 of file physical.hpi.

References oldLinVelocity.

Referenced by AirHandler::predictPosition(), and ResolveCollisionEvent().

INLINE const Vector3 & PhysicalAttributes::Position (  )  const [inline]
INLINE const Vector3 & PhysicalAttributes::PredictedPosition (  )  const [inline]
INLINE bool PhysicalAttributes::PremoveCollisionCheck ( const PhysicalAttributes other  )  const [inline]
void PhysicalAttributes::RotateAboutAxis ( const Vector3 axis,
const Angle  rotation 
)
INLINE Euler PhysicalAttributes::Rotation (  )  const
INLINE void PhysicalAttributes::SetColSpace ( const Vector3 minPoint,
const Vector3 maxPoint 
) [inline]

Definition at line 238 of file physical.hpi.

References _colSpace, and ColSpace::SetBox().

Referenced by Camera::Camera().

INLINE void PhysicalAttributes::SetLinVelocity ( const Vector3 newLinVelocity  ) 
INLINE void PhysicalAttributes::SetMatrix ( const Matrix34 matrix  ) 

Definition at line 335 of file physical.hpi.

References _orientation, _position, and Matrix34::AsEuler().

Referenced by Update().

INLINE void PhysicalAttributes::SetOldLinVelocity ( const Vector3 velocity  )  [inline]

Definition at line 382 of file physical.hpi.

References oldLinVelocity.

Referenced by ResolveCollisionEvent().

INLINE void PhysicalAttributes::SetPosition ( const Vector3 position  )  [inline]
INLINE void PhysicalAttributes::SetPredictedPosition ( const Vector3 newPosition  )  [inline]
INLINE void PhysicalAttributes::SetRotation ( const Euler newRot  ) 
INLINE const Vector3 & PhysicalAttributes::SlopeNormal (  )  const [inline]

Definition at line 504 of file physical.hpi.

References _colSpace, and ColSpace::SlopeNormal().

Referenced by ComputeCollisionEventTime(), and GroundHandler::predictPosition().

bool PhysicalAttributes::ThirdCollisionCheck ( const PhysicalAttributes other,
Scalar  deltaT 
) const [private]
bool PhysicalAttributes::ThirdCollisionCheckWithSlope ( const PhysicalAttributes other  )  const [private]
INLINE Scalar PhysicalAttributes::TimeToHitSlope ( const PhysicalAttributes other,
Scalar  deltaT 
) const [inline]

Definition at line 496 of file physical.hpi.

References _colSpace, MeanVelocity(), Position(), and ColSpace::TimeToHitSlope().

Referenced by ComputeCollisionEventTime().

INLINE void PhysicalAttributes::Update (  ) 
void PhysicalAttributes::Validate (  )  const [inline]

Member Data Documentation

Definition at line 152 of file physical.hp.

Referenced by HasRunPredictPosition(), and PhysicalAttributes().

Definition at line 153 of file physical.hp.

Referenced by HasRunUpdate(), and PhysicalAttributes().

Definition at line 138 of file physical.hp.

Referenced by AddRotation(), Construct(), Matrix(), Rotation(), SetMatrix(), and SetRotation().

Definition at line 139 of file physical.hp.

Referenced by Construct(), Matrix(), PhysicalAttributes(), Position(), SetMatrix(), and SetPosition().

Definition at line 148 of file physical.hp.

Referenced by AddLinVelocity(), LinVelocity(), MeanVelocity(), and SetLinVelocity().

Definition at line 149 of file physical.hp.

Referenced by MeanVelocity(), OldLinVelocity(), and SetOldLinVelocity().


The documentation for this class was generated from the following files: