Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, OBBRSS, kIOS) More...
#include <mesh_shape_distance_traversal_node.h>
Public Types | |
using | S = typename Shape::S |
Public Types inherited from fcl::detail::MeshShapeDistanceTraversalNode< RSS< Shape::S >, Shape, NarrowPhaseSolver > | |
using | S = typename RSS< Shape::S > ::S |
Public Types inherited from fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape > | |
using | S = typename RSS< Shape::S > ::S |
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... | |
MeshShapeDistanceTraversalNodeRSS () | |
void | postprocess () |
void | preprocess () |
Public Member Functions inherited from fcl::detail::MeshShapeDistanceTraversalNode< RSS< Shape::S >, Shape, NarrowPhaseSolver > | |
bool | canStop (S c) const |
Whether the traversal process can stop early. More... | |
void | leafTesting (int b1, int b2) const |
Distance testing between leaves (one triangle and one shape) More... | |
MeshShapeDistanceTraversalNode () | |
Public Member Functions inherited from fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape > | |
BVHShapeDistanceTraversalNode () | |
S | BVTesting (int b1, int b2) const |
BV culling test in one BVTT node. 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... | |
bool | isFirstNodeLeaf (int b) const |
Whether the BV node in the first BVH tree is leaf. More... | |
Public Member Functions inherited from fcl::detail::DistanceTraversalNodeBase< RSS< Shape::S > ::S > | |
virtual bool | canStop (RSS< Shape::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< Shape::S > ::S > | |
virtual bool | firstOverSecond (int b1, int b2) const |
Traverse the subtree of the node in the first tree first. More... | |
virtual int | getSecondLeftChild (int b) const |
Get the left child of the node b in the second tree. More... | |
virtual int | getSecondRightChild (int b) const |
Get the right child of the node b in the second tree. More... | |
virtual bool | isSecondNodeLeaf (int b) const |
Whether b is a leaf node in the second BVH tree. More... | |
virtual | ~TraversalNodeBase () |
Additional Inherited Members | |
Public Attributes inherited from fcl::detail::MeshShapeDistanceTraversalNode< RSS< Shape::S >, Shape, NarrowPhaseSolver > | |
S | abs_err |
const NarrowPhaseSolver * | nsolver |
S | rel_err |
Triangle * | tri_indices |
Vector3< S > * | vertices |
Public Attributes inherited from fcl::detail::BVHShapeDistanceTraversalNode< RSS< Shape::S >, Shape > | |
const BVHModel< RSS< Shape::S > > * | model1 |
const Shape * | model2 |
RSS< Shape::S > | model2_bv |
int | num_bv_tests |
int | num_leaf_tests |
S | query_time_seconds |
Public Attributes inherited from fcl::detail::DistanceTraversalNodeBase< RSS< Shape::S > ::S > | |
bool | enable_statistics |
Whether stores statistics. More... | |
DistanceRequest< RSS< Shape::S > ::S > | request |
request setting for distance More... | |
DistanceResult< RSS< Shape::S > ::S > * | result |
distance result kept during the traversal iteration More... | |
Public Attributes inherited from fcl::detail::TraversalNodeBase< RSS< Shape::S > ::S > | |
Transform3< RSS< Shape::S > ::S > | tf1 |
configuation of first object More... | |
Transform3< RSS< Shape::S > ::S > | tf2 |
configuration of second object More... | |
Traversal node for distance between mesh and shape, when mesh BVH is one of the oriented node (RSS, OBBRSS, kIOS)
Definition at line 121 of file mesh_shape_distance_traversal_node.h.
using fcl::detail::MeshShapeDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >::S = typename Shape::S |
Definition at line 126 of file mesh_shape_distance_traversal_node.h.
fcl::detail::MeshShapeDistanceTraversalNodeRSS< Shape, NarrowPhaseSolver >::MeshShapeDistanceTraversalNodeRSS |
Definition at line 241 of file mesh_shape_distance_traversal_node-inl.h.
|
virtual |
BV test between b1 and b2.
Reimplemented from fcl::detail::DistanceTraversalNodeBase< RSS< Shape::S > ::S >.
Definition at line 273 of file mesh_shape_distance_traversal_node-inl.h.
|
virtual |
Leaf test between node b1 and b2, if they are both leafs.
Reimplemented from fcl::detail::DistanceTraversalNodeBase< RSS< Shape::S > ::S >.
Definition at line 286 of file mesh_shape_distance_traversal_node-inl.h.
|
virtual |
Reimplemented from fcl::detail::TraversalNodeBase< RSS< Shape::S > ::S >.
Definition at line 266 of file mesh_shape_distance_traversal_node-inl.h.
|
virtual |
Reimplemented from fcl::detail::TraversalNodeBase< RSS< Shape::S > ::S >.
Definition at line 249 of file mesh_shape_distance_traversal_node-inl.h.