VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverStateRecord.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
14 #include <set>
15 
16 namespace makArchives
17 {
21  {
22 
23  public:
24 
27 
30 
32  DtObserverStateRecord& operator=(const DtObserverStateRecord& orig);
33 
36 
38  void setObserverSettingsRecord(const DtObserverSettingsRecord& rec);
39 
41  const DtObserverSettingsRecord& observerSettingsRecord() const;
42  DtObserverSettingsRecord& observerSettingsRecord();
43 
45  void setAttachedToDisplayNames( const std::set<std::string>& displayNames );
46 
49  const std::set<std::string>& attachedToDisplayNames() const;
50 
52  void setSecondaryAttachedToDisplayNames( const std::set<std::string>& displayNames );
53 
56  const std::set<std::string>& secondaryAttachedToDisplayNames() const;
57 
60  void getLocationTrackAttachment( double& x, double& y, double& z ) const;
61 
64  void setLocationTrackAttachment( double x, double y, double z );
65 
68  void getObserverOffsetVector( double& x, double& y, double& z ) const;
69 
71  void setObserverOffsetVector( double x, double y, double z );
72 
75  void getObserverRotationOffset( double& x, double& y, double& z, double& w ) const;
76 
78  void setObserverRotationOffset( double x, double y, double z, double w );
79 
81  void getPosition( double &x, double &y, double& z ) const;
82 
84  void setPosition( double x, double y, double z );
85 
87  void getOrientation( double& x, double& y, double& z, double& w ) const;
88 
90  void setOrientation( double x, double y, double z, double w );
91 
93  void setDisplayName(const std::string&);
94 
97  const std::string& displayName() const;
98 
100  void setViewResolution(double resolution);
101 
104  double viewResolution() const;
105 
108  void setViewMagnification( double magnification );
109 
112  double viewMagnification() const;
113 
118  void setSetIntoObserver(bool);
119 
122  bool setIntoObserver() const;
123 
126  void setPartAttachment(int partId);
127 
130  int partAttachment() const;
131 
133  void setIsDefaultObserverView(bool useICO);
134 
136  bool isDefaultObserverView() const;
137 
139  bool associatedToTerrain() const;
140 
142  void setAssociatedToTerrain(bool val);
143 
144  protected:
145 
146  friend class boost::serialization::access;
147 
151  template<class Archive>
152  void serialize(Archive & ar, const unsigned int version)
153  {
154  ar & BOOST_SERIALIZATION_NVP(myObserverSettingsRecord);
155  ar & BOOST_SERIALIZATION_NVP(myAttachedToDisplayNames);
156  ar & BOOST_SERIALIZATION_NVP(myObserverOffsetVectorX);
157  ar & BOOST_SERIALIZATION_NVP(myObserverOffsetVectorY);
158  ar & BOOST_SERIALIZATION_NVP(myObserverOffsetVectorZ);
159  ar & BOOST_SERIALIZATION_NVP(myObserverRotationOffsetX);
160  ar & BOOST_SERIALIZATION_NVP(myObserverRotationOffsetY);
161  ar & BOOST_SERIALIZATION_NVP(myObserverRotationOffsetZ);
162  ar & BOOST_SERIALIZATION_NVP(myObserverRotationOffsetW);
163  ar & BOOST_SERIALIZATION_NVP(myPosX);
164  ar & BOOST_SERIALIZATION_NVP(myPosY);
165  ar & BOOST_SERIALIZATION_NVP(myPosZ);
166  ar & BOOST_SERIALIZATION_NVP(myOrientationX);
167  ar & BOOST_SERIALIZATION_NVP(myOrientationY);
168  ar & BOOST_SERIALIZATION_NVP(myOrientationZ);
169  ar & BOOST_SERIALIZATION_NVP(myOrientationW);
170 
171  if (version >= 1)
172  {
173  ar & BOOST_SERIALIZATION_NVP(myDisplayName);
174  }
175 
176  if ( version >= 2)
177  {
178  if(version < 6)
179  {
180  ar & boost::serialization::make_nvp("myZoomFactor",myViewResolution);
181  }
182  else
183  {
184  ar & BOOST_SERIALIZATION_NVP(myViewResolution);
185  }
186  }
187 
188  if ( version >= 3)
189  {
190  ar & BOOST_SERIALIZATION_NVP(mySecondaryAttachedToDisplayNames);
191  }
192 
193  if ( version >= 4)
194  {
195  ar & BOOST_SERIALIZATION_NVP(myPartAttachment);
196  }
197 
198  if ( version >= 5 )
199  {
200  ar & BOOST_SERIALIZATION_NVP( myViewMagnification );
201  }
202 
203  if ( version >= 7 )
204  {
205  ar & BOOST_SERIALIZATION_NVP( myLocationTrackAttachmentX );
206  ar & BOOST_SERIALIZATION_NVP( myLocationTrackAttachmentY );
207  ar & BOOST_SERIALIZATION_NVP( myLocationTrackAttachmentZ );
208  }
209  if (version >= 8)
210  {
211  ar & BOOST_SERIALIZATION_NVP(myIsDefaultObserverView);
212  }
213  }
214 
215  protected:
216 
218  std::set<std::string> myAttachedToDisplayNames;
226  double myPosX;
227  double myPosY;
228  double myPosZ;
233  std::string myDisplayName;
235  std::set<std::string> mySecondaryAttachedToDisplayNames;
242 
243 
248 
251  };
252 }
253 
255 
256 

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)