VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
makVrv::DtSpeedTreeForest Class Reference

DtSpeedTreeForest is the SpeedTree implementation of a distributed DtForestObject. More...

Inheritance diagram for makVrv::DtSpeedTreeForest:
Inheritance graph
[legend]

Classes

struct  ModelDefParams

Public Member Functions

virtual ~DtSpeedTreeForest ()
virtual void addUniqueTree (DtTreeRecord &record)
 Add a tree to the forest.
virtual void removeTree (DtUniqueID record)
 Remove a tree from the forest.
virtual void removeAllTrees ()
 Remove all trees.
virtual DtUniqueID addUniqueTreesToUniqueCell (DtVectorTreeRecords &records)
virtual void removeAllUniqueTreesAndUniqueCell (DtUniqueID cellID)
virtual void setTreeClippingPlane (float fFar)
 Set the distance that trees are clipped.
virtual void getTreeClippingPlane (float &fFar)
 Get the clipping planes.
virtual void setTree3DLodDistances (float fNear, float fFar)
 Set the distances for tree LOD's.
virtual void getTree3DLodDistances (float &fNear, float &fFar)
 Set the distances for tree LOD's.
virtual void setTreeBillboardDistances (float fStart, float fEnd)
 Set the distances for tree billboard LOD's.
virtual void getTreeBillboardDistances (float &fStart, float &fEnd)
 Get the distances for tree billboard LOD's.
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::DtForestObject
virtual ~DtForestObject ()
 Destructor.
virtual DtDede ()
 IG accessor.
void addTree (DtTreeRecord &record)
 Add a tree to the forest.

Protected Types

typedef std::map< std::string,
ModelDefParams
MapModelDefToSTFileName
typedef boost::unordered_map
< DtUniqueID,
makOsgSpeedTree::TreeInstanceCollection > 
MapCellsToTrees
typedef boost::unordered_map
< DtUniqueID,
makOsgSpeedTree::TreeInstance * > 
MapTreeIDToTree

Protected Member Functions

 DtSpeedTreeForest (DtDe &de, DtUniqueID id)
 Constructor is protected because this class is created via the creator pattern.
 DtSpeedTreeForest (DtDe &de, DtUniqueID id, const std::string &strVisManagerType)
void init (const std::string &strVisManagerType)
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)
virtual DtModelDefinitionfindModelDefinition (const std::string &modelDef)
 Find a DtModelDefinition* from the model definition name.
bool createTree (DtTreeRecord &record)
 No-op. Always returns true.
void initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, const DtVector &up)
void initTreeDesc (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record, bool setupTopoFrame=true)
void applyModelDefParameters (makOsgSpeedTree::TreeInstanceDescriptor &desc, DtTreeRecord &record)
- Protected Member Functions inherited from makVrv::DtForestObject
 DtForestObject (DtDe &de, DtUniqueID id)
 Constructor is protected because this class is created via the creator pattern.

Static Protected Member Functions

static DtOsgCullVisitorParametersgetCullParameters (osg::RenderInfo &renderInfo)
static bool isCameraOrthographic (DtOsgCullVisitorParameters *params)
static float getZoomFactor (DtOsgCullVisitorParameters *params, DtDe &de)

Protected Attributes

makOsgSpeedTree::TreeInstanceDescriptor myScratchTreeInstanceDesc
makOsgSpeedTree::TreeInstanceDescriptorCollection myScratchTreeInstanceDescCollection
makOsgSpeedTree::TreeInstanceCollection myScratchInstanceCollection
MapModelDefToSTFileName myMapModelDefToSTFileName
int myPreviousTU
osg::Camera * myCamera
std::map< int, boolmyShaderBoundMap
float myHighDetail3dDistance
float myLowDetail3dDistance
float myBillboardStartDistance
float myBillboardEndDistance
float myFarPlane
osg::ref_ptr< osg::Group > myRoot
 The forest is a collection of trees under a group node.
