VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtTerrainPatchObject.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 DtTerrainPatchObject_H_
11 #define DtTerrainPatchObject_H_
12 
13 #include <vrvCore/vrvCore.h>
15 #include <vrvCore/DtUniqueID.h>
16 
17 #include <matrix/vlVector.h>
18 #include <boost/signals.hpp>
19 #include <string>
20 
21 
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtForestObject;
27  class DtTerrainOverlayOperation;
28  class DtSceneObject;
29  class DtModel;
30 
36  {
37 
38  public:
39 
42  static const double TheEarthRadius;
43 
46 
48  virtual ~DtTerrainPatchObject();
49 
50  //@ name Driver-bound methods:
52 
54  virtual void setTerrainDefinition(const std::string& modelDefinitionName);
55 
57  const std::string& terrainDefinitionName() const;
58 
60  virtual void enableOverlay(int type, const std::string& definition) = 0;
61 
63  virtual void disableOverlay(int type) = 0;
64 
66  virtual void disableAllOverlays() = 0;
67 
69  virtual void showLightPoints(bool show) = 0;
70 
72  virtual void setOverlayScale(int type, double x, double y) = 0;
73 
75  virtual void setOverlayOffset(int type, double x, double y) = 0;
76 
78  virtual void setWrapMode(int type, int clamp) = 0;
79 
81  virtual void setBlendMode(int type, int clamp) = 0;
82 
84  virtual void setRasterLayerPosition(int type, int pos) = 0;
85 
87  virtual void setLayerEnabled(const std::string& rule, bool status) = 0;
88 
90  virtual void extractNodes(const std::string& rule, bool isRegEx) = 0;
91 
93  virtual void extractOceanNodes(const std::string& rule, bool isRegEx) = 0;
94 
96  virtual void setTerrainTreeScaleRandomization( bool isRandomized ) = 0;
97 
99  virtual void setTerrainTreeMinScale( double minScale) = 0;
100 
102  virtual void setTerrainTreeMaxScale( double maxScale) = 0;
103 
105  virtual void setTerrainTreeOrientationRandomization( bool isRandomized ) = 0;
107 
109 
110  virtual std::string overlayDefinition(int type) = 0;
111  virtual std::vector<double> overlayScale(int type) = 0;
112  virtual std::vector<double> overlayOffset(int type) = 0;
113  virtual DtTerrainOverlayOperation defaultOverlay(int type) = 0;
114  virtual DtTerrainOverlayOperation currentOverlay(int type) = 0;
115 
117  virtual void getTerrainExtents(DtVector& nw, DtVector& ne, DtVector& sw, DtVector& se) const = 0;
118 
120  virtual void getBoundingBoxMinMax(DtVector& min, DtVector& max) const = 0;
121 
123  virtual DtVector getDatabaseOrigin() const = 0;
124 
127  virtual int countNodes(const std::string& rule) const = 0;
128 
131  virtual bool getExtractedNodePosition(const std::string& rule, unsigned int index,
132  double& x, double& y, double& z) const = 0;
133 
136  virtual bool getExtractedNodeOrientation(const std::string& rule, unsigned int index,
137  double& x, double& y, double& z, double& w) const = 0;
138 
139  virtual void moveNode(DtSceneObject* object,
140  DtModel* model,const std::string& rule, unsigned int index) = 0;
141 
143  virtual DtUniqueID uniqueID() const;
145 
147  virtual bool isGlobalScaleTerrain() const = 0;
148 
150  virtual bool getTerrainIntersection(double x, double y, double z,
151  double vx, double vy, double vz, double& retX, double& retY, double& retZ ) = 0;
152 
156  virtual void clearElevationCache() = 0;
157 
158  virtual void useICO(bool enable) = 0;
159 
160  virtual void setMaxPagedLODs( unsigned int maxPagedLODs ) = 0;
161 
162  protected:
163 
167 
168  };
169 
173  {
174  public:
175 
177  static DtTerrainPatchObjectSignaler& instance(DtDe&);
178 
180  virtual ~DtTerrainPatchObjectSignaler();
181 
184  boost::signal<void (DtTerrainPatchObject&)> signal_terrainPatchCreated;
185 
188  boost::signal<void (DtTerrainPatchObject&)> signal_terrainDataChanged;
189 
191  boost::signal<void (DtTerrainPatchObject&)> signal_terrainPatchAboutToBeDeleted;
192 
194  boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;
195 
197  boost::signal<void (DtTerrainPatchObject&)> signal_oceanNodesExtracted;
198 
199  protected:
201  };
202 }
203 
204 #endif
205 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)