|
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... | |
1.8.5