13 #ifndef DtOsgForest_H_
14 #define DtOsgForest_H_
19 #include <osg/ref_ptr>
24 class DtOsgModelInstance;
33 typedef std::map<DtUniqueID, osg::PositionAttitudeTransform*>
TreePatMap;
36 friend class DtOsgForestClassesCreator;
51 virtual void removeAllTrees();
54 virtual void setTreeClippingPlane(
float fFar);
57 virtual void setTree3DLodDistances(
float fNear,
float fFar);
60 virtual void getTreeClippingPlane(
float& fFar);
63 virtual void getTree3DLodDistances(
float& fNear,
float& fFar);
66 virtual void setTreeBillboardDistances(
float fStart,
float fEnd);
69 virtual void getTreeBillboardDistances(
float& fStart,
float& fEnd);
82 unsigned int treeCount()
const;
88 virtual DtTreeModel* findTreeModel(
const std::string& modelDef);
91 virtual DtModelInstance* findModelInstance(
const std::string& modelDef);
94 virtual osg::Group* rootGroup();
106 virtual osg::PositionAttitudeTransform* createPat(
const DtTreeRecord &record );
112 virtual osg::PositionAttitudeTransform* findPat(
const DtUniqueID id);
118 virtual void slot_treeModelInstanceToBeDestroyed(
const std::string& modelDef);
121 virtual void removeTreeModel(
const std::string& modelDef);
124 virtual void slot_treeModelInstanceCreated(
const std::string& modelDef);