VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | Friends
makVrv::DtSpeedTreeForest Class Reference
Inheritance diagram for makVrv::DtSpeedTreeForest:
Inheritance graph
[legend]

Public Member Functions

virtual ~DtSpeedTreeForest ()
virtual void addUniqueTree (const DtTreeRecord &record)
 Add a tree to the forest.
virtual void removeTree (DtUniqueID record)
 Remove a tree from the forest.
virtual void setTreeClippingPlane (float fFar)
 Set the distance that trees are clipped.
virtual void setTree3DLodDistances (float fNear, float fFar)
 Set the distances for tree LOD's.
virtual void setTreeBillboardDistances (float fStart, float fEnd)
 Set the distances for tree billboards.
virtual DtSpeedTreeModelInstancefindSpeedTreeModelInstance (const std::string &modelDef)
 Find a DtSpeedTreeModelInstance from the model definition name.
void setBoundingBox (const osg::BoundingBox &box)
const osg::BoundingBox & getBoundingBox (void) const
osg::ref_ptr< osg::Node > getRootNode (void)
 gets the root node for this forest which contains the stateset for the forest
void programBoundCallback (osg::ref_ptr< makOsgSpeedTree::Forest > pForest, const makOsgSpeedTree::TreeType *pTreeType, uint32 programID)
 callback from when a shader is loaded in speedtree so VRV can bind its own uniforms
- Public Member Functions inherited from makVrv::DtOsgForest
virtual ~DtOsgForest ()
 Destructor.
virtual void removeAllTrees ()
 Remove all trees.
virtual void getTreeClippingPlane (float &fFar)
 Get the distance that trees are clipped.
virtual void getTree3DLodDistances (float &fNear, float &fFar)
 Get the distances for tree LOD's.
virtual void getTreeBillboardDistances (float &fStart, float &fEnd)
 Get the distances for tree billboards.
unsigned int treeCount () const
 Get the number of trees.
virtual DtTreeRecordfindTreeRecord (DtUniqueID id)
 Find a DtTreeRecord based on it's id.
virtual DtTreeModelfindTreeModel (const std::string &modelDef)
 Find a DtTreeModel from a model definition name.
virtual DtModelInstancefindModelInstance (const std::string &modelDef)
 Find a DtModelInstance from a model definition name.
virtual osg::Group * rootGroup ()
 Get the root group node.
- Public Member Functions inherited from makVrv::DtForestObject
virtual ~DtForestObject ()
 Destructor.
virtual DtDede ()
 IG accessor.
void addTree (const DtTreeRecord &record)
 Add a tree to the forest.
virtual DtModelDefinitionfindModelDefinition (const std::string &modelDef)
 Find a DtModelDefinition* from the model definition name.
virtual const TreeRecordMaptreeRecordMap () const
 Return the treeRecordMap.

Protected Member Functions

 DtSpeedTreeForest (DtDe &de, DtUniqueID id)
 Constructor is protected because this class is created via the creator pattern.
virtual void slot_treeModelInstanceToBeDestroyed (const std::string &modelDef)
 Called when the model instance for a particular model definition is about to be destroyed.
virtual void slot_treeModelInstanceCreated (const std::string &modelDef)
 Called when the model instance for a particular model definition is created.
virtual DtTreeModelcastUpdaterToTreeModel (DtAgentUpdateResolverInterface *updater)
 Casts a DtAgentUpdateResolverInterface to a DtSpeedTreeModel.
virtual bool createTree (const DtTreeRecord &record)
 No-op. Always returns true.
- Protected Member Functions inherited from makVrv::DtOsgForest
 DtOsgForest (DtDe &de, DtUniqueID id)
 Constructor is protected because this class is created via the creator pattern.
virtual
osg::PositionAttitudeTransform * 
createPat (const DtTreeRecord &record)
virtual DtOsgModelInstancefindOsgModelInstance (const std::string &modelDef)
 Find a DtOsgModelInstance from a model definition name.
virtual
osg::PositionAttitudeTransform * 
findPat (const DtUniqueID id)
 Find a osg::PositionAttitudeTransform* from an id.
virtual void removePat (const DtUniqueID id)
 Find a osg::PositionAttitudeTransform* from an id.
