1 #ifndef COLLISION_IMPLICIT_SURFACE_H 2 #define COLLISION_IMPLICIT_SURFACE_H 4 #include <KrisLibrary/meshing/VolumeGrid.h> 5 #include <KrisLibrary/math3d/geometry3d.h> 9 class CollisionPointCloud;
25 void InitCollisions();
29 void DistanceRangeLocal(
const AABB3D& bb,Real& vmin,Real& vmax)
const;
37 std::vector<Real> resolutionMap;
A generic 3D geometric primitive class.
Definition: geometry3d.h:33
Meshing::VolumeGrid baseGrid
The original implicit surface.
Definition: CollisionImplicitSurface.h:32
Real Distance(const CollisionImplicitSurface &s, const Vector3 &pt)
Definition: CollisionImplicitSurface.cpp:140
A 3D vector class.
Definition: math3d/primitives.h:136
std::vector< Meshing::VolumeGrid > minHierarchy
A hierarchy of volume grids of decreasing resolution.
Definition: CollisionImplicitSurface.h:36
A 3D axis-aligned bounding box.
Definition: AABB3D.h:13
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
RigidTransform currentTransform
The transformation of the implicit surface in space.
Definition: CollisionImplicitSurface.h:34
An implicit surface (usually signed-distance function) with a fast collision detection data structure...
Definition: CollisionImplicitSurface.h:16
A point cloud with a fast collision detection data structure.
Definition: CollisionPointCloud.h:20
Real RayCast(const Meshing::VolumeGrid &grid, const Ray3D &ray, Real levelSet, Real tmax)
Definition: CollisionImplicitSurface.cpp:527
bool Collides(const CollisionImplicitSurface &s, const CollisionPointCloud &pc, Real margin, vector< int > &collidingPoints, size_t maxContacts)
Definition: CollisionImplicitSurface.cpp:195
Contains all definitions in the Geometry package.
Definition: AnyGeometry.cpp:26