VR-Forces 4.6 Class Documentation
 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) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef DtTerrainPatchObject_H_
11 #define DtTerrainPatchObject_H_
12 
13 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtUniqueID.h>
16 #include <vrvCore/DtTreeRecord.h>
18 
19 #include <matrix/vlVector.h>
20 #include <boost/signals.hpp>
21 #include <string>
22 
23 
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtForestObject;
29  class DtTerrainOverlayOperation;
30  class DtSceneObject;
31  class DtModel;
32 
38  {
39 
40  public:
41 
44  static const double TheEarthRadius;
45 
48 
50  virtual ~DtTerrainPatchObject();
51 
52  //@ name Driver-bound methods:
54 
56  virtual void setTerrainDefinition(const std::string& modelDefinitionName);
57 
59  const std::string& terrainDefinitionName() const;
60 
62  virtual void enableOverlay(int type, const std::string& definition) = 0;
63 
65  virtual void disableOverlay(int type) = 0;
66 
68  virtual void disableAllOverlays() = 0;
69 
71  virtual void setOverlayScale(int type, double x, double y) = 0;
72 
74  virtual void setOverlayOffset(int type, double x, double y) = 0;
75 
77  virtual void setWrapMode(int type, int clamp) = 0;
78 
80  virtual void setBlendMode(int type, int clamp) = 0;
81 
83  virtual void setRasterLayerPosition(int type, int pos) = 0;
84 
86  virtual void setLayerEnabled(const std::string& rule, bool status) = 0;
87 
89  virtual void extractNodes(const std::string& rule, bool isRegEx) = 0;
90 
92  virtual void extractOceanNodes(const std::string& rule, bool isRegEx) = 0;
93 
95  virtual void extractSpeedTreeNodes(const std::string& rule, bool isRegEx, const std::string& modelDefinition) = 0;
96 
98  virtual void realizeExtractedSpeedTrees(const DtVectorTreeRecords& trees) = 0;
99 
101  virtual void setTerrainTreeScaleRandomization( bool isRandomized ) = 0;
102 
104  virtual void setTerrainTreeMinScale( double minScale) = 0;
105 
107  virtual void setTerrainTreeMaxScale( double maxScale) = 0;
108 
110  virtual void setTerrainTreeOrientationRandomization( bool isRandomized ) = 0;
112 
114 
115  virtual std::string overlayDefinition(int type) = 0;
116  virtual std::vector<double> overlayScale(int type) = 0;
117  virtual std::vector<double> overlayOffset(int type) = 0;
118  virtual DtTerrainOverlayOperation defaultOverlay(int type) = 0;
119  virtual DtTerrainOverlayOperation currentOverlay(int type) = 0;
120 
122  virtual void getTerrainExtents(DtVector& nw, DtVector& ne, DtVector& sw, DtVector& se) const = 0;
123 
125  virtual void getBoundingBoxMinMax(DtVector& min, DtVector& max) const = 0;
126 
128  virtual DtVector getDatabaseOrigin() const = 0;
129 
132  virtual int countNodes(const std::string& rule) const = 0;
133 
136  virtual bool getExtractedNodePosition(const std::string& rule, unsigned int index,
137  double& x, double& y, double& z) const = 0;
138 
141  virtual bool getExtractedNodeOrientation(const std::string& rule, unsigned int index,
142  double& x, double& y, double& z, double& w) const = 0;
143 
144  virtual void moveNode(DtSceneObject* object,
145  DtModel* model,const std::string& rule, unsigned int index) = 0;
146 
148  virtual DtUniqueID uniqueID() const;
150 
152  virtual bool isGlobalScaleTerrain() const = 0;
153 
155  virtual bool getTerrainIntersection(double x, double y, double z,
156  double vx, double vy, double vz, double& retX, double& retY, double& retZ ) = 0;
157 
161  virtual void clearElevationCache() = 0;
162 
163  virtual void useICO(bool enable) = 0;
164 
165  virtual void setMaxPagedLODs( unsigned int maxPagedLODs ) = 0;
166 
167  protected:
168 
172 
173  };
174 
178  {
179  public:
180 
182  static DtTerrainPatchObjectSignaler& instance(DtDe&);
183 
185  virtual ~DtTerrainPatchObjectSignaler();
186 
189  boost::signal<void (DtTerrainPatchObject&)> signal_terrainPatchCreated;
190 
193  boost::signal<void (DtTerrainPatchObject&)> signal_terrainDataChanged;
194 
196  boost::signal<void (DtTerrainPatchObject&)> signal_terrainPatchAboutToBeDeleted;
197 
199  boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;
200 
202  boost::signal<void (DtTerrainPatchObject&, bool extracted)> signal_oceanNodesExtracted;
203 
205  boost::signal<void(const DtVectorTreeRecords&, DtTerrainPatchObject&)> signal_realizeSpeedTreesFromRecords;
206 
207  protected:
209  };
210 }
211 
212 #endif
213 

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)