Namespace Alis.Core.Physic.Collision
Namespaces
Classes
- Collision
-
Collision methods
- Distance
-
The Gilbert–Johnson–Keerthi distance algorithm that provides the distance between shapes.
- DynamicTree<TNode>
-
A dynamic tree arranges data in a binary tree to accelerate queries such as volume queries and ray casts. Leafs are proxies with an AABB. In the tree we expand the proxy AABB by Settings.b2_fatAABBFactor so that the proxy AABB is bigger than the client object. This allows the client object to move by small amounts without triggering a tree update. Nodes are pooled and relocatable, so we use node indices rather than pointers.
- DynamicTreeBroadPhase
-
The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap.
- DynamicTreeBroadPhase<TNode>
-
The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap.
- Collision.EPCollider
-
The ep collider class
- SeparationFunction
-
The separation function class
- TOIInput
-
Input parameters for CalculateTimeOfImpact
- TimeOfImpact
-
The time of impact class
Structs
- AABB
-
An axis aligned bounding box.
- ClipVertex
-
Used for computing contact manifolds.
- ContactFeature
-
The features that intersect to form the contact point This must be 4 bytes or less.
- ContactID
-
Contact ids to facilitate warm starting.
- DistanceInput
-
Input for Distance.ComputeDistance(). You have to option to use the shape radii in the computation.
- DistanceOutput
-
Output for Distance.ComputeDistance().
- DistanceProxy
-
A distance proxy is used by the GJK algorithm. It encapsulates any shape.
- EPAxis
-
This structure is used to keep track of the best separating axis.
- Manifold
-
A manifold for two touching convex Shapes. Box2D supports multiple types of contact:
- Clip point versus plane with radius
- Point versus point with radius (circles) The local point usage depends on the manifold type:
- ShapeType.Circles: the local center of circleA
- SeparationFunction.FaceA: the center of faceA
- SeparationFunction.FaceB: the center of faceB Similarly the local normal usage:
- ShapeType.Circles: not used
- SeparationFunction.FaceA: the normal on polygonA
- SeparationFunction.FaceB: the normal on polygonB We store contacts in this way so that position correction can account for movement, which is critical for continuous physics. All contact scenarios must be expressed in one of these types. This structure is stored across time steps, so we keep it small.
- ManifoldPoint
-
A manifold point is a contact point belonging to a contact manifold. It holds details related to the geometry and dynamics of the contact points. The local point usage depends on the manifold type: -ShapeType.Circles: the local center of circleB -SeparationFunction.FaceA: the local center of cirlceB or the clip point of polygonB -SeparationFunction.FaceB: the clip point of polygonA This structure is stored across time steps, so we keep it small. Note: the impulses are used for internal caching and may not provide reliable contact forces, especially for high speed collisions.
- Pair
-
The pair
- RayCastInput
-
Ray-cast input data.
- RayCastOutput
-
Ray-cast output data.
- ReferenceFace
-
Reference face used for clipping
- Simplex
-
The simplex
- SimplexCache
-
Used to warm start ComputeDistance. Set count to zero on first call.
- SimplexVertex
-
The simplex vertex
- TOIOutput
-
The toi output
- Collision.EPCollider.TempPolygon
-
This holds polygon B expressed in frame A.
- TreeNode<TNode>
-
A node in the dynamic tree. The client does not interact with this directly.
Interfaces
- IBroadPhase<TNode>
-
The broad phase interface
- IBroadPhase
-
The broad phase interface
Enums
- ContactFeatureType
-
The contact feature type enum
- EPAxisType
-
The ep axis type enum
- ManifoldType
-
The manifold type enum
- PointState
-
This is used for determining the state of contact points.
- SeparationFunctionType
-
The separation function type enum
- TOIOutputState
-
The toi output state enum
Delegates
- BroadPhaseQueryCallback
-
The broad phase query callback
- BroadPhaseRayCastCallback
-
The broad phase ray cast callback
- BroadphaseDelegate
-
The broadphase delegate