Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS) More...
#include <mesh_distance_traversal_node.h>
Public Member Functions | |
S | BVTesting (int b1, int b2) const |
BV test between b1 and b2. More... | |
void | leafTesting (int b1, int b2) const |
Leaf test between node b1 and b2, if they are both leafs. More... | |
MeshDistanceTraversalNodeRSS () | |
void | postprocess () |
void | preprocess () |
Public Member Functions inherited from fcl::detail::MeshDistanceTraversalNode< RSS< S > > | |
bool | canStop (S c) const |
Whether the traversal process can stop early. More... | |
void | leafTesting (int b1, int b2) const |
Distance testing between leaves (two triangles) More... | |
MeshDistanceTraversalNode () | |
Public Member Functions inherited from fcl::detail::BVHDistanceTraversalNode< RSS< S > > | |
BVHDistanceTraversalNode () | |
S | 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::DistanceTraversalNodeBase< RSS< S > ::S > | |
virtual bool | canStop (RSS< S > ::S c) const |
Check whether the traversal can stop. More... | |
DistanceTraversalNodeBase () | |
void | enableStatistics (bool enable) |
Whether store some statistics information during traversal. More... | |
virtual | ~DistanceTraversalNodeBase () |
Public Member Functions inherited from fcl::detail::TraversalNodeBase< RSS< S > ::S > | |
virtual | ~TraversalNodeBase () |
Public Attributes | |
Transform3< S > | tf |
Public Attributes inherited from fcl::detail::MeshDistanceTraversalNode< RSS< S > > | |
S | abs_err |
S | rel_err |
relative and absolute error, default value is 0.01 for both terms More... | |
Triangle * | tri_indices1 |
Triangle * | tri_indices2 |
Vector3< S > * | vertices1 |
Vector3< S > * | vertices2 |
Public Attributes inherited from fcl::detail::BVHDistanceTraversalNode< RSS< S > > | |
const BVHModel< RSS< S > > * | model1 |
The first BVH model. More... | |
const BVHModel< RSS< 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::DistanceTraversalNodeBase< RSS< S > ::S > | |
bool | enable_statistics |
Whether stores statistics. More... | |
DistanceRequest< RSS< S > ::S > | request |
request setting for distance More... | |
DistanceResult< RSS< S > ::S > * | result |
distance result kept during the traversal iteration More... | |
Public Attributes inherited from fcl::detail::TraversalNodeBase< RSS< S > ::S > | |
Transform3< RSS< S > ::S > | tf1 |
configuation of first object More... | |
Transform3< RSS< S > ::S > | tf2 |
configuration of second object More... | |
Additional Inherited Members | |
Public Types inherited from fcl::detail::MeshDistanceTraversalNode< RSS< S > > | |
using | S = typename RSS< S > ::S |
Public Types inherited from fcl::detail::BVHDistanceTraversalNode< RSS< S > > | |
using | S = typename RSS< S > ::S |
Traversal node for distance computation between two meshes if their underlying BVH node is oriented node (RSS, OBBRSS, kIOS)
Definition at line 96 of file mesh_distance_traversal_node.h.
fcl::detail::MeshDistanceTraversalNodeRSS< S >::MeshDistanceTraversalNodeRSS |
Definition at line 226 of file mesh_distance_traversal_node-inl.h.
|
inlinevirtual |
BV test between b1 and b2.
Reimplemented from fcl::detail::DistanceTraversalNodeBase< RSS< S > ::S >.
Definition at line 106 of file mesh_distance_traversal_node.h.
|
virtual |
Leaf test between node b1 and b2, if they are both leafs.
Reimplemented from fcl::detail::DistanceTraversalNodeBase< RSS< S > ::S >.
Definition at line 264 of file mesh_distance_traversal_node-inl.h.
|
virtual |
Reimplemented from fcl::detail::TraversalNodeBase< RSS< S > ::S >.
Definition at line 252 of file mesh_distance_traversal_node-inl.h.
|
virtual |
Reimplemented from fcl::detail::TraversalNodeBase< RSS< S > ::S >.
Definition at line 234 of file mesh_distance_traversal_node-inl.h.
Transform3<S> fcl::detail::MeshDistanceTraversalNodeRSS< S >::tf |
Definition at line 115 of file mesh_distance_traversal_node.h.