VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtForestObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtForestObject_H_
11 #define DtForestObject_H_
12 
13 #include <vrvCore/DtTreeRecord.h>
16 #include <boost/unordered_map.hpp>
17 
18 namespace makVrv
19 {
20  class DtDe;
21  class DtModelInstance;
22  class DtModelDefinition;
23 
27  {
28 
29  public:
30 
32  friend class DtForestObjectClassesCreator;
33  friend class DtForestCreator;
34 
35  typedef boost::unordered_map<DtUniqueID, DtTreeRecord> TreeRecordMap;
36 
38  virtual ~DtForestObject();
39 
43 
44 
46  virtual void addUniqueTree(DtTreeRecord& record) = 0;
47 
49  virtual void removeTree(DtUniqueID treeId) = 0;
50 
52  virtual void removeAllTrees() = 0;
53 
56  virtual void setTreeClippingPlane(float fFar) = 0;
57 
59  virtual void getTreeClippingPlane( float& fFar) = 0;
60 
63  virtual void setTree3DLodDistances(float fNear, float fFar) = 0;
64 
67  virtual void getTree3DLodDistances(float& fNear, float& fFar) = 0;
68 
71  virtual void setTreeBillboardDistances(float fStart, float fEnd) = 0;
72 
75  virtual void getTreeBillboardDistances(float& fStart, float& fEnd) = 0;
76 
79  void addTree(DtTreeRecord& record);
80 
82 
84  virtual DtDe& de();
85 
86  protected:
87 
90 
91  protected:
93  };
94 
98  {
99 
100  public:
101 
104  static DtForestCreator& instance(DtDe& de);
105 
107  static void registerInstance(DtDe& de, DtForestCreator* instance = 0);
108 
110  virtual DtForestObject* create(DtDe& de, DtUniqueID id);
111 
112  };
113 
114 }
115 
116 #endif
117 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)