VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtObserverConfiguration.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 /******************************************************************************
6 ** $RCSfile: DtObserverConfiguration.h,v $ $Revision: 1.13 $ $State: Exp $
7 ******************************************************************************/
8 
12 
13 #ifndef DtObserverConfiguration_H_
14 #define DtObserverConfiguration_H_
15 
17 
18 namespace makVrv
19 {
26  {
27 
28  public:
29 
30  static const char* ObserverConfigurationString;
31 
34  DtObserverConfiguration(const std::string& name = "");
35 
38 
41 
43  virtual ~DtObserverConfiguration();
44 
46  virtual const std::string& defaultMode() const;
48  virtual void setDefaultMode(const std::string& defaultMode);
50 
52  virtual double minLinearSpeed() const;
54  virtual void setMinLinearSpeed( double speed );
56 
58  virtual double maxLinearSpeed() const;
60  virtual void setMaxLinearSpeed( double speed );
62 
64  virtual double linearSpeed() const;
66  virtual void setLinearSpeed( double speed );
68 
70  virtual double minRotationSpeed() const;
72  virtual void setMinRotationSpeed( double speed );
74 
76  virtual double maxRotationSpeed() const;
78  virtual void setMaxRotationSpeed( double speed );
80 
82  virtual double rotationSpeed() const;
84  virtual void setRotationSpeed( double speed );
86 
87 
89  virtual double minOrbitSpeed() const;
91  virtual void setMinOrbitSpeed( double speed );
93 
95  virtual double maxOrbitSpeed() const;
97  virtual void setMaxOrbitSpeed( double speed );
99 
101  virtual double orbitSpeed() const;
103  virtual void setOrbitSpeed( double speed );
105 
107  virtual double sceneCenterOffsetX() const;
111  virtual void setSceneCenterOffsetX( double offset );
113 
115  virtual double sceneCenterOffsetY() const;
119  virtual void setSceneCenterOffsetY( double offset );
121 
123  virtual double sceneCenterOffsetZ() const;
127  virtual void setSceneCenterOffsetZ( double offset );
129 
131  virtual const std::string& observerMode() const;
135  virtual void setObserverMode( const std::string& observerMode );
137 
144 
145  protected:
146 
147  template<class Archive>
148  void _serialize(Archive & ar, const unsigned int version)
149  {
152 
153  ar & DT_SERIALIZE_MEMBER(myDefaultMode);
154  if ( version < 2 )
155  {
156  ar & DT_SERIALIZE_MEMBER(myOrbitSpeedGain);
157  ar & DT_SERIALIZE_MEMBER(myLinearScaledSpeedGain);
158  ar & DT_SERIALIZE_MEMBER(myLinearUnscaledSpeedGain);
159  ar & DT_SERIALIZE_MEMBER(myRotationSpeedGain);
160  ar & DT_SERIALIZE_MEMBER(myGainPrecision);
161  }
162  ar & DT_SERIALIZE_MEMBER(myMinOrbitSpeed);
163  ar & DT_SERIALIZE_MEMBER(myMinLinearSpeed);
164  ar & DT_SERIALIZE_MEMBER(myMinRotationSpeed);
165  ar & DT_SERIALIZE_MEMBER(myMaxOrbitSpeed);
166  ar & DT_SERIALIZE_MEMBER(myMaxLinearSpeed);
167  ar & DT_SERIALIZE_MEMBER(myMaxRotationSpeed);
168  ar & DT_SERIALIZE_MEMBER(myOrbitSpeed);
169  ar & DT_SERIALIZE_MEMBER(myLinearSpeed);
170  ar & DT_SERIALIZE_MEMBER(myRotationSpeed);
171  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetX);
172  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetY);
173  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetZ);
174  if ( version >= 2 )
175  {
176  ar & DT_SERIALIZE_MEMBER(myObserverMode);
177  }
178  }
179 
180  std::string myDefaultMode;
194  double myOrbitSpeed;
195 
199  std::string myObserverMode;
200  };
201 }
202 
204 
205 #endif
206 
#define DT_SERIALIZE_BASE(BASE_CLASS)
Serialize the base class implementation.
Definition: DtSerialize.h:164
#define DT_DLL_VRVUTIL
Definition: vrvUtil.h:34
TODO: This class is used to encapsulate a set of default observer settings and parameters.
Definition: DtObserverConfiguration.h:25
double myLinearSpeed
Definition: DtObserverConfiguration.h:188
std::string myDefaultMode
Definition: DtObserverConfiguration.h:180
void _serialize(Archive &ar, const unsigned int version)
Declare serialize functions Call via serialize(Archive ar, unsigned int version); Where Archive can b...
Definition: DtObserverConfiguration.h:148
double myMaxOrbitSpeed
Definition: DtObserverConfiguration.h:193
int myRotationSpeedGain
Definition: DtObserverConfiguration.h:184
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 2)
int myLinearScaledSpeedGain
Definition: DtObserverConfiguration.h:182
double mySceneCenterOffsetY
Definition: DtObserverConfiguration.h:197
int myOrbitSpeedGain
Definition: DtObserverConfiguration.h:181
double myMaxLinearSpeed
Definition: DtObserverConfiguration.h:187
double myMaxRotationSpeed
Definition: DtObserverConfiguration.h:190
double mySceneCenterOffsetX
Definition: DtObserverConfiguration.h:196
int myGainPrecision
Definition: DtObserverConfiguration.h:185
double myMinRotationSpeed
Definition: DtObserverConfiguration.h:189
int myLinearUnscaledSpeedGain
Definition: DtObserverConfiguration.h:183
double myMinLinearSpeed
Definition: DtObserverConfiguration.h:186
#define DT_DECLARE_ALL_serialize_FUNCTIONS
Definition: DtSerialize.h:137
Contains makVrv::DtConfiguration class.
static const char * ObserverConfigurationString
Definition: DtObserverConfiguration.h:30
double mySceneCenterOffsetZ
Definition: DtObserverConfiguration.h:198
double myMinOrbitSpeed
Definition: DtObserverConfiguration.h:192
The base implementation of a configuration.
Definition: DtConfiguration.h:27
double myRotationSpeed
Definition: DtObserverConfiguration.h:191
std::string myObserverMode
Definition: DtObserverConfiguration.h:199
#define DT_SERIALIZE_MEMBER(NAME)
Serialize a Member whose name starts with &#39;my&#39; If your member does not have that name, use Dt_SERIALIZE.
Definition: DtSerialize.h:161
voidpf uLong offset
Definition: ioapi.h:42
double myOrbitSpeed
Definition: DtObserverConfiguration.h:194

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)