public abstract

Inheritance Graph

graph BT
	Builder
	ABTreeBuilder --> Builder
	kDTreeBuilder --> Builder
	OctreeBuilder --> Builder
	RandomizedSampleTreeBuilder --> Builder
	click Builder "classMinSG_1_1TriangleTrees_1_1Builder"
	click ABTreeBuilder "classMinSG_1_1TriangleTrees_1_1ABTreeBuilder"
	click kDTreeBuilder "classMinSG_1_1TriangleTrees_1_1kDTreeBuilder"
	click OctreeBuilder "classMinSG_1_1TriangleTrees_1_1OctreeBuilder"
	click RandomizedSampleTreeBuilder "classMinSG_1_1TriangleTrees_1_1RandomizedSampleTreeBuilder"

Description

Public interface for building trees on triangle level.

Author: Benjamin Eikel

Date: 2011-07-22

Public Static Functions

   
   
Rendering::Mesh * mergeGeometry(const std::vector< GeometryNode * > & geoNodes)
   
Node * buildMinSGTree( Rendering::Mesh * mesh, Builder & builder)

Public Functions

   
   
TriangleTree * buildTriangleTree( Rendering::Mesh * mesh)

Protected Functions

   
   
  ~Builder()

Protected Static Functions

   
   
Node * convert(const TriangleTree * treeNode, const Rendering::VertexDescription & vertexDesc)

Documentation

function
MinSG::TriangleTrees::Builder::mergeGeometry

public static
     
     
Rendering::Mesh * mergeGeometry( const std::vector< GeometryNode * > & geoNodes )

Collect all meshes from the GeometryNodes and store them together in a single mesh. The global transformation of the GeometryNodes is respected.

Parameters

geoNodes
Container with GeometryNodes.

Returns

A new mesh containing all the mesh data.

Exceptions

Exception
describing what went wrong.

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


function
MinSG::TriangleTrees::Builder::buildMinSGTree

public static
     
     
Node * buildMinSGTree( Rendering::Mesh * mesh,
  Builder & builder
)    

Take the triangles from the given mesh and organize them in a hierarchical spatial data structure.

Parameters

mesh
Container holding the triangles.
builder
Builder specifying the way in which the tree will be built.

Returns

Root node of the tree.

Defined in MinSG/Ext/TriangleTrees/TriangleTreeBuilder.h:51


function
MinSG::TriangleTrees::Builder::buildTriangleTree

public virtual
     
     
TriangleTree * buildTriangleTree( Rendering::Mesh * mesh )

Take the triangles from the given mesh and organize them in the way that is defined by this builder.

Parameters

mesh
Container holding the triangles.

Returns

Root node of the tree.

Defined in MinSG/Ext/TriangleTrees/TriangleTreeBuilder.h:59


function
MinSG::TriangleTrees::Builder::~Builder

protected inline virtual
   
   
~Builder( )

Defined in MinSG/Ext/TriangleTrees/TriangleTreeBuilder.h:62


function
MinSG::TriangleTrees::Builder::convert

protected static
     
     
Node * convert( const TriangleTree * treeNode,
  const Rendering::VertexDescription & vertexDesc
)    

Convert TriangleTree nodes into MinSG nodes. Inner nodes will be converted to ListNodes. Leaves will be converted to GeometryNodes.

Parameters

treeNode
Root node of the tree to convert.
vertexDesc
Vertex description for the mesh data stored in the tree.

Returns

Converted MinSG node.

Defined in MinSG/Ext/TriangleTrees/TriangleTreeBuilder.h:74