Simbody
3.5
|
This class represents a node in the Oriented Bounding Box Tree for a TriangleMesh. More...
Public Member Functions | |
OBBTreeNode (const OBBTreeNodeImpl &impl) | |
const OrientedBoundingBox & | getBounds () const |
Get the OrientedBoundingBox which encloses all triangles in this node or its children. More... | |
bool | isLeafNode () const |
Get whether this is a leaf node. More... | |
const OBBTreeNode | getFirstChildNode () const |
Get the first child node. More... | |
const OBBTreeNode | getSecondChildNode () const |
Get the second child node. More... | |
const Array_< int > & | getTriangles () const |
Get the indices of all triangles contained in this node. More... | |
int | getNumTriangles () const |
Get the number of triangles inside this node. More... | |
This class represents a node in the Oriented Bounding Box Tree for a TriangleMesh.
Each node has an OrientedBoundingBox that fully encloses all triangles contained within it or its children. This is a binary tree: each non-leaf node has two children. Triangles are stored only in the leaf nodes.
SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::OBBTreeNode | ( | const OBBTreeNodeImpl & | impl | ) |
const OrientedBoundingBox& SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::getBounds | ( | ) | const |
Get the OrientedBoundingBox which encloses all triangles in this node or its children.
bool SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::isLeafNode | ( | ) | const |
Get whether this is a leaf node.
const OBBTreeNode SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::getFirstChildNode | ( | ) | const |
Get the first child node.
Calling this on a leaf node will produce an exception.
const OBBTreeNode SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::getSecondChildNode | ( | ) | const |
Get the second child node.
Calling this on a leaf node will produce an exception.
const Array_<int>& SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::getTriangles | ( | ) | const |
Get the indices of all triangles contained in this node.
Calling this on a non-leaf node will produce an exception.
int SimTK::ContactGeometry::TriangleMesh::OBBTreeNode::getNumTriangles | ( | ) | const |
Get the number of triangles inside this node.
If this is not a leaf node, this is the total number of triangles contained by all children of this node.