List of all members.
Detailed Description
template<typename mesh_type_, typename grid_type_>
class OpenTissue::sdf::Geometry< mesh_type_, grid_type_ >
Signed Distance Map Geometry. This is infact a double representation, a signed distance map is used and a point sampling of the surface of the object is also used.
When doing collision detection between two bodies one simply looks up the point sampling in the distance map of the other body and vice versa. All sample points with distance less than collision envelope generates a contact point. The separation (or penetration) distance is simply the signed distance value at the sample points position, the contact normal is the gradient of the signed distance map the sample position, and the location of the contact points is given by the sample position.
Member Typedef Documentation
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
Constructor & Destructor Documentation
template<typename mesh_type_ , typename grid_type_ >
Member Function Documentation
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
Compute Bounding Box. This method computes an axis aligned bounding box (AABB) that encloses the geometry.
- Parameters:
-
| r | The position of the model frame (i.e the coordinate frame the geometry lives in). |
| R | The orientation of the model frame (i.e the coordinate frame the geometry lives in). |
| min_coord | Upon return holds the minimum corner of the box. |
| max_coord | Upon return holds the maximum corner of the box. |
template<typename mesh_type_ , typename grid_type_ >
Get Half Side Extents
- Returns:
- A 3D vector, where each component corresponds to the half-side extent of the tight fitting OBB of the signed distance field.
template<typename mesh_type_ , typename grid_type_ >
Maximum Radius. Return a radius value equal to or greater than the radius of the minimum enclosing sphere (with center at center of mass).
- Returns:
- The maximum radius.
Member Data Documentation
template<typename mesh_type_ , typename grid_type_ >
Sphere BVH (of sample points), used to speed up collision queries.
template<typename mesh_type_ , typename grid_type_ >
The AABB corner node with largest coordinates (in BF coords).
template<typename mesh_type_ , typename grid_type_ >
template<typename mesh_type_ , typename grid_type_ >
A pointer to the mesh representing the zero-level set surface of the signed distance field.
template<typename mesh_type_ , typename grid_type_ >
The AABB corner node with smallest coordinates (in BF coords).
template<typename mesh_type_ , typename grid_type_ >
A pointer to a map containing the signed distance field.
template<typename mesh_type_ , typename grid_type_ >
A point sampling, representing the zero level set surface of the signed distance map.
The documentation for this class was generated from the following file:
- /home/hauberg/Dokumenter/Capture/humim-tracker-0.1/src/OpenTissue/OpenTissue/collision/sdf/sdf_geometry.h