KrisLibrary
1.0.0
|
A class that stores information regarding a collision query. May be slightly faster than running individual queries. More...
#include <AnyGeometry.h>
Public Member Functions | |
AnyCollisionQuery (AnyCollisionGeometry3D &a, AnyCollisionGeometry3D &b) | |
AnyCollisionQuery (const AnyCollisionQuery &q) | |
bool | Collide () |
Returns true if colliding. | |
bool | CollideAll () |
Returns true if colliding, computes all colliding pairs. | |
bool | WithinDistance (Real d) |
Returns true if objects are within distance d. | |
bool | WithinDistanceAll (Real d) |
Returns true if objects are within distance d, computes all nearby pairs. | |
Real | PenetrationDepth () |
Returns an estimate of penetration depth. | |
Real | Distance (Real absErr, Real relErr, Real bound=Inf) |
void | InteractingPairs (std::vector< int > &t1, std::vector< int > &t2) const |
void | InteractingPoints (std::vector< Vector3 > &p1, std::vector< Vector3 > &p2) const |
Public Attributes | |
AnyCollisionGeometry3D * | a |
AnyCollisionGeometry3D * | b |
CollisionMeshQueryEnhanced | qmesh |
std::vector< int > | elements1 |
std::vector< int > | elements2 |
std::vector< Vector3 > | points1 |
std::vector< Vector3 > | points2 |
A class that stores information regarding a collision query. May be slightly faster than running individual queries.
Real AnyCollisionQuery::Distance | ( | Real | absErr, |
Real | relErr, | ||
Real | bound = Inf |
||
) |
Computes the distance with max absolute error absErr, relative error relErr, and if bound is given, will terminate early if distance > bound
References Geometry::AnyDistanceQueryResult::cp1, Geometry::AnyDistanceQueryResult::d, Geometry::AnyDistanceQueryResult::elem1, Geometry::AnyDistanceQuerySettings::relErr, and Geometry::AnyDistanceQuerySettings::upperBound.