VR-Forces 4.3 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) 2013 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  virtual void extractOceanNodes(const std::string& rule, bool isRegEx) = 0;
91 
93 
95 
96  virtual std::string overlayDefinition(int type) = 0;
97  virtual std::vector<double> overlayScale(int type) = 0;
98  virtual std::vector<double> overlayOffset(int type) = 0;
99  virtual DtTerrainOverlayOperation defaultOverlay(int type) = 0;
100  virtual DtTerrainOverlayOperation currentOverlay(int type) = 0;
101 
103  virtual void getTerrainExtents(DtVector& nw, DtVector& ne, DtVector& sw, DtVector& se) const = 0;
104 
106  virtual void getBoundingBoxMinMax(DtVector& min, DtVector& max) const = 0;
107 
109  virtual DtVector getDatabaseOrigin() const = 0;
110 
113  virtual int countNodes(const std::string& rule) const = 0;
114 
117  virtual bool getExtractedNodePosition(const std::string& rule, unsigned int index,
118  double& x, double& y, double& z) const = 0;
119 
122  virtual bool getExtractedNodeOrientation(const std::string& rule, unsigned int index,
123  double& x, double& y, double& z, double& w) const = 0;
124 
125  virtual void moveNode(DtSceneObject* object,
126  DtModel* model,const std::string& rule, unsigned int index) = 0;
127 
129  virtual DtUniqueID uniqueID() const;
131 
133  virtual bool isGlobalScaleTerrain() const = 0;
134 
136  virtual bool getTerrainIntersection(double x, double y, double z,
137  double vx, double vy, double vz, double& retX, double& retY, double& retZ ) = 0;
138 
142  virtual void clearElevationCache() = 0;
143 
144  protected:
145 
149 
150  };
151 
155  {
156  public:
157 
159  static DtTerrainPatchObjectSignaler& instance(DtDe&);
160 
162  virtual ~DtTerrainPatchObjectSignaler();
163 
166  boost::signal<void (DtTerrainPatchObject&)> signal_terrainDataChanged;
167 
169  boost::signal<void (DtTerrainPatchObject&,const std::string& rule, std::vector<std::string>)> signal_nodesExtracted;
170 
172  boost::signal<void (DtTerrainPatchObject&)> signal_oceanNodesExtracted;
173 
174  protected:
176  };
177 }
178 
179 #endif
180 

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)