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>
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< S > | R |
Vector3< S > | T |
Public Attributes inherited from fcl::detail::MeshCollisionTraversalNode< OBB< S > > | |
S | cost_density |
Triangle * | tri_indices1 |
Triangle * | tri_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 |
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.
fcl::detail::MeshCollisionTraversalNodeOBB< S >::MeshCollisionTraversalNodeOBB |
Definition at line 283 of file mesh_collision_traversal_node-inl.h.
|
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.
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.
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.
|
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.
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.
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.
Matrix3<S> fcl::detail::MeshCollisionTraversalNodeOBB< S >::R |
Definition at line 116 of file mesh_collision_traversal_node.h.
Vector3<S> fcl::detail::MeshCollisionTraversalNodeOBB< S >::T |
Definition at line 117 of file mesh_collision_traversal_node.h.