Public Types | Public Member Functions | Protected Types | Protected Attributes

OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry > Class Template Reference

#include <aabb_tree_self_collision_policy.h>

List of all members.

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

template<typename aabb_tree_geometry>
class OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >


Member Typedef Documentation

template<typename aabb_tree_geometry >
typedef bvh_type::annotated_bv_ptr OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::annotated_bv_ptr
template<typename aabb_tree_geometry >
typedef bvh_type::annotated_bv_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::annotated_bv_type
template<typename aabb_tree_geometry >
typedef bvh_type::bv_ptr OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::bv_ptr
template<typename aabb_tree_geometry >
typedef aabb_tree_geometry::bvh_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::bvh_type
template<typename aabb_tree_geometry >
typedef std::list<std::pair<vertex_data_type*, vertex_data_type*> > OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::edge_container [protected]
template<typename aabb_tree_geometry >
typedef std::map<geometry_type *, edge_container > OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::edge_face_lut_type [protected]
template<typename aabb_tree_geometry >
typedef bvh_type::geometry_iterator OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::geometry_iterator
template<typename aabb_tree_geometry >
typedef bvh_type::geometry_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::geometry_type
template<typename aabb_tree_geometry >
typedef volume_type::math_types OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::math_types
template<typename aabb_tree_geometry >
typedef math_types::real_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::real_type
template<typename aabb_tree_geometry >
typedef math_types::vector3_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::vector3_type
template<typename aabb_tree_geometry >
typedef aabb_tree_geometry::vertex_data_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::vertex_data_type
template<typename aabb_tree_geometry >
typedef bvh_type::volume_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::volume_type

Member Function Documentation

template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::adjacent ( bv_ptr  ,
bv_ptr   
) [inline]
template<typename aabb_tree_geometry >
template<typename contact_point_container >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::compute_contacts ( geometry_type A,
geometry_type B,
contact_point_container &  contacts 
) [inline]
template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::curvature_test ( bv_ptr  ,
bv_ptr   
) [inline]
template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::curvature_test ( bv_ptr   )  [inline]
template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::exist_edge_face ( vertex_data_type origin,
vertex_data_type destination,
geometry_type triangle 
) [inline]
template<typename aabb_tree_geometry >
template<typename contact_point_container >
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]
template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::is_sharing_node ( geometry_type const *  A,
geometry_type const *  B 
) const [inline]
template<typename aabb_tree_geometry >
bool OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::overlap ( bv_ptr  A,
bv_ptr  B 
) [inline]
template<typename aabb_tree_geometry >
template<typename contact_point_container >
void OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::report ( bv_ptr  bvA_,
bv_ptr  bvB_,
contact_point_container &  contacts 
) [inline]
template<typename aabb_tree_geometry >
template<typename contact_point_container >
void OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::reset ( contact_point_container &   )  [inline]

Member Data Documentation

template<typename aabb_tree_geometry >
edge_face_lut_type OpenTissue::aabb_tree::SelfCollisionPolicy< aabb_tree_geometry >::m_edge_face_map [protected]

The documentation for this class was generated from the following file: