#include <icollision.h>
Public Member Functions |
|
| CollisionPlane () | |
| ~CollisionPlane () | |
| 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 | SetWidth (TimeValue t, float w) |
| void | SetHeight (TimeValue t, float h) |
| void | SetQuality (TimeValue t, int q) |
| void | SetNode (TimeValue t, INode *n) |
| void | SetWidth (Control *c) |
| void | SetHeight (Control *c) |
| void | SetQuality (Control *c) |
| void | DeleteThis () |
| Class_ID | ClassID () |
| SClass_ID | SuperClassID () |
| virtual void | GetClassName (MSTR &s) |
| Retrieves the name of the plugin class.
|
|
| 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 |
| int | initialTime |
| Tab< Matrix3 > | invTmList |
| float | width |
| float | height |
| int | quality |
Protected Member Functions |
|
| virtual void | SetReference (int i, RefTargetHandle rtarg) |
| CollisionPlane | ( | ) |
| ~CollisionPlane | ( | ) |
| int SuppportedCollisions | ( | ) | [inline, virtual] |
Implements ICollision.
{
return POINT_COLLISION;
}
Implements ICollision.
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 SetWidth | ( | TimeValue | t, |
| float | w | ||
| ) | [inline] |
{ if (!pblock->GetControllerByID(collisionplane_width)) pblock->SetValue(collisionplane_width,t,w); }
| void SetHeight | ( | TimeValue | t, |
| float | h | ||
| ) | [inline] |
{ if (!pblock->GetControllerByID(collisionplane_height)) pblock->SetValue(collisionplane_height,t,h); }
| void SetQuality | ( | TimeValue | t, |
| int | q | ||
| ) | [inline] |
{ if (!pblock->GetControllerByID(collisionplane_quality)) pblock->SetValue(collisionplane_quality,t,q); }
{
{
HoldSuspend hs;
pblock->SetValue(collisionplane_node,t,n);
}
node = n;
}
| void SetWidth | ( | Control * | c | ) | [inline] |
{ pblock->SetControllerByID(collisionplane_width,0,c,FALSE); }
| void SetHeight | ( | Control * | c | ) | [inline] |
{ pblock->SetControllerByID(collisionplane_height,0,c,FALSE); }
| void SetQuality | ( | Control * | c | ) | [inline] |
{ pblock->SetControllerByID(collisionplane_quality,0,c,FALSE); }
| void DeleteThis | ( | ) | [virtual] |
| Class_ID ClassID | ( | ) | [inline, virtual] |
Reimplemented from Animatable.
{return PLANAR_COLLISION_ID;}
| SClass_ID SuperClassID | ( | ) | [inline, virtual] |
Reimplemented from ReferenceTarget.
{return REF_MAKER_CLASS_ID;}
| virtual void GetClassName | ( | MSTR & | s | ) | [inline, virtual] |
Retrieves the name of the plugin class.
| s | Reference to a string filled in with the name of the plugin class |
Reimplemented from ReferenceTarget.
{ s = _M("CollisionPlane"); }
| 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.