virtual void removeTreeModel (const std::string &modelDef)
 Remove a DtTreeModel of a particular model definition.
- Protected Member Functions inherited from makVrv::DtForestObject
 DtForestObject (DtDe &de, DtUniqueID id)
 Constructor is protected because this class is created via the creator pattern.

Protected Attributes

osg::ref_ptr
< osg::PositionAttitudeTransform > 
myPat
osg::ref_ptr
< makOsgSpeedTree::Forest > 
myForest
osg::BoundingBox myBoundingBox
DtSpeedTreeCoremyCore
- Protected Attributes inherited from makVrv::DtOsgForest
TreePatMap myTreePatMap
osg::ref_ptr< osg::Group > myRoot
 The forest is a collection of trees under a group node.
float myFarPlane
float myHighDetail3dDistance
float myLowDetail3dDistance
float myBillboardStartDistance
float myBillboardEndDistance
- Protected Attributes inherited from makVrv::DtForestObject
DtDemyDe
TreeRecordMap myTreeRecordMap
TreeModelMap myTreeModelMap

Private Types

typedef boost::unordered_map
< DtUniqueID,
makOsgSpeedTree::TreeInstance * > 
MapIdsToTreeInstances
typedef std::map< const
DtModelDefinition
*, std::string > 
MapModelDefToSTFileName

Private Member Functions

void connectSignals (void)
void disconnectSignals (void)
osg::Vec3f computeWindDirection (float fDirection)
void setWindStrength (float fStrength)
void setWindDirection (float fDirection)
bool preUpdateCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo)
bool preRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo)
void postUpdateCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo)
void postRenderCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, osg::RenderInfo &renderInfo)
void provideTimeCallback (osg::ref_ptr< makOsgSpeedTree::Forest > forest, double &fTime)
void pushGraphicsState (osg::RenderInfo &renderInfo)
void popGraphicsState (osg::RenderInfo &renderInfo)

Private Attributes

MapIdsToTreeInstances myTreeInstances
makOsgSpeedTree::TreeInstanceDescriptor myScratchTreeInstanceDesc
MapModelDefToSTFileName myMapModelDefToSTFileName
int myPreviousTU
osg::Camera * myCamera
std::map< int, boolmyShaderBoundMap

Static Private Attributes

static const float myCellSize

Friends

class DtSpeedTreeForestClassesCreator
class DtSpeedTreeForestCreator

Additional Inherited Members

- Public Types inherited from makVrv::DtOsgForest
typedef std::map< DtUniqueID,
osg::PositionAttitudeTransform * > 
TreePatMap

Member Typedef Documentation

typedef boost::unordered_map<DtUniqueID, makOsgSpeedTree::TreeInstance*> makVrv::DtSpeedTreeForest::MapIdsToTreeInstances
private
typedef std::map<const DtModelDefinition*, std::string> makVrv::DtSpeedTreeForest::MapModelDefToSTFileName
private

Constructor & Destructor Documentation

virtual makVrv::DtSpeedTreeForest::~DtSpeedTreeForest ( )
virtual
makVrv::DtSpeedTreeForest::DtSpeedTreeForest ( DtDe de,
DtUniqueID  id 
)
protected

Constructor is protected because this class is created via the creator pattern.

Member Function Documentation

virtual void makVrv::DtSpeedTreeForest::addUniqueTree ( const DtTreeRecord record)
virtual

Add a tree to the forest.

Reimplemented from makVrv::DtOsgForest.

virtual void makVrv::DtSpeedTreeForest::removeTree ( DtUniqueID  id)
virtual

Remove a tree from the forest.

Reimplemented from makVrv::DtOsgForest.

virtual void makVrv::DtSpeedTreeForest::setTreeClippingPlane ( float  fFar)
virtual

Set the distance that trees are clipped.

Reimplemented from makVrv::DtOsgForest.

virtual void makVrv::DtSpeedTreeForest::setTree3DLodDistances ( float  fNear,
float  fFar 
)
virtual

Set the distances for tree LOD's.

Reimplemented from makVrv::DtOsgForest.

virtual void makVrv::DtSpeedTreeForest::setTreeBillboardDistances ( float  fStart,
float  fEnd 
)
virtual

