GJK algorithm and EPA for narrow-phase collision detection.
Static methods
Constructor
Variables
distance:Float
Computed distance between two geometries. This value may be negative if two geometries are overlapping.
Methods
inlinecomputeClosestPoints(c1:ConvexGeometry, c2:ConvexGeometry, tf1:Transform, tf2:Transform, cache:CachedDetectorData):Int
Computes the closest points of two convex geometries c1 and c2 with transforms tf1 and tf2
respectively, and returns the status of the result (see GjkEpaResultState for details). If cached
data cache is not null, this tries to exploit the previous result in cache to improve performance,
and stores the new result to cache.
Set the compiler option OIMO_GJK_EPA_DEBUG for debugging (warning: massive logging).
inlinecomputeDistance(c1:ConvexGeometry, c2:ConvexGeometry, tf1:Transform, tf2:Transform, cache:CachedDetectorData):Int
Computes the distance between two convex geometries c1 and c2 with transforms tf1 and tf2
respectively, and returns the status of the result (see GjkEpaResultState for details). Different
from GjkEpa.computeClosestPoints, this does not compute negative distances and closest points if
two geometries are overlapping. If cached data cache is not null, this tries to exploit the
previous result in cache to improve performance, and stores the new result to cache.
Set the compiler option OIMO_GJK_EPA_DEBUG for debugging (warning: massive logging).
convexCast(c1:ConvexGeometry, c2:ConvexGeometry, tf1:Transform, tf2:Transform, tl1:Vec3, tl2:Vec3, hit:RayCastHit):Bool
Performs a convex casting between c1 and c2. Returns true and sets the result information
to hit if the convex geometries intersect. Each convex geometries translates by tl1 and tl2,
starting from the beginning transforms tf1 and tf2 respectively.
Set the compiler option OIMO_GJK_EPA_DEBUG for debugging (warning: massive logging).
rayCast(c:ConvexGeometry, tf:Transform, begin:Vec3, end:Vec3, hit:RayCastHit):Bool
Performs ray cansting against the convex geometry c with transform tf. Returns true and sets
the result information to hit if the line segment from begin to end intersects the convex
geometry. Otherwise returns false.
Set the compiler option OIMO_GJK_EPA_DEBUG for debugging (warning: massive logging).