#include <icollision.h>
Public Member Functions |
|
CollisionSphere () | |
~CollisionSphere () | |
int | SuppportedCollisions () |
void | PreFrame (TimeValue t, TimeValue dt) |
void | PostFrame (TimeValue t, TimeValue dt) |
BOOL | CheckCollision (TimeValue t, Point3 pos, Point3 vel, float dt, float &at, Point3 &hitPoint, Point3 &norm, Point3 &friction, Point3 &inheritedVel) |
BOOL | CheckCollision (TimeValue t, Point3 pos, float radius, Point3 vel, float dt, float &at, Point3 &hitPoint, Point3 &norm, Point3 &friction, Point3 &inheritedVel) |
BOOL | CheckCollision (TimeValue t, Box3 box, Point3 vel, float dt, float &at, Point3 &hitPoint, Point3 &norm, Point3 &friction, Point3 &inheritedVel) |
BOOL | CheckCollision (TimeValue t, Point3 edgeA, Point3 edgeB, Point3 vel, float dt, float &at, Point3 &hitPoint, Point3 &norm, Point3 &friction, Point3 &inheritedVel) |
void | SetRadius (TimeValue t, float r) |
void | SetNode (TimeValue t, INode *n) |
void | SetRadius (Control *c) |
void | DeleteThis () |
Class_ID | ClassID () |
SClass_ID | SuperClassID () |
int | NumRefs () |
RefTargetHandle | GetReference (int i) |
RefTargetHandle | Clone (RemapDir &remap) |
RefResult | NotifyRefChanged (Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message) |
Public Attributes |
|
IParamBlock2 * | pblock |
Interval | validity |
Matrix3 | tm |
Matrix3 | invtm |
Matrix3 | prevInvTm |
Point3 | Vc |
float | radius |
Protected Member Functions |
|
virtual void | SetReference (int i, RefTargetHandle rtarg) |
CollisionSphere | ( | ) |
~CollisionSphere | ( | ) |
int SuppportedCollisions | ( | ) | [inline, virtual] |
Implements ICollision.
{
return POINT_COLLISION;
}
void PreFrame | ( | TimeValue | t, |
TimeValue | dt | ||
) | [virtual] |
Implements ICollision.
void PostFrame | ( | TimeValue | t, |
TimeValue | dt | ||
) | [inline, virtual] |
Implements ICollision.
{}
BOOL CheckCollision | ( | TimeValue | t, |
Point3 | pos, | ||
Point3 | vel, | ||
float | dt, | ||
float & | at, | ||
Point3 & | hitPoint, | ||
Point3 & | norm, | ||
Point3 & | friction, | ||
Point3 & | inheritedVel | ||
) | [virtual] |
Implements ICollision.
BOOL CheckCollision | ( | TimeValue | t, |
Point3 | pos, | ||
float | radius, | ||
Point3 | vel, | ||
float | dt, | ||
float & | at, | ||
Point3 & | hitPoint, | ||
Point3 & | norm, | ||
Point3 & | friction, | ||
Point3 & | inheritedVel | ||
) | [inline, virtual] |
Implements ICollision.
{
return FALSE;
}
BOOL CheckCollision | ( | TimeValue | t, |
Box3 | box, | ||
Point3 | vel, | ||
float | dt, | ||
float & | at, | ||
Point3 & | hitPoint, | ||
Point3 & | norm, | ||
Point3 & | friction, | ||
Point3 & | inheritedVel | ||
) | [inline, virtual] |
Implements ICollision.
{
return FALSE;
}
BOOL CheckCollision | ( | TimeValue | t, |
Point3 | edgeA, | ||
Point3 | edgeB, | ||
Point3 | vel, | ||
float | dt, | ||
float & | at, | ||
Point3 & | hitPoint, | ||
Point3 & | norm, | ||
Point3 & | friction, | ||
Point3 & | inheritedVel | ||
) | [inline, virtual] |
Implements ICollision.
{
return FALSE;
}
void SetRadius | ( | TimeValue | t, |
float | r | ||
) | [inline] |
{ if (!pblock->GetControllerByID(collisionsphere_radius)) pblock->SetValue(collisionsphere_radius,t,r); }
void SetNode | ( | TimeValue | t, |
INode * | n | ||
) | [inline] |
{ { HoldSuspend hs; pblock->SetValue(collisionsphere_node,t,n); } node = n; }
void SetRadius | ( | Control * | c | ) | [inline] |
{ pblock->SetControllerByID(collisionsphere_radius,0,c,FALSE); }
void DeleteThis | ( | ) | [virtual] |
Class_ID ClassID | ( | ) | [inline, virtual] |
Reimplemented from Animatable.
{return SPHERICAL_COLLISION_ID;}
SClass_ID SuperClassID | ( | ) | [inline, virtual] |
Reimplemented from ReferenceTarget.
{return REF_MAKER_CLASS_ID;}
int NumRefs | ( | ) | [inline, virtual] |
Reimplemented from ReferenceMaker.
{ return 1; }
RefTargetHandle GetReference | ( | int | i | ) | [inline, virtual] |
Reimplemented from ReferenceMaker.
{ return pblock; }
virtual void SetReference | ( | int | i, |
RefTargetHandle | rtarg | ||
) | [inline, protected, virtual] |
Reimplemented from ReferenceMaker.
{pblock = (IParamBlock2*)rtarg;}
RefTargetHandle Clone | ( | RemapDir & | remap | ) | [virtual] |
Reimplemented from ReferenceTarget.
RefResult NotifyRefChanged | ( | Interval | changeInt, |
RefTargetHandle | hTarget, | ||
PartID & | partID, | ||
RefMessage | message | ||
) | [virtual] |
Implements ReferenceMaker.