public

Inheritance Graph

graph BT
	SolidTree
	click SolidTree "classMinSG_1_1TriangleTrees_1_1SolidTree"

Description

Tree directly storing triangles only.

In contrast to the TriangleTree , the triangles are stored directly in the tree and all references to the original mesh are dropped. Only the positions of the vertices are stored without further information that might be available in the original mesh. The tree is implemented in a way that it is meant to build the tree once and never modify it.

Parameters

bound_t
Type used to describe the bounds of a tree node
triangle_t
Type of triangles stored in the tree

Author: Benjamin Eikel

Date: 2013-03-19

Public Types

   
   
typedef std::vector< SolidTree > children_t
   
typedef std::vector< triangle_t > triangles_t

Public Functions

   
   
  SolidTree()
Create a new, empty tree node (no children, no triangles).
template< class other_bound_t , class other_children_t , class other_triangles_t , typename >  
  SolidTree(other_bound_t && newBound, other_children_t && newChildren, other_triangles_t && newTriangles)
Create a new tree node storing the given data.
   
const bound_t & getBound() const
   
bool isLeaf() const
   
const children_t & getChildren() const
   
void setChildren(const children_t & newChildren)
   
const triangles_t & getTriangles() const
   
void setTriangles(const triangles_t & newTriangles)

Documentation

typedef
MinSG::TriangleTrees::SolidTree::children_t

public
 
 
typedef std::vector< SolidTree > children_t

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:38


typedef
MinSG::TriangleTrees::SolidTree::triangles_t

public
 
 
typedef std::vector< triangle_t > triangles_t

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:39


function
MinSG::TriangleTrees::SolidTree::SolidTree

public inline
   
   
SolidTree( )

Create a new, empty tree node (no children, no triangles).

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:42


function
MinSG::TriangleTrees::SolidTree::SolidTree

public inline
     
template< class other_bound_t , class other_children_t , class other_triangles_t , typename = typename std::enable_if< std::is_convertible<other_bound_t, bound_t>::value && std::is_convertible<other_children_t, children_t >::value && std::is_convertible<other_triangles_t, triangles_t >::value >::type >    
SolidTree( other_bound_t && newBound,
  other_children_t && newChildren,
  other_triangles_t && newTriangles
)    

Create a new tree node storing the given data.

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:57


function
MinSG::TriangleTrees::SolidTree::getBound

public const inline
   
   
const bound_t & getBound( ) const

Return the bound of this node.

Returns

Bound

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:70


function
MinSG::TriangleTrees::SolidTree::isLeaf

public const inline
   
   
bool isLeaf( ) const

Tell if the node is a leaf node.

Returns

trueif the node is a leaf andfalseif it is an inner node.

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:80


function
MinSG::TriangleTrees::SolidTree::getChildren

public const inline
   
   
const children_t & getChildren( ) const

Access the child nodes.

Returns

Array of children

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:89


function
MinSG::TriangleTrees::SolidTree::setChildren

public inline
     
     
void setChildren( const children_t & newChildren )

Set new child nodes.

Parameters

newChildren
Array of children

Note: The bounds of the children are not checked to be inside the bounds of this node.

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:100


function
MinSG::TriangleTrees::SolidTree::getTriangles

public const inline
   
   
const triangles_t & getTriangles( ) const

Access the triangles stored in this node.

Returns

Array of triangles

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:109


function
MinSG::TriangleTrees::SolidTree::setTriangles

public inline
     
     
void setTriangles( const triangles_t & newTriangles )

Store triangles in this node.

Parameters

newTriangles
Array of triangles

Note: The triangles are not checked to be inside the bounds of this node.

Defined in MinSG/Ext/TriangleTrees/SolidTree.h:120