VR-Forces 5.0.3 Developer's Guide
 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) 2020 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 DtForestObjectCreator;
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 
78  virtual void setBillboardFadeOutRange(float fRange) = 0;
79 
81  virtual void getBillboardFadeOutRange(float& fRange) = 0;
82 
85  void addTree(DtTreeRecord& record);
86 
88 
90  virtual DtDe& de();
91 
92  protected:
93 
96 
97  protected:
99  };
100 
104  {
105 
106  public:
107 
110  static DtForestObjectCreator& instance(DtDe& de);
111 
113  static void registerInstance(DtDe& de, DtForestObjectCreator* instance = 0);
114 
116  virtual DtForestObject* create(DtDe& de, DtUniqueID id);
117 
118  };
119 
120 }
121 
122 #endif
123 
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
DtForestObject provides a way to make lots of trees.
Definition: DtForestObject.h:26
A DtTreeRecord holds the requisite information needed to create a tree in a forest.
Definition: DtTreeRecord.h:30
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtDe & myDe
Definition: DtForestObject.h:98
boost::unordered_map< DtUniqueID, DtTreeRecord > TreeRecordMap
Definition: DtForestObject.h:35
Contains makVrv::DtAgentUpdateResolver class.
The DtForestObjectCreator for the DtForestObject class.
Definition: DtForestObject.h:103
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Contains makVrv::DtTreeRecord class.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)