Public Member Functions | Public Attributes | List of all members
fcl::detail::MeshCollisionTraversalNodeOBB< S > Class Template Reference

Traversal node for collision between two meshes if their underlying BVH node is oriented node (OBB, RSS, OBBRSS, kIOS) More...

#include <mesh_collision_traversal_node.h>

Inheritance diagram for fcl::detail::MeshCollisionTraversalNodeOBB< S >:
Inheritance graph
[legend]

Public Member Functions

bool BVTesting (int b1, int b2) const
 BV test between b1 and b2. More...
 
bool BVTesting (int b1, int b2, const Matrix3< S > &Rc, const Vector3< S > &Tc) const
 
bool BVTesting (int b1, int b2, const Transform3< S > &tf) const
 
void leafTesting (int b1, int b2) const
 Leaf test between node b1 and b2, if they are both leafs. More...
 
void leafTesting (int b1, int b2, const Matrix3< S > &Rc, const Vector3< S > &Tc) const
 
void leafTesting (int b1, int b2, const Transform3< S > &tf) const
 
 MeshCollisionTraversalNodeOBB ()
 
- Public Member Functions inherited from fcl::detail::MeshCollisionTraversalNode< OBB< S > >
bool canStop () const
 Whether the traversal process can stop early. More...
 
void leafTesting (int b1, int b2) const
 Intersection testing between leaves (two triangles) More...
 
 MeshCollisionTraversalNode ()
 
- Public Member Functions inherited from fcl::detail::BVHCollisionTraversalNode< OBB< S > >
 BVHCollisionTraversalNode ()
 
bool BVTesting (int b1, int b2) const
 BV culling test in one BVTT node. More...
 
bool firstOverSecond (int b1, int b2) const
 Determine the traversal order, is the first BVTT subtree better. More...
 
int getFirstLeftChild (int b) const
 Obtain the left child of BV node in the first BVH. More...
 
int getFirstRightChild (int b) const
 Obtain the right child of BV node in the first BVH. More...
 
int getSecondLeftChild (int b) const
 Obtain the left child of BV node in the second BVH. More...
 
int getSecondRightChild (int b) const
 Obtain the right child of BV node in the second BVH. More...
 
bool isFirstNodeLeaf (int b) const
 Whether the BV node in the first BVH tree is leaf. More...
 
bool isSecondNodeLeaf (int b) const
 Whether the BV node in the second BVH tree is leaf. More...
 
- Public Member Functions inherited from fcl::detail::CollisionTraversalNodeBase< OBB< S > ::S >
 CollisionTraversalNodeBase ()
 
void enableStatistics (bool enable)
 Whether store some statistics information during traversal. More...
 
virtual ~CollisionTraversalNodeBase ()
 
- Public Member Functions inherited from fcl::detail::TraversalNodeBase< OBB< S > ::S >
virtual void postprocess ()
 
virtual void preprocess ()
 
virtual ~TraversalNodeBase ()
 

Public Attributes

Matrix3< SR
 
Vector3< ST
 
- Public Attributes inherited from fcl::detail::MeshCollisionTraversalNode< OBB< S > >
S cost_density
 
Triangletri_indices1
 
Triangletri_indices2
 
Vector3< S > * vertices1
 
Vector3< S > * vertices2
 
- Public Attributes inherited from fcl::detail::BVHCollisionTraversalNode< OBB< S > >
const BVHModel< OBB< S > > * model1
 The first BVH model. More...
 
const BVHModel< OBB< S > > * model2
 The second BVH model. More...
 
int num_bv_tests
 statistical information More...
 
int num_leaf_tests
 
S query_time_seconds
 
- Public Attributes inherited from fcl::detail::CollisionTraversalNodeBase< OBB< S > ::S >
bool enable_statistics
 Whether stores statistics. More...
 
CollisionRequest< OBB< S > ::S > request
 request setting for collision More...
 
CollisionResult< OBB< S > ::S > * result
 collision result kept during the traversal iteration More...
 
- Public Attributes inherited from fcl::detail::TraversalNodeBase< OBB< S > ::S >
Transform3< OBB< S > ::S > tf1
 configuation of first object More...
 
Transform3< OBB< S > ::S > tf2
 configuration of second object More...
 

Additional Inherited Members

- Public Types inherited from fcl::detail::MeshCollisionTraversalNode< OBB< S > >
using S = typename OBB< S > ::S
 
- Public Types inherited from fcl::detail::BVHCollisionTraversalNode< OBB< S > >
using S = typename OBB< S > ::S
 

Detailed Description

template<typename S>
class fcl::detail::MeshCollisionTraversalNodeOBB< S >

Traversal node for collision between two meshes if their underlying BVH node is oriented node (OBB, RSS, OBBRSS, kIOS)

Definition at line 99 of file mesh_collision_traversal_node.h.

Constructor & Destructor Documentation

◆ MeshCollisionTraversalNodeOBB()

Definition at line 283 of file mesh_collision_traversal_node-inl.h.

Member Function Documentation

◆ BVTesting() [1/3]

template<typename S >
bool fcl::detail::MeshCollisionTraversalNodeOBB< S >::BVTesting ( int  b1,
int  b2 
) const
virtual

BV test between b1 and b2.

Reimplemented from fcl::detail::CollisionTraversalNodeBase< OBB< S > ::S >.

Definition at line 292 of file mesh_collision_traversal_node-inl.h.

◆ BVTesting() [2/3]

template<typename S >
bool fcl::detail::MeshCollisionTraversalNodeOBB< S >::BVTesting ( int  b1,
int  b2,
const Matrix3< S > &  Rc,
const Vector3< S > &  Tc 
) const

Definition at line 325 of file mesh_collision_traversal_node-inl.h.

◆ BVTesting() [3/3]

template<typename S >
bool fcl::detail::MeshCollisionTraversalNodeOBB< S >::BVTesting ( int  b1,
int  b2,
const Transform3< S > &  tf 
) const

Definition at line 338 of file mesh_collision_traversal_node-inl.h.

◆ leafTesting() [1/3]

template<typename S >
void fcl::detail::MeshCollisionTraversalNodeOBB< S >::leafTesting ( int  b1,
int  b2 
) const
virtual

Leaf test between node b1 and b2, if they are both leafs.

Reimplemented from fcl::detail::CollisionTraversalNodeBase< OBB< S > ::S >.

Definition at line 301 of file mesh_collision_traversal_node-inl.h.

◆ leafTesting() [2/3]

template<typename S >
void fcl::detail::MeshCollisionTraversalNodeOBB< S >::leafTesting ( int  b1,
int  b2,
const Matrix3< S > &  Rc,
const Vector3< S > &  Tc 
) const

Definition at line 350 of file mesh_collision_traversal_node-inl.h.

◆ leafTesting() [3/3]

template<typename S >
void fcl::detail::MeshCollisionTraversalNodeOBB< S >::leafTesting ( int  b1,
int  b2,
const Transform3< S > &  tf 
) const

Definition at line 378 of file mesh_collision_traversal_node-inl.h.

Member Data Documentation

◆ R

template<typename S >
Matrix3<S> fcl::detail::MeshCollisionTraversalNodeOBB< S >::R

Definition at line 116 of file mesh_collision_traversal_node.h.

◆ T

template<typename S >
Vector3<S> fcl::detail::MeshCollisionTraversalNodeOBB< S >::T

Definition at line 117 of file mesh_collision_traversal_node.h.


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


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:50