VR-Forces 4.1.1 Class Documentation
DtTerrainPatchObject.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 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 setOverlayScale(int type, double x, double y) = 0;
70 
72  virtual void setOverlayOffset(int type, double x, double y) = 0;
73 
75  virtual void setWrapMode(int type, int clamp) = 0;
76 
78  virtual void setBlendMode(int type, int clamp) = 0;
79 
81  virtual void setRasterLayerPosition(int type, int pos) = 0;
82 
84  virtual void setLayerEnabled(const std::string& rule, bool status) = 0;
85 
87  virtual void extractNodes(const std::string& rule, bool isRegEx) = 0;
88 
90 
92 
93  virtual std::string overlayDefinition(int type) = 0;
94  virtual std::vector<double> overlayScale(int type) = 0;
95  virtual std::vector<double> overlayOffset(int type) = 0;
96  virtual DtTerrainOverlayOperation defaultOverlay(int type) = 0;
97  virtual DtTerrainOverlayOperation currentOverlay(int type) = 0;
98 
100  virtual void getTerrainExtents(DtVector& nw, DtVector& ne, DtVector& sw, DtVector& se) const = 0;
101 
103  virtual void getBoundingBoxMinMax(DtVector& min, DtVector& max) const = 0;
104 
106  virtual DtVector getDatabaseOrigin() const = 0;
107 
110  virtual int countNodes(const std::string& rule) const = 0;
111 
114  virtual bool getExtractedNodePosition(const std::string& rule, unsigned int index,
115  double& x, double& y, double& z) const = 0;
116 
119  virtual bool getExtractedNodeOrientation(const std::string& rule, unsigned int index,
120  double& x, double& y, double& z, double& w) const = 0;
121 
122  virtual void moveNode(DtSceneObject* object,
123  DtModel* model,const std::string& rule, unsigned int index) = 0;
124 
126  virtual DtUniqueID uniqueID() const;
128 
130  virtual bool isGlobalScaleTerrain() const = 0;
131 
133  virtual bool getTerrainIntersection(double x, double y, double z,
134  double vx, double vy, double vz, double& retX, double& retY, double& retZ ) = 0;
135 
139  virtual void clearElevationCache() = 0;
140 
141  protected:
142 
146 
147  };
148 
152  {
153  public:
154 
156  static DtTerrainPatchObjectSignaler& instance(DtDe&);
157 
159  virtual ~DtTerrainPatchObjectSignaler();
160 
163  boost::signal<void (DtTerrainPatchObject&)> signal_terrainDataChanged;
164 
166  boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;
167 
168  protected:
170  };
171 }
172 
173 #endif
174 

Document ID: Generated on Mon Apr 8 19:24:01 EDT 2013 from SVN revision 125877
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)