VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtTerrainPatchObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2023 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
15 #include <vrvCore/DtTreeRecord.h>
16 
18 
19 #include <matrix/vlVector.h>
20 
21 #include <string>
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtForestObject;
27  class DtTerrainOverlayOperation;
28  class DtSceneObject;
29  class DtModel;
30 
36  {
37  public:
38 
41  static const double TheEarthRadius;
42 
45 
47  virtual ~DtTerrainPatchObject();
48 
49  //@ name Driver-bound methods:
51 
53  virtual void setTerrainDefinition(const std::string& modelDefinitionName);
54 
56  const std::string& terrainDefinitionName() const;
57 
59  virtual void enableOverlay(int type, const std::string& definition) = 0;
60 
62  virtual void disableOverlay(int type) = 0;
63 
65  virtual void disableAllOverlays() = 0;
66 
68  virtual void setOverlayScale(int type, double x, double y) = 0;
69 
71  virtual void setOverlayOffset(int type, double x, double y) = 0;
72 
74  virtual void setWrapMode(int type, int clamp) = 0;
75 
77  virtual void setBlendMode(int type, int clamp) = 0;
78 
80  virtual void setRasterLayerPosition(int type, int pos) = 0;
81 
83  virtual void setLayerEnabled(const std::string& rule, bool status) = 0;
84 
86  virtual void extractNodes(const std::string& rule, bool isRegEx) = 0;
87 
89  virtual void extractOceanNodes(const std::string& rule, bool isRegEx) = 0;
90 
92  virtual void extractSpeedTreeNodes(const std::string& rule, bool isRegEx, const std::string& modelDefinition) = 0;
93 
95  virtual void realizeExtractedSpeedTrees(const DtVectorTreeRecords& trees) = 0;
96 
98  virtual void setTerrainTreeScaleRandomization(bool isRandomized) = 0;
99 
101  virtual void setTerrainTreeMinScale(double minScale) = 0;
102 
104  virtual void setTerrainTreeMaxScale(double maxScale) = 0;
105 
107  virtual void setTerrainTreeOrientationRandomization(bool isRandomized) = 0;
108 
110  virtual void setIsMinimapOnly(bool isForMinimap) = 0;
111  virtual bool isMinimapOnly() const = 0;
113 
115  virtual void setIsPageable(bool isPageable) = 0;
117  virtual bool isPageable() const = 0;
119 
121  virtual void setPageableCenterPosition(const DtVector& pageableCenter) = 0;
125  virtual DtVector pageableCenterPosition() const = 0;
127 
129  virtual void setPageableRadius(double radius) = 0;
133  virtual double pageableRadius() const = 0;
135 
137  virtual void setPageOutDistance(double pageOutDistance) = 0;
141  virtual double pageOutDistance() const = 0;
143 
145  virtual std::string overlayDefinition(int type) = 0;
147  virtual std::vector<double> overlayScale(int type) = 0;
148  virtual std::vector<double> overlayOffset(int type) = 0;
149  virtual DtTerrainOverlayOperation defaultOverlay(int type) = 0;
150  virtual DtTerrainOverlayOperation currentOverlay(int type) = 0;
151 
153  virtual void getTerrainExtents(DtVector& nw, DtVector& ne, DtVector& sw, DtVector& se) const = 0;
154 
156  virtual void getBoundingBoxMinMax(DtVector& min, DtVector& max) const = 0;
157 
159  virtual DtVector getDatabaseOrigin() const = 0;
160 
163  virtual int countNodes(const std::string& rule) const = 0;
164 
167  virtual bool getExtractedNodePosition(const std::string& rule, unsigned int index,
168  double& x, double& y, double& z) const = 0;
169 
172  virtual bool getExtractedNodeOrientation(const std::string& rule, unsigned int index,
173  double& x, double& y, double& z, double& w) const = 0;
174 
175  virtual void moveNode(DtSceneObject* object,
176  DtModel* model, const std::string& rule, unsigned int index) = 0;
177 
179  virtual DtUniqueID uniqueID() const;
181 
183  virtual bool isGlobalScaleTerrain() const = 0;
184 
186  virtual bool getTerrainIntersection(double x, double y, double z,
187  double vx, double vy, double vz, double& retX, double& retY, double& retZ) = 0;
188 
192  virtual void clearElevationCache() = 0;
193 
194  virtual void useICO(bool enable) = 0;
195 
196  virtual void setMaxPagedLODs(unsigned int maxPagedLODs) = 0;
197 
199  virtual void postExtractionProcessing() = 0;
200 
203  virtual void toggleVisibility(bool visibility) = 0;
204 
205  protected:
206 
210  };
211 }
std::string myTerrainDefinitionName
Definition: DtTerrainPatchObject.h:209
Contains makVrv::DtLightPointManager class.
static const double TheEarthRadius
The Radius of the earth, used to calculate if a terrain has global scale.
Definition: DtTerrainPatchObject.h:41
std::vector< DtTreeRecord * > DtVectorTreeRecords
Definition: DtTreeRecord.h:139
A DtTerrainPatchObject contains the methods for loading a file as a terrain. When loading a file as a...
Definition: DtTerrainPatchObject.h:35
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtUniqueID myUniqueID
Definition: DtTerrainPatchObject.h:208
A class specifying a single overlay operation.
Definition: DtTerrainOverlayOperation.h:22
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:44
A model which owns a single model instance. A DtModel is a managing container for a single DtModelIns...
Definition: DtModel.h:56
Contains makVrv::DtUniqueID type.
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:72
Contains makVrv::DtTreeRecord class.
DtDe & myDe
Definition: DtTerrainPatchObject.h:207
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)