KrisLibrary
1.0.0
|
An implicit surface (usually signed-distance function) with a fast collision detection data structure. More...
#include <CollisionImplicitSurface.h>
Public Member Functions | |
CollisionImplicitSurface (const Meshing::VolumeGrid &vg) | |
CollisionImplicitSurface (const CollisionImplicitSurface &vg) | |
void | InitCollisions () |
void | DistanceRangeLocal (const AABB3D &bb, Real &vmin, Real &vmax) const |
Public Attributes | |
Meshing::VolumeGrid | baseGrid |
The original implicit surface. | |
RigidTransform | currentTransform |
The transformation of the implicit surface in space. | |
std::vector< Meshing::VolumeGrid > | minHierarchy |
A hierarchy of volume grids of decreasing resolution. | |
std::vector< Meshing::VolumeGrid > | maxHierarchy |
std::vector< Real > | resolutionMap |
An implicit surface (usually signed-distance function) with a fast collision detection data structure.
void Geometry::CollisionImplicitSurface::DistanceRangeLocal | ( | const AABB3D & | bb, |
Real & | vmin, | ||
Real & | vmax | ||
) | const |
O(1) call to get a range of minimum and maximum implicit surface values within a bounding box, expressed in local frame
void Geometry::CollisionImplicitSurface::InitCollisions | ( | ) |
Sets up the collision detection data structures. This is automatically called during initialization, and needs to be called any time the implicit surface changes