Mount Fuji Engine
0.8b
|
Data Structures | |
struct | MFCollisionTriangle |
Collision triangle structure. More... | |
struct | MFCollisionResult |
Collision result structure. More... | |
struct | MFRayIntersectionResult |
Ray intersection result structure. More... | |
struct | MFSweepSphereResult |
Sweep sphere result structure. More... | |
struct | MFCollisionItem |
Represents a Fuji collision item. More... | |
Enumerations | |
enum | MFCollisionType { MFCT_Unknown, MFCT_Sphere, MFCT_Box, MFCT_Mesh, MFCT_Field, MFCT_Max, MFCT_ForceInt = 0x7FFFFFFF } |
Collision item type. More... | |
enum | MFCollisionItemFlags { MFCIF_Dynamic = 1, MFCIF_Disabled = 2, MFCIF_ForceInt = 0x7FFFFFFF } |
Collision item flags. More... | |
Functions | |
MF_API void | MFCollision_DebugDraw () |
Draw the collision debugging information. More... | |
MFVector & | MFCollision_NearestPointOnLine (const MFVector &lineStart, const MFVector &lineEnd, const MFVector &point, MFVector *pOutput) |
Get nearest point on a line. More... | |
MFVector | MFCollision_MakePlaneFromPoints (const MFVector &p0, const MFVector &p1, const MFVector &p2) |
Generate a plane from 3 points. More... | |
MFVector | MFCollision_MakePlaneFromPointAndNormal (const MFVector &point, const MFVector &normal) |
Generate a plane from a point and a normal. More... | |
MF_API void | MFCollision_MakeCollisionTriangleFromPoints (const MFVector &p0, const MFVector &p1, const MFVector &p2, MFCollisionTriangle *pTri) |
Generate a collision triangle from 3 points. More... | |
bool | MFCollision_TestAABB (const MFVector &min1, const MFVector &max1, const MFVector &min2, const MFVector &max2) |
Test 2 axis aligned bounding boxes for intersection. More... | |
MF_API MFCollisionItem * | MFCollision_RayTest (const MFVector &rayPos, const MFVector &rayDir, MFCollisionItem *pItem, MFRayIntersectionResult *pResult) |
Test a ray for intersection with an arbitrary CollisionItem. More... | |
MF_API MFCollisionItem * | MFCollision_SphereTest (const MFVector &spherePos, float radius, MFCollisionItem *pItem, MFCollisionResult *pResult) |
Test a sphere for intersection with an arbitrary CollisionItem. More... | |
MF_API MFCollisionItem * | MFCollision_SweepSphereTest (const MFVector &sweepSpherePos, const MFVector &sweepSphereVelocity, float sweepSphereRadius, MFCollisionItem *pItem, MFSweepSphereResult *pResult) |
Test a sweeping sphere for intersection with an arbitrary CollisionItem. More... | |
bool | MFCollision_RayPlaneTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &plane, MFRayIntersectionResult *pResult=NULL) |
Intersect a ray with a plane. More... | |
MF_API bool | MFCollision_RaySlabTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &plane, float slabHalfWidth, MFRayIntersectionResult *pResult=NULL) |
Intersect a ray with a slab. More... | |
MF_API bool | MFCollision_RaySphereTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &spherePos, float radius, MFRayIntersectionResult *pResult=NULL) |
Intersect a ray with a sphere. More... | |
MF_API bool | MFCollision_RayCylinderTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &cylinderPos, const MFVector &cylinderDir, float cylinderRadius, bool capped, MFRayIntersectionResult *pResult=NULL, float *pCylinderTime=NULL) |
Intersect a ray with a cylinder. More... | |
MF_API bool | MFCollision_RayCapsuleTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &capsulePos, const MFVector &capsuleDir, float capsuleRadius, MFRayIntersectionResult *pResult=NULL) |
Intersect a ray with a capsule. More... | |
MF_API bool | MFCollision_RayBoxTest (const MFVector &rayPos, const MFVector &rayDir, const MFVector &boxPos, const MFVector &boxRadius, MFRayIntersectionResult *pResult=NULL) |
Intersect a ray with a box. More... | |
MF_API bool | MFCollision_SpherePlaneTest (const MFVector &spherePos, float radius, const MFVector &plane, MFCollisionResult *pResult) |
Intersect a sphere with a plane. More... | |
MF_API bool | MFCollision_SphereSphereTest (const MFVector &pos1, float radius1, const MFVector &pos2, float radius2, MFCollisionResult *pResult) |
Intersect a sphere with a sphere. More... | |
MF_API bool | MFCollision_SweepSphereSphereTest (const MFVector &sweepSpherePos, const MFVector &sweepSphereVelocity, float sweepSphereRadius, const MFVector &sphere, float sphereRadius, MFSweepSphereResult *pResult) |
Intersect a sweeping sphere with a sphere. More... | |
MF_API bool | MFCollision_SweepSphereTriTest (const MFVector &sweepSpherePos, const MFVector &sweepSphereVelocity, float sweepSphereRadius, const MFCollisionTriangle &tri, MFSweepSphereResult *pResult) |
Intersect a sweeping sphere with a triangle. More... | |
MF_API MFCollisionItem * | MFCollision_CreateDynamicCollisionMesh (const char *pItemName, int numTris) |
Create a dynamic mesh collision item. More... | |
MF_API MFCollisionTriangle * | MFCollision_LockDynamicCollisionMeshTriangleBuffer (MFCollisionItem *pDynamicCollisionMesh) |
Lock a dynamic collision mesh triangle buffer. More... | |
MF_API void | MFCollision_UnlockDynamicCollisionMeshTriangleBuffer (MFCollisionItem *pDynamicCollisionMesh) |
Unlock a dynamic collision mesh triangle buffer. More... | |
MF_API void | MFCollision_DestroyDynamicCollisionItem (MFCollisionItem *pItem) |
Destroy a dynamic collision item. More... | |
MF_API MFCollisionItem * | MFCollision_CreateField (const char *pFieldName, int maximumItemCount, const MFVector &cellSize) |
Create a collision field. More... | |
MF_API void | MFCollision_AddItemToField (MFCollisionItem *pField, MFCollisionItem *pItem, uint32 itemFlags) |
Add an item to a field. More... | |
MF_API void | MFCollision_AddModelToField (MFCollisionItem *pField, MFModel *pModel) |
Add a model to a field. More... | |
MF_API void | MFCollision_BuildField (MFCollisionItem *pField) |
Build a collision field. More... | |
MF_API void | MFCollision_ClearField (MFCollisionItem *pField) |
Clear a collision field. More... | |
MF_API void | MFCollision_DestroyField (MFCollisionItem *pField) |
Destroy a collision field. More... | |