Linked list management
Linked list management
Insert this Convex after the provided convex.
Remove this Convex from the linked list.
Convex * mNext
Next item in linked list of Convexes.
Convex * mPrev
Previous item in linked list of Convexes.
Private Static Attributes
Objects we're testing against.
SceneObject * mObject
Object this Convex is built around.
Other convex testing against us.
Type of Convex this is.
Objects within our bounds.
addToWorkingList(Convex * ptr)
Convex to add to the working list of this object
Clear out the working collision list of objects.
Runs through the linked list of Convex objects and removes the ones with no references.
Finds the closest.
Returns the bounding box for the object this is built around in world space.
getBoundingBox(const MatrixF & mat, const Point3F & scale)
Returns the object space bounding box for the object this is built around transformed and scaled.
Matrix to transform the object-space box by
Scaling factor to scale the bounding box by
getCollisionInfo(const MatrixF & mat, const Point3F & scale, CollisionList * cList, F32 tol)
getFeatures(const MatrixF & mat, const VectorF & n, ConvexFeature * cf)
This is used by the GJK collision in Vehicle.
The Convex class should add verts, edges, and faces to the passed ConvexFeature that face towards the passed normal vector. Verts added in this way should also be transformed by the passed matrix. Parameters:
Transform which should be applied to verts added to the ConvexFeature
ConvexFeature to add data to.
Returns the object this Convex is built from.
getPolyList(AbstractPolyList * list)
Builds a collision poly list out of this convex.
(Out) Poly list built
Returns the scale of the object this is built around.
Returns the list of objects this object is testing against.
Returns the transform of the object this is built around.
Returns the type of this Convex.
Returns the list of objects currently inside the bounds of this Convex.
Deletes all convex objects in the list.
registerObject(Convex * convex)
Registers another Convex by linking it after this one.
Render this convex for debugging purposes.
Render convex(s) for debugging purposes.
Returns the farthest point, along a vector, still bound by the convex.
Updates the CollisionStateList (mList) with new collision states and removing ones no longer under consideration.
Used as the matrix to create a bounding box for updating the list
Used to scale the bounding box
Bounding box displacement (optional)
updateWorkingList(const Box3F & box, const U32 colMask)
Updates the working collision list of objects which are currently colliding with (inside the bounds of) this Convex.
Used as the bounding box.
Mask of objects to check against.