RobWorkProject
23.9.11-
|
a generic pointer based tree structure. This is not the most efficient structure for bounding volume trees. though it is quite generic and easy to work with because of its pointer based structure. More...
#include <BinaryBVTree.hpp>
Inherits BVTree< BinaryBVTree< BV, PRIM > >.
Public Types | |
typedef BV | BVType |
typedef PRIM | PRIMType |
typedef BV::value_type | value_type |
typedef rw::core::Ptr< BinaryBVTree< BV, PRIM > > | Ptr |
typedef BTPNode< BV, PRIM > | Node |
typedef BTPNode< BV, PRIM >::NodeIterator | NodeIterator |
Public Types inherited from BVTree< BinaryBVTree< BV, PRIM > > | |
typedef Traits< BinaryBVTree< BV, PRIM > >::BVType | BVType |
typedef Traits< BinaryBVTree< BV, PRIM > >::PRIMType | PRIMType |
typedef BVType::value_type | value_type |
typedef Traits< BinaryBVTree< BV, PRIM > >::NodeIterator | NodeIterator |
typedef Traits< BinaryBVTree< BV, PRIM > >::Node | Node |
Public Member Functions | |
BinaryBVTree (PrimArrayAccessor< PRIM > *paccessor) | |
constructor | |
~BinaryBVTree () | |
Destructor. | |
NodeIterator | getIterator () const |
NodeIterator | createLeft (NodeIterator parent) |
NodeIterator | createRight (NodeIterator parent) |
NodeIterator | createRoot () |
void | setBV (const BVType &bv, NodeIterator node) |
void | setNrOfPrims (int size, NodeIterator node) |
void | setPrimIdx (int primIdx, NodeIterator node) |
void | optimize () |
void | setLeafPrimitives (Node *node, size_t primStartIdxs) |
NodeIterator | getRootIterator () const |
Node * | getRoot () |
std::pair< int, int > | countNodes () const |
void | print () const |
int | getMaxTrisPerLeaf () const |
Public Member Functions inherited from BVTree< BinaryBVTree< BV, PRIM > > | |
BVTree (PrimArrayAccessor< PRIMType > *primAccessor) | |
Constructor. The BVTree takes ownership of the primAccessor . More... | |
virtual | ~BVTree () |
Destructor. | |
virtual NodeIterator | createLeft (NodeIterator parent)=0 |
virtual NodeIterator | createRight (NodeIterator parent)=0 |
virtual void | setBV (const BVType &bv, NodeIterator node)=0 |
virtual void | setNrOfPrims (int size, NodeIterator node)=0 |
virtual void | setPrimIdx (int primIdx, NodeIterator node)=0 |
int | getPrimitive (const NodeIterator &leafnode, PRIMType &dst, size_t triNr) const |
get triangle nr triNr that the BVNode leafnode is bounding. The result is set in triangle tridst and the index of the triangle is returned More... | |
size_t | getNrPrimitives (const NodeIterator &leafnode) const |
a generic pointer based tree structure. This is not the most efficient structure for bounding volume trees. though it is quite generic and easy to work with because of its pointer based structure.