osg::ref_ptr
< osg::PositionAttitudeTransform > 
myPat
osg::ref_ptr
< makOsgSpeedTree::Forest > 
myForest
osg::BoundingBox myBoundingBox
DtSpeedTreeCoremyCore
MapCellsToTrees myMapCellsToTrees
MapTreeIDToTree myMapTreeIDtoTree
unsigned int myLastShaderHash
 shader hash for the last shaders passed down to SpeedTree
- Protected Attributes inherited from makVrv::DtForestObject
DtDemyDe

Static Protected Attributes

static const float myCellSize

Friends

class DtSpeedTreeForestClassesCreator
class DtSpeedTreeForestCreator

Additional Inherited Members

- Public Types inherited from makVrv::DtForestObject
typedef boost::unordered_map
< DtUniqueID, DtTreeRecord
TreeRecordMap

Detailed Description

DtSpeedTreeForest is the SpeedTree implementation of a distributed DtForestObject.

Member Typedef Documentation

typedef std::map<std::string, ModelDefParams> makVrv::DtSpeedTreeForest::MapModelDefToSTFileName
protected
typedef boost::unordered_map<DtUniqueID, makOsgSpeedTree::TreeInstanceCollection> makVrv::DtSpeedTreeForest::MapCellsToTrees
protected
typedef boost::unordered_map<DtUniqueID, makOsgSpeedTree::TreeInstance*> makVrv::DtSpeedTreeForest::MapTreeIDToTree
protected

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.

makVrv::DtSpeedTreeForest::DtSpeedTreeForest ( DtDe de,
DtUniqueID  id,
const std::string &  strVisManagerType 
)
protected

Member Function Documentation

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

Add a tree to the forest.

Implements makVrv::DtForestObject.

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

Remove a tree from the forest.

Implements makVrv::DtForestObject.

virtual void makVrv::DtSpeedTreeForest::removeAllTrees ( )
virtual

Remove all trees.

Implements makVrv::DtForestObject.

virtual DtUniqueID makVrv::DtSpeedTreeForest::addUniqueTreesToUniqueCell ( DtVectorTreeRecords records)
virtual
virtual void makVrv::DtSpeedTreeForest::removeAllUniqueTreesAndUniqueCell ( DtUniqueID  cellID)
virtual
virtual void makVrv::DtSpeedTreeForest::setTreeClippingPlane ( float  fFar)
virtual

Set the distance that trees are clipped.

Not implemented in DtOsgForest (only DtSpeedTreeForest).

Implements makVrv::DtForestObject.

virtual void makVrv::DtSpeedTreeForest::getTreeClippingPlane ( float &  fFar)
virtual

Get the clipping planes.

Implements makVrv::DtForestObject.

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

Set the distances for tree LOD's.

Not implemented in DtOsgForest (only DtSpeedTreeForest).

Implements makVrv::DtForestObject.

virtual void makVrv::DtSpeedTreeForest::getTree3DLodDistances ( float &  fNear,
float &  fFar 
)
virtual

Set the distances for tree LOD's.

Not implemented in DtOsgForest (only DtSpeedTreeForest).

Implements makVrv::DtForestObject.

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

Set the distances for tree billboard LOD's.

Not implemented in DtOsgForest (only DtSpeedTreeForest).

Implements makVrv::DtForestObject.

virtual void makVrv::DtSpeedTreeForest::getTreeBillboardDistances ( float &  fStart,
float &  fEnd 
)
virtual

Get the distances for tree billboard LOD's.

Not implemented in DtOsgForest (only DtSpeedTreeForest).

Implements makVrv::DtForestObject.

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

