Public Types | Public Member Functions | Public Attributes | List of all members
fcl::detail::BVHCollisionTraversalNode< BV > Class Template Reference

Traversal node for collision between BVH models. More...

#include <bvh_collision_traversal_node.h>

Inheritance diagram for fcl::detail::BVHCollisionTraversalNode< BV >:
Inheritance graph
[legend]

Public Types

using S = typename BV::S
 

Public Member Functions

 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< BV::S >
virtual bool canStop () const
 Check whether the traversal can stop. More...
 
 CollisionTraversalNodeBase ()
 
void enableStatistics (bool enable)
 Whether store some statistics information during traversal. More...
 
virtual void leafTesting (int b1, int b2) const
 Leaf test between node b1 and b2, if they are both leafs. More...
 
virtual ~CollisionTraversalNodeBase ()
 
- Public Member Functions inherited from fcl::detail::TraversalNodeBase< BV::S >
virtual void postprocess ()
 
virtual void preprocess ()
 
virtual ~TraversalNodeBase ()
 

Public Attributes

const BVHModel< BV > * model1
 The first BVH model. More...
 
const BVHModel< BV > * 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< BV::S >
bool enable_statistics
 Whether stores statistics. More...
 
CollisionRequest< BV::S > request
 request setting for collision More...
 
CollisionResult< BV::S > * result
 collision result kept during the traversal iteration More...
 
- Public Attributes inherited from fcl::detail::TraversalNodeBase< BV::S >
Transform3< BV::S > tf1
 configuation of first object More...
 
Transform3< BV::S > tf2
 configuration of second object More...
 

Detailed Description

template<typename BV>
class fcl::detail::BVHCollisionTraversalNode< BV >

Traversal node for collision between BVH models.

Definition at line 52 of file bvh_collision_traversal_node.h.

Member Typedef Documentation

◆ S

template<typename BV >
using fcl::detail::BVHCollisionTraversalNode< BV >::S = typename BV::S

Definition at line 57 of file bvh_collision_traversal_node.h.

Constructor & Destructor Documentation

◆ BVHCollisionTraversalNode()

Definition at line 51 of file bvh_collision_traversal_node-inl.h.

Member Function Documentation

◆ BVTesting()

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

BV culling test in one BVTT node.

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

Definition at line 121 of file bvh_collision_traversal_node-inl.h.

◆ firstOverSecond()

template<typename BV >
bool fcl::detail::BVHCollisionTraversalNode< BV >::firstOverSecond ( int  b1,
int  b2 
) const
virtual

Determine the traversal order, is the first BVTT subtree better.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 78 of file bvh_collision_traversal_node-inl.h.

◆ getFirstLeftChild()

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::getFirstLeftChild ( int  b) const
virtual

Obtain the left child of BV node in the first BVH.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 93 of file bvh_collision_traversal_node-inl.h.

◆ getFirstRightChild()

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::getFirstRightChild ( int  b) const
virtual

Obtain the right child of BV node in the first BVH.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 100 of file bvh_collision_traversal_node-inl.h.

◆ getSecondLeftChild()

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::getSecondLeftChild ( int  b) const
virtual

Obtain the left child of BV node in the second BVH.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 107 of file bvh_collision_traversal_node-inl.h.

◆ getSecondRightChild()

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::getSecondRightChild ( int  b) const
virtual

Obtain the right child of BV node in the second BVH.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 114 of file bvh_collision_traversal_node-inl.h.

◆ isFirstNodeLeaf()

template<typename BV >
bool fcl::detail::BVHCollisionTraversalNode< BV >::isFirstNodeLeaf ( int  b) const
virtual

Whether the BV node in the first BVH tree is leaf.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 64 of file bvh_collision_traversal_node-inl.h.

◆ isSecondNodeLeaf()

template<typename BV >
bool fcl::detail::BVHCollisionTraversalNode< BV >::isSecondNodeLeaf ( int  b) const
virtual

Whether the BV node in the second BVH tree is leaf.

Reimplemented from fcl::detail::TraversalNodeBase< BV::S >.

Definition at line 71 of file bvh_collision_traversal_node-inl.h.

Member Data Documentation

◆ model1

template<typename BV >
const BVHModel<BV>* fcl::detail::BVHCollisionTraversalNode< BV >::model1

The first BVH model.

Definition at line 86 of file bvh_collision_traversal_node.h.

◆ model2

template<typename BV >
const BVHModel<BV>* fcl::detail::BVHCollisionTraversalNode< BV >::model2

The second BVH model.

Definition at line 89 of file bvh_collision_traversal_node.h.

◆ num_bv_tests

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::num_bv_tests
mutable

statistical information

Definition at line 92 of file bvh_collision_traversal_node.h.

◆ num_leaf_tests

template<typename BV >
int fcl::detail::BVHCollisionTraversalNode< BV >::num_leaf_tests
mutable

Definition at line 93 of file bvh_collision_traversal_node.h.

◆ query_time_seconds

template<typename BV >
S fcl::detail::BVHCollisionTraversalNode< BV >::query_time_seconds
mutable

Definition at line 94 of file bvh_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