VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtForest.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 DtForest_H_
11 #define DtForest_H_
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtUniqueID.h>
16 
17 #include <string>
18 
19 
20 namespace makArchives { class DtForestSettingsRecord; }
21 
22 namespace makVrv
23 {
24 
25  class DtProp;
26  class DtAgentManagerInterface;
27  class DtForestObjectAgent;
28  class DtTreeRecord;
29  class DtModelDefinition;
30  class DtTerrainTreeSettings;
31 
36  {
37  public:
38 
41 
43  ~DtForest();
44 
46  void setClippingPlanes(float farPlane);
47 
49  void getClippingPlanes(float& farPlane) const;
50 
52  void set3DLodDistances(float nearLOD, float farLOD);
53 
55  void get3DLodDistances(float& nearLOD, float& farLOD) const;
56 
58  void setBillboardDistances(float fStart, float fEnd);
59 
61  void setBillboardFadeOutRange(float range);
62 
64  void getBillboardDistances(float& fStart, float& fEnd) const;
65 
67  void addTree(const DtTreeRecord& record);
68 
70  void removeTree(const DtTreeRecord& record);
71 
73  void addTree(const DtProp& prop);
74 
76  void setSpeedTreeSettings(DtTreeRecord& treeRecord
77  , const DtTerrainTreeSettings* terrainTreeSettings);
78 
80  void setScaleAndOrientation(DtTreeRecord& treeRecord
81  , const bool isTreeScaleRandomizationEnabled, const float minScale, const float maxScale
82  , const bool isTreeOrientationRandomizationEnabled);
83 
85  void removeTree(const DtProp& propID);
86 
88  void removeTree(const DtUniqueID& uniqueId);
89 
91  void removeAllTrees();
92 
94  DtForestObjectAgent* driver();
95 
96  protected:
98  DtForestObjectAgent* myForestAgent;
99 
100  float myFarPlane;
101 
104 
107 
109  };
110 
111 
115  {
116 
117  public:
118 
120  virtual DtForest* create(DtAgentManagerInterface& sceneManagerInterface) const;
121 
124  static DtForestCreator& instance(DtDe& de);
125 
127  static void registerInstance(DtDe& de, DtForestCreator* instance = 0);
128  };
129 }
130 
131 #endif
132 
A wrapper around the forest driver and some local state of the forest.
Definition: DtForest.h:35
Virtual base class.
Definition: DtVirtualBaseClass.h:19
float myBillboardStartDistance
Definition: DtForest.h:105
float myLowDetail3DDistance
Definition: DtForest.h:103
float myBillboardEndDistance
Definition: DtForest.h:106
Facade object for a scene prop.
Definition: DtProp.h:34
A DtTreeRecord holds the requisite information needed to create a tree in a forest.
Definition: DtTreeRecord.h:30
Contains makVrv::DtVirtualBaseClass class.
float myHighDetail3DDistance
Definition: DtForest.h:102
float myFarPlane
Definition: DtForest.h:100
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtAgentManagerInterface & mySceneInterface
Definition: DtForest.h:97
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
float myBillboardFadeOutRange
Definition: DtForest.h:108
DtForestObjectAgent * myForestAgent
Definition: DtForest.h:98
Contains makVrv::DtUniqueID type.
The abstract interface necessary for agents.
Definition: DtAgentManagerInterface.h:33
Class for setting and maintaining state for user-modifiable TerrainTree settings All of the TerrainTr...
Definition: DtTerrainTreeSettings.h:28
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
The DtForestCreator for the DtForest class.
Definition: DtForest.h:114
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)