SIM_BVTree Class Reference

#include <SIM_BVTree.h>

Inheritance diagram for SIM_BVTree:

SIM_BVTreeBase SIM_Data

List of all members.

Public Member Functions

void createTree (simBVTreeType, BV_LeafIterator &leafIt)
void updateExtents (BV_LeafIterator &leafIt)
BV_TreegetTree ()
const BV_TreegetTree () const

Static Public Attributes

static PRM_Template theGuideTemplates []

Protected Member Functions

 SIM_BVTree (const SIM_DataFactory *factory)
virtual ~SIM_BVTree ()
virtual bool getIsAlternateRepresentationSubclass () const
virtual void initAlternateRepresentationSubclass (const SIM_Data &)
virtual SIM_GuidecreateGuideObjectSubclass () const
virtual void buildGuideGeometrySubclass (const SIM_RootData &root, const SIM_Options &options, const GU_DetailHandle &gdh, UT_DMatrix4 *xform, const SIM_Time &t) const


Detailed Description

This class is a regular BV tree. It is implemented as an "alternate representation". When being initialized, it does not grab data directly from the parent data, but looks for a child SIM_BVTreeStructure of the parent, and builds itself from that.

Definition at line 107 of file SIM_BVTree.h.


Constructor & Destructor Documentation

SIM_BVTree::SIM_BVTree ( const SIM_DataFactory factory  )  [explicit, protected]

virtual SIM_BVTree::~SIM_BVTree (  )  [protected, virtual]


Member Function Documentation

virtual void SIM_BVTree::buildGuideGeometrySubclass ( const SIM_RootData root,
const SIM_Options options,
const GU_DetailHandle gdh,
UT_DMatrix4 xform,
const SIM_Time t 
) const [protected, virtual]

Override this function to create custom guide geometry for this class. This method should add geometry to the gdp (if supplied), not alter anything that is already there. The xform will always default to an identity matrix. The gdp pointer or the xform pointer may be null, in which case the other should still be calculated.

Reimplemented from SIM_Data.

virtual SIM_Guide* SIM_BVTree::createGuideObjectSubclass (  )  const [protected, virtual]

Override this to create a custom SIM_Guide subclass. The SIM_Guide class controls how requests for guide geometry are translated into actual geometry creation.

Reimplemented from SIM_Data.

void SIM_BVTree::createTree ( simBVTreeType  ,
BV_LeafIterator leafIt 
)

Creation is unnecessary if using the auxiliary BVStructure data. If BVStructure is not being used, however, this method can be used to set up a vanilla bv tree.

virtual bool SIM_BVTree::getIsAlternateRepresentationSubclass (  )  const [protected, virtual]

Override this method to return true if your data type is built on demand. This is true for data that is just an alternative representation of some other data. This has several consequences. First, it implies that the data can be rebuilt from other data on the object, therefore it is not saved to disk. Also, it is assumed to be represent its parent data, so any modifications to the parent data cause this data to be deleted. If you override this method, do not call the base class implementation.

Reimplemented from SIM_Data.

const BV_Tree* SIM_BVTree::getTree (  )  const

Reimplemented from SIM_BVTreeBase.

BV_Tree* SIM_BVTree::getTree (  ) 

Reimplemented from SIM_BVTreeBase.

virtual void SIM_BVTree::initAlternateRepresentationSubclass ( const SIM_Data  )  [protected, virtual]

Override this function if getIsAlternateRepresentationSubclass() is overridden to return true. This function is used to initialize the alternate representation based on the data to which it was just attached.

Reimplemented from SIM_Data.

void SIM_BVTree::updateExtents ( BV_LeafIterator leafIt  ) 

Initialize usingany structure data on the parent, then update the extents.


Member Data Documentation

Definition at line 121 of file SIM_BVTree.h.


The documentation for this class was generated from the following file:

Generated on Mon Jan 28 00:29:52 2013 for HDK by  doxygen 1.5.9