#include <aabb_tree_self_collision_policy.h>
Public Types | |
typedef aabb_tree_geometry::bvh_type | bvh_type |
typedef bvh_type::volume_type | volume_type |
typedef bvh_type::geometry_type | geometry_type |
typedef bvh_type::geometry_iterator | geometry_iterator |
typedef bvh_type::bv_ptr | bv_ptr |
typedef bvh_type::annotated_bv_ptr | annotated_bv_ptr |
typedef bvh_type::annotated_bv_type | annotated_bv_type |
typedef volume_type::math_types | math_types |
typedef math_types::real_type | real_type |
typedef math_types::vector3_type | vector3_type |
typedef aabb_tree_geometry::vertex_data_type | vertex_data_type |
Public Member Functions | |
bool | curvature_test (bv_ptr) |
bool | curvature_test (bv_ptr, bv_ptr) |
bool | adjacent (bv_ptr, bv_ptr) |
bool | overlap (bv_ptr A, bv_ptr B) |
template<typename contact_point_container > | |
void | reset (contact_point_container &) |
template<typename contact_point_container > | |
void | report (bv_ptr bvA_, bv_ptr bvB_, contact_point_container &contacts) |
bool | is_sharing_node (geometry_type const *A, geometry_type const *B) const |
template<typename contact_point_container > | |
bool | compute_contacts (geometry_type *A, geometry_type *B, contact_point_container &contacts) |
template<typename contact_point_container > | |
bool | handle_edge_face_intersection (vertex_data_type *origin, vertex_data_type *destination, geometry_type *triangle, contact_point_container &contacts) |
bool | exist_edge_face (vertex_data_type *origin, vertex_data_type *destination, geometry_type *triangle) |
Protected Types | |
typedef std::list< std::pair < vertex_data_type *, vertex_data_type * > > | edge_container |
typedef std::map < geometry_type *, edge_container > | edge_face_lut_type |
Protected Attributes | |
edge_face_lut_type | m_edge_face_map |
typedef bvh_type::annotated_bv_ptr OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::annotated_bv_ptr |
typedef bvh_type::annotated_bv_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::annotated_bv_type |
typedef bvh_type::bv_ptr OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::bv_ptr |
typedef aabb_tree_geometry::bvh_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::bvh_type |
typedef std::list<std::pair<vertex_data_type*, vertex_data_type*> > OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::edge_container [protected] |
typedef std::map<geometry_type *, edge_container > OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::edge_face_lut_type [protected] |
typedef bvh_type::geometry_iterator OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::geometry_iterator |
typedef bvh_type::geometry_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::geometry_type |
typedef volume_type::math_types OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::math_types |
typedef math_types::real_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::real_type |
typedef math_types::vector3_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::vector3_type |
typedef aabb_tree_geometry::vertex_data_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::vertex_data_type |
typedef bvh_type::volume_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::volume_type |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::adjacent | ( | bv_ptr | , | |
bv_ptr | ||||
) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::compute_contacts | ( | geometry_type * | A, | |
geometry_type * | B, | |||
contact_point_container & | contacts | |||
) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::curvature_test | ( | bv_ptr | , | |
bv_ptr | ||||
) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::curvature_test | ( | bv_ptr | ) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::exist_edge_face | ( | vertex_data_type * | origin, | |
vertex_data_type * | destination, | |||
geometry_type * | triangle | |||
) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::handle_edge_face_intersection | ( | vertex_data_type * | origin, | |
vertex_data_type * | destination, | |||
geometry_type * | triangle, | |||
contact_point_container & | contacts | |||
) | [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::is_sharing_node | ( | geometry_type const * | A, | |
geometry_type const * | B | |||
) | const [inline] |
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::overlap | ( | bv_ptr | A, | |
bv_ptr | B | |||
) | [inline] |
void OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::report | ( | bv_ptr | bvA_, | |
bv_ptr | bvB_, | |||
contact_point_container & | contacts | |||
) | [inline] |
void OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::reset | ( | contact_point_container & | ) | [inline] |
edge_face_lut_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::m_edge_face_map [protected] |