Set the distances for tree billboards.

Reimplemented from makVrv::DtOsgForest.

virtual DtSpeedTreeModelInstance* makVrv::DtSpeedTreeForest::findSpeedTreeModelInstance ( const std::string &  modelDef)
virtual

Find a DtSpeedTreeModelInstance from the model definition name.

void makVrv::DtSpeedTreeForest::setBoundingBox ( const osg::BoundingBox &  box)
const osg::BoundingBox& makVrv::DtSpeedTreeForest::getBoundingBox ( void  ) const
osg::ref_ptr<osg::Node> makVrv::DtSpeedTreeForest::getRootNode ( void  )

gets the root node for this forest which contains the stateset for the forest

void makVrv::DtSpeedTreeForest::programBoundCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  pForest,
const makOsgSpeedTree::TreeType *  pTreeType,
uint32  programID 
)

callback from when a shader is loaded in speedtree so VRV can bind its own uniforms

virtual void makVrv::DtSpeedTreeForest::slot_treeModelInstanceToBeDestroyed ( const std::string &  modelDef)
protectedvirtual

Called when the model instance for a particular model definition is about to be destroyed.

Reimplemented from makVrv::DtOsgForest.

virtual void makVrv::DtSpeedTreeForest::slot_treeModelInstanceCreated ( const std::string &  modelDef)
protectedvirtual

Called when the model instance for a particular model definition is created.

Reimplemented from makVrv::DtOsgForest.

virtual DtTreeModel* makVrv::DtSpeedTreeForest::castUpdaterToTreeModel ( DtAgentUpdateResolverInterface updater)
protectedvirtual
virtual bool makVrv::DtSpeedTreeForest::createTree ( const DtTreeRecord record)
protectedvirtual

No-op. Always returns true.

Reimplemented from makVrv::DtOsgForest.

void makVrv::DtSpeedTreeForest::connectSignals ( void  )
private
void makVrv::DtSpeedTreeForest::disconnectSignals ( void  )
private
osg::Vec3f makVrv::DtSpeedTreeForest::computeWindDirection ( float  fDirection)
private
void makVrv::DtSpeedTreeForest::setWindStrength ( float  fStrength)
private
void makVrv::DtSpeedTreeForest::setWindDirection ( float  fDirection)
private
bool makVrv::DtSpeedTreeForest::preUpdateCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
private
bool makVrv::DtSpeedTreeForest::preRenderCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
private
void makVrv::DtSpeedTreeForest::postUpdateCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
private
void makVrv::DtSpeedTreeForest::postRenderCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
private
void makVrv::DtSpeedTreeForest::provideTimeCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
double &  fTime 
)
private
void makVrv::DtSpeedTreeForest::pushGraphicsState ( osg::RenderInfo &  renderInfo)
private
void makVrv::DtSpeedTreeForest::popGraphicsState ( osg::RenderInfo &  renderInfo)
private

Friends And Related Function Documentation

friend class DtSpeedTreeForestClassesCreator
friend
friend class DtSpeedTreeForestCreator
friend

Member Data Documentation

osg::ref_ptr<osg::PositionAttitudeTransform> makVrv::DtSpeedTreeForest::myPat
protected
osg::ref_ptr<makOsgSpeedTree::Forest> makVrv::DtSpeedTreeForest::myForest
protected
osg::BoundingBox makVrv::DtSpeedTreeForest::myBoundingBox
protected
DtSpeedTreeCore& makVrv::DtSpeedTreeForest::myCore
protected
MapIdsToTreeInstances makVrv::DtSpeedTreeForest::myTreeInstances
private
makOsgSpeedTree::TreeInstanceDescriptor makVrv::DtSpeedTreeForest::myScratchTreeInstanceDesc
private
MapModelDefToSTFileName makVrv::DtSpeedTreeForest::myMapModelDefToSTFileName
private
const float makVrv::DtSpeedTreeForest::myCellSize
staticprivate
int makVrv::DtSpeedTreeForest::myPreviousTU
private
osg::Camera* makVrv::DtSpeedTreeForest::myCamera
private
std::map<int, bool> makVrv::DtSpeedTreeForest::myShaderBoundMap
private

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

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)