VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfObjectFacadeInterface.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
14 
15 #include <vrvCore/DtUniqueID.h>
16 
17 #include <boost/signal.hpp>
18 #include <matrix/vlVector.h>
19 #include <matrix/geodeticCoord.h>
20 #include <matrix/3dBoundingVolume.h>
21 #include <matrix/vlTaitBryan.h>
22 #include <string>
23 #include <vlpi/entityType.h>
24 class DtReferenceEllipsoid;
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtChannel;
30  class DtWindow;
31 }
32 
33 namespace makVrf
34 {
36  {
37  NoClamp = 0,
40  };
41 
42  class DtVrfObjectManipulationHandlerBaseClass;
43 
45  {
46  public:
47  DtVrfObjectFacadeInterface( makVrv::DtDe& de, int modelSet = -1 );
48 
49  virtual ~DtVrfObjectFacadeInterface();
50 
51  virtual const std::string& entityId() const
52  {
53  return myEntityId;
54  }
55 
56  virtual void setEntityId(const std::string& i)
57  {
58  myEntityId = i;
59  }
60 
61  virtual const DtGeodeticCoord& locationOffsetFromPrincipal() const;
62  virtual void setLocationOffsetFromPrincipal( const DtGeodeticCoord& offset );
63 
64  virtual double headingOffsetFromPrincipal() const;
65  virtual void setHeadingOffsetFromPrincipal( double offset );
66 
67  virtual const DtEntityType& entityType() const;
68 
69  virtual Dt3dBoundingVolume boundingVolume() const;
70 
71  virtual double altitudeOffsetFromPrincipal() const;
72  virtual void setAltitudeOffsetFromPrincipal( double offset );
73 
74  virtual makVrv::DtUniqueID uniqueID() const = 0;
75 
76  virtual makVrv::DtUniqueID sceneObjectId() const;
77  virtual void setSceneObjectId( const makVrv::DtUniqueID& id );
78 
79  virtual std::string displayName() const;
80  virtual void setDisplayName( const std::string& displayName );
81 
82  virtual const DtGeodeticCoord& currentGroundLocation() const;
83  virtual DtGeodeticCoord convertToGeodetic(const DtVector& v) const;
84 
85  virtual double currentHeading() const;
86  virtual void setCurrentHeading( double currentHeading );
87 
89  virtual void setSelected(bool);
90 
92  virtual std::string overlayName() const;
93 
95  virtual double currentAltitude() const;
96 
97  virtual DtVector geocentricLocation() const;
98  virtual DtVector localLocation() const;
99  virtual DtVector localLocation(const DtGeodeticCoord& geodLocation) const;
100 
102  virtual DtVector reviseLocation(const DtVector& loc) const;
103 
105  virtual DtTaitBryan localOrientation() const;
106 
108  virtual void setExtendedData(const std::map<std::string, std::string>&)
109  {
110  }
111 
112  virtual std::map<std::string, std::string> extendedData() const
113  {
114  return std::map<std::string, std::string>();
115  }
116  virtual std::map<int, DtString> extendedLabels() const
117  {
118  return std::map<int, DtString>();
119  }
120 
121  public:
123 
124  virtual void setOrigin(const DtGeodeticCoord&);
125  virtual void setOrigin(const DtVector&);
126 
127  virtual void setPickable(bool) = 0;
128  virtual void setIndicatorVisible(bool) = 0;
129  virtual void setWidgetEventsEnabled(bool) = 0;
130  virtual void setHatLineVisible(bool) = 0;
131 
135  virtual void setVisible(bool);
136  virtual bool isVisible() const;
137 
139  virtual void setOrientation(const DtTaitBryan&) = 0;
140 
142  virtual void unrealizeFacades() = 0;
143 
145  virtual void realizeFacades() = 0;
146 
147  virtual bool hasNameChange() const
148  {
149  return myDisplayNameChanged;
150  }
151 
152  virtual bool hasLocationChange() const
153  {
154  return myLocationChanged;
155  }
156 
157  virtual bool hasAltitudeChange() const
158  {
159  return myAltitudeChanged;
160  }
161 
162  virtual bool hasHeadingChange() const
163  {
164  return myHeadingChanged;
165  }
166 
167  virtual void clearFlags();
168 
169  virtual void setAltitudeClampType(DtAltitudeClampType t);
170  virtual DtAltitudeClampType altitudeClampType() const
171  {
172  return myAltitudeClampType;
173  }
174 
175  virtual void setAltitudeAboveTerrain(double);
176  virtual double altitudeAboveTerrain() const
177  {
178  return myAltitudeAboveGL;
179  }
180 
181  virtual void setAltitudeAboveSeaLevel(double);
182  virtual double altitudeAboveSeaLevel() const
183  {
184  return myAltitudeAboveSL;
185  }
186 
187  virtual void setIsAnchor(bool);
188  virtual bool isAnchor() const
189  {
190  return myAnchor;
191  }
192 
193  virtual void setUserData(const std::string& userData);
194  virtual std::string userData() const;
195  bool userDataChanged() const
196  {
197  return myUserDataChanged;
198  }
199 
200  int modelSet() const
201  {
202  return myModelSetOnly;
203  }
204 
205  virtual DtVector clampToGround( const DtVector& localPosition ) const;
206  virtual DtGeodeticCoord clampToGround( const DtGeodeticCoord& localPosition ) const;
207 
208  virtual void setClampToClosestPolygon(bool b)
209  {
210  myClampToClosestPolygon = b;
211  }
212 
213  bool clampToClosestPolygon() const
214  {
215  return myClampToClosestPolygon;
216  }
217 
218  protected:
219  virtual void setCurrentGroundLocation( const DtGeodeticCoord& currentGroundLocation );
220 
221  protected:
224  std::string myDisplayName;
225  std::string myEntityId;
226 
230 
231  DtGeodeticCoord myCurrentGroundLocation;
233 
239 
243  bool myAnchor;
244  std::string myUserData;
245 
246  bool myVisible;
247 
249  DtEntityType myEntityType;
251  };
252 }

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)