VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtChannelConfiguration.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvUtil/vrvUtil.h>
14 #include <vrvUtil/DtKeywordMixin.h>
15 
16 #include <boost/serialization/set.hpp>
17 
18 namespace makVrv
19 {
27  : public DtConfiguration
28  , public DtKeywordMixin
29  {
30 
31  public:
32 
33  static const char* DefaultChannelString;
34 
37  static const char* UseObserverSensorString;
38 
40  {
43  DatabaseUnits
44  };
45 
47  {
48  FIXED = 0,
51  NONE
52  };
53 
55  {
58  NEAR_FAR_DYNAMIC_REDUCE_Z_FIGHT
59  };
60 
62  {
63  IGNORE_ATTACHED = 0,
67  DISTANCE_TO_ATTACHED
69  };
70 
73  DtChannelConfiguration(const std::string& name = DefaultChannelString);
74 
77 
80 
82  virtual ~DtChannelConfiguration();
83 
85  virtual void setParentChannel(const std::string& displayName,
86  const std::string& windowName, const std::string& channelName);
87 
89  virtual void getParentChannel(std::string& displayEngineNameOut,
90  std::string& windowNameOut, std::string& channelNameOut) const;
91 
93  virtual void setProjection(ProjectionUnits units, double left, double right, double bottom, double top,
94  double zNear, double zFar);
95 
97  virtual void getProjection(ProjectionUnits& units, double &left, double &right, double &bottom, double &top,
98  double &zNear, double &zFar) const;
99 
101  virtual ProjectionUnits projectionUnits() const;
102 
104  virtual void setProjectionUnits(ProjectionUnits units);
105 
108  virtual void getClearColor(float& r,float& g,float& b,float& a) const;
109 
112  virtual void setClearColor(float r,float g,float b,float a);
113 
115  virtual void setCameraPositionOffset(double x, double y, double z);
116 
118  virtual void getCameraPositionOffset(double& x, double& y, double& z) const;
119 
121  virtual void setCameraOrientationOffset(double psi, double theta, double phi);
122 
124  virtual void getCameraOrientationOffset(double& psi, double& theta, double& phi) const;
125 
127  virtual void getViewport(double& left,double& right,double& bottom,double& top) const;
128 
130  virtual void setViewport(double left,double right,double bottom, double top);
131 
133  virtual const std::string& observerName() const;
134 
136  virtual void setObserverName(const std::string& observerName);
137 
139  virtual const std::string& sensorName() const;
140 
142  virtual void setSensorName(const std::string& sensorName);
143 
145  virtual ProjectionResizePolicy projectionResizePolicy() const;
146 
148  virtual void setProjectionResizePolicy(ProjectionResizePolicy policy);
149 
151  virtual double cameraMagnification() const;
152 
154  virtual void setCameraMagnification(double mag);
155 
160  virtual void setNearFarClipPolicy( NearFarClipPolicy policy );
161 
163  virtual NearFarClipPolicy nearFarClipPolicy() const;
164 
167  virtual void setZFightReductionRatio( double ratio );
168 
171  virtual double zFightReductionRatio() const;
172 
175  virtual void setDynamicNearClipAttachedObjectPolicy(
176  DynamicNearClipAttachedObjectPolicy useAttached );
177 
180  virtual DynamicNearClipAttachedObjectPolicy
181  dynamicNearClipAttachedObjectPolicy() const;
182 
185  virtual void setAltitudeForUseAttachedNearClip( double altitude );
186 
189  virtual double altitudeForUseAttachedNearClip() const;
190 
194  virtual void setNearClipWhenAttached( double distance );
195 
199  virtual double nearClipWhenAttached() const;
200 
204  virtual void setDynamicWaterVisibilityEnable( bool enable );
205 
207  virtual bool dynamicWaterVisibilityEnable() const;
208 
211  virtual void setDynamicWaterVisibilityMax( double visMax );
212 
215  virtual double dynamicWaterVisibilityMax() const;
216 
217 
224  protected:
225 
226  template<class Archive>
227  void _serialize(Archive & ar, const unsigned int version)
228  {
231 
232  ar & DT_SERIALIZE_MEMBER(myClearColorR);
233  ar & DT_SERIALIZE_MEMBER(myClearColorG);
234  ar & DT_SERIALIZE_MEMBER(myClearColorB);
235  ar & DT_SERIALIZE_MEMBER(myClearColorA);
236  ar & DT_SERIALIZE_MEMBER(myViewportLeft);
237  ar & DT_SERIALIZE_MEMBER(myViewportRight);
238  ar & DT_SERIALIZE_MEMBER(myViewportBottom);
239  ar & DT_SERIALIZE_MEMBER(myViewportTop);
240  ar & DT_SERIALIZE_MEMBER(myParentDisplayEngineName);
241  ar & DT_SERIALIZE_MEMBER(myParentWindowName);
242  ar & DT_SERIALIZE_MEMBER(myParentChannelName);
243  ar & DT_SERIALIZE_MEMBER(myCameraPositionOffsetX);
244  ar & DT_SERIALIZE_MEMBER(myCameraPositionOffsetY);
245  ar & DT_SERIALIZE_MEMBER(myCameraPositionOffsetZ);
246  ar & DT_SERIALIZE_MEMBER(myCameraOrientationOffsetPsi);
247  ar & DT_SERIALIZE_MEMBER(myCameraOrientationOffsetTheta);
248  ar & DT_SERIALIZE_MEMBER(myCameraOrientationOffsetPhi);
249  ar & DT_SERIALIZE_MEMBER(myFrustumLeft);
250  ar & DT_SERIALIZE_MEMBER(myFrustumRight);
251  ar & DT_SERIALIZE_MEMBER(myFrustumTop);
252  ar & DT_SERIALIZE_MEMBER(myFrustumBottom);
253  ar & DT_SERIALIZE_MEMBER(myNearZ);
254  ar & DT_SERIALIZE_MEMBER(myFarZ);
255  ar & DT_SERIALIZE_MEMBER(myProjectionUnits);
256  ar & DT_SERIALIZE_MEMBER(myObserverName);
257  ar & DT_SERIALIZE_MEMBER(myProjectionResizePolicy);
258 
259  if(version > 1)
260  {
261  ar & DT_SERIALIZE_MEMBER(myKeywords);
262  }
263 
264  if (version > 2 && version < 6 )
265  {
266  ar & DT_SERIALIZE_MEMBER(myDynamicNearFar);
267  ar & DT_SERIALIZE_MEMBER(myNearFarRatio);
268  }
269 
270  if (version > 3)
271  {
272  ar & DT_SERIALIZE_MEMBER(myCameraMagnification);
273  }
274 
275  if (version > 4)
276  {
277  ar & DT_SERIALIZE_MEMBER(mySensorName);
278  }
279 
280  if ( version > 5 )
281  {
282  ar & DT_SERIALIZE_MEMBER(myNearFarClipPolicy);
283  ar & DT_SERIALIZE_MEMBER(myZFightReductionRatio);
284  ar & DT_SERIALIZE_MEMBER(myDynamicNearClipAttachedObjectPolicy);
285  ar & DT_SERIALIZE_MEMBER(myAltitudeForUseAttachedNearClip);
286  ar & DT_SERIALIZE_MEMBER(myNearClipWhenAttached);
287  ar & DT_SERIALIZE_MEMBER(myDynamicWaterVisibilityEnable);
288  ar & DT_SERIALIZE_MEMBER(myDynamicWaterVisibilityMax);
289  }
290  }
291 
293  std::string myParentWindowName;
294  std::string myParentChannelName;
295 
296  //Default Clear color is 0,0,0,0
300  float myClearColorA;;
301 
302  double myViewportLeft;
306 
313 
317  double myFrustumTop;
319  double myNearZ;
320  double myFarZ;
321 
322  bool myDynamicNearFar; //Version 3-5
323  // Not used
324  double myNearFarRatio; //Version 3-5
325 
326  double myCameraMagnification; // Version 4
327 
329  std::string myObserverName;
330  std::string mySensorName;
332 
340  };
341 }
342 

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)