13 #ifndef DtForestObject_H_
14 #define DtForestObject_H_
22 #include <boost/unordered_map.hpp>
28 class DtModelInstance;
29 class DtModelDefinition;
39 friend class DtForestObjectClassesCreator;
43 typedef boost::unordered_map<std::string, DtTreeModel*>
TreeModelMap;
58 virtual void removeTree(
DtUniqueID treeId) = 0;
61 virtual void removeAllTrees() = 0;
65 virtual void setTreeClippingPlane(
float fFar) = 0;
68 virtual void getTreeClippingPlane(
float& fFar) = 0;
72 virtual void setTree3DLodDistances(
float fNear,
float fFar) = 0;
76 virtual void getTree3DLodDistances(
float& fNear,
float& fFar) = 0;
80 virtual void setTreeBillboardDistances(
float fStart,
float fEnd) = 0;
84 virtual void getTreeBillboardDistances(
float& fStart,
float& fEnd) = 0;
95 virtual void addUniqueTree(
const DtTreeRecord& record) = 0;
101 virtual DtTreeModel* findTreeModel(
const std::string& modelDef) = 0;
104 virtual DtModelInstance* findModelInstance(
const std::string& modelDef) = 0;
123 virtual bool createTree(
const DtTreeRecord& record) = 0;
126 virtual void slot_treeModelInstanceToBeDestroyed(
const std::string& modelDef) = 0;
129 virtual void removeTreeModel(
const std::string& modelDef) = 0;
132 virtual void slot_treeModelInstanceCreated(
const std::string& modelDef) = 0;