void makVrv::DtSpeedTreeForest::init ( const std::string &  strVisManagerType)
protected
void makVrv::DtSpeedTreeForest::connectSignals ( void  )
protected
void makVrv::DtSpeedTreeForest::disconnectSignals ( void  )
protected
osg::Vec3f makVrv::DtSpeedTreeForest::computeWindDirection ( float  fDirection)
protected
void makVrv::DtSpeedTreeForest::setWindStrength ( float  fStrength)
protected
void makVrv::DtSpeedTreeForest::setWindDirection ( float  fDirection)
protected
bool makVrv::DtSpeedTreeForest::preUpdateCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
protected
bool makVrv::DtSpeedTreeForest::preRenderCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
protected
void makVrv::DtSpeedTreeForest::postUpdateCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
protected
void makVrv::DtSpeedTreeForest::postRenderCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
osg::RenderInfo &  renderInfo 
)
protected
void makVrv::DtSpeedTreeForest::provideTimeCallback ( osg::ref_ptr< makOsgSpeedTree::Forest >  forest,
double &  fTime 
)
protected
void makVrv::DtSpeedTreeForest::pushGraphicsState ( osg::RenderInfo &  renderInfo)
protected
void makVrv::DtSpeedTreeForest::popGraphicsState ( osg::RenderInfo &  renderInfo)
protected
virtual DtModelDefinition* makVrv::DtSpeedTreeForest::findModelDefinition ( const std::string &  modelDef)
protectedvirtual

Find a DtModelDefinition* from the model definition name.

bool makVrv::DtSpeedTreeForest::createTree ( DtTreeRecord record)
protected

No-op. Always returns true.

void makVrv::DtSpeedTreeForest::initTreeDesc ( makOsgSpeedTree::TreeInstanceDescriptor &  desc,
DtTreeRecord record,
const DtVector up 
)
protected
void makVrv::DtSpeedTreeForest::initTreeDesc ( makOsgSpeedTree::TreeInstanceDescriptor &  desc,
DtTreeRecord record,
bool  setupTopoFrame = true 
)
protected
void makVrv::DtSpeedTreeForest::applyModelDefParameters ( makOsgSpeedTree::TreeInstanceDescriptor &  desc,
DtTreeRecord record 
)
protected
static DtOsgCullVisitorParameters* makVrv::DtSpeedTreeForest::getCullParameters ( osg::RenderInfo &  renderInfo)
staticprotected
static bool makVrv::DtSpeedTreeForest::isCameraOrthographic ( DtOsgCullVisitorParameters params)
staticprotected
static float makVrv::DtSpeedTreeForest::getZoomFactor ( DtOsgCullVisitorParameters params,
DtDe de 
)
staticprotected

Friends And Related Function Documentation

friend class DtSpeedTreeForestClassesCreator
friend
friend class DtSpeedTreeForestCreator
friend

Member Data Documentation

const float makVrv::DtSpeedTreeForest::myCellSize
staticprotected
makOsgSpeedTree::TreeInstanceDescriptor makVrv::DtSpeedTreeForest::myScratchTreeInstanceDesc
protected
makOsgSpeedTree::TreeInstanceDescriptorCollection makVrv::DtSpeedTreeForest::myScratchTreeInstanceDescCollection
protected
makOsgSpeedTree::TreeInstanceCollection makVrv::DtSpeedTreeForest::myScratchInstanceCollection
protected
MapModelDefToSTFileName makVrv::DtSpeedTreeForest::myMapModelDefToSTFileName
protected
int makVrv::DtSpeedTreeForest::myPreviousTU
protected
osg::Camera* makVrv::DtSpeedTreeForest::myCamera
protected
std::map<int, bool> makVrv::DtSpeedTreeForest::myShaderBoundMap
protected
float makVrv::DtSpeedTreeForest::myHighDetail3dDistance
protected
float makVrv::DtSpeedTreeForest::myLowDetail3dDistance
protected
float makVrv::DtSpeedTreeForest::myBillboardStartDistance
protected
float makVrv::DtSpeedTreeForest::myBillboardEndDistance
protected
float makVrv::DtSpeedTreeForest::myFarPlane
protected
osg::ref_ptr<osg::Group> makVrv::DtSpeedTreeForest::myRoot
protected

The forest is a collection of trees under a group node.

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
MapCellsToTrees makVrv::DtSpeedTreeForest::myMapCellsToTrees
protected
MapTreeIDToTree makVrv::DtSpeedTreeForest::myMapTreeIDtoTree
protected
unsigned int makVrv::DtSpeedTreeForest::myLastShaderHash
protected

shader hash for the last shaders passed down to SpeedTree


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

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)