VR-Forces 5.0.2 Developer's Guide
 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 
9 
10 #ifndef DtObserverConfiguration_H_
11 #define DtObserverConfiguration_H_
12 
14 
15 namespace makVrv
16 {
23  {
24 
25  public:
26 
27  static const char* ObserverConfigurationString;
28 
31  DtObserverConfiguration(const std::string& name = "");
32 
35 
38 
40  virtual ~DtObserverConfiguration();
41 
43  virtual const std::string& defaultMode() const;
45  virtual void setDefaultMode(const std::string& defaultMode);
47 
49  virtual double minLinearSpeed() const;
51  virtual void setMinLinearSpeed( double speed );
53 
55  virtual double maxLinearSpeed() const;
57  virtual void setMaxLinearSpeed( double speed );
59 
61  virtual double linearSpeed() const;
63  virtual void setLinearSpeed( double speed );
65 
67  virtual double minRotationSpeed() const;
69  virtual void setMinRotationSpeed( double speed );
71 
73  virtual double maxRotationSpeed() const;
75  virtual void setMaxRotationSpeed( double speed );
77 
79  virtual double rotationSpeed() const;
81  virtual void setRotationSpeed( double speed );
83 
84 
86  virtual double minOrbitSpeed() const;
88  virtual void setMinOrbitSpeed( double speed );
90 
92  virtual double maxOrbitSpeed() const;
94  virtual void setMaxOrbitSpeed( double speed );
96 
98  virtual double orbitSpeed() const;
100  virtual void setOrbitSpeed( double speed );
102 
104  virtual double sceneCenterOffsetX() const;
108  virtual void setSceneCenterOffsetX( double offset );
110 
112  virtual double sceneCenterOffsetY() const;
116  virtual void setSceneCenterOffsetY( double offset );
118 
120  virtual double sceneCenterOffsetZ() const;
124  virtual void setSceneCenterOffsetZ( double offset );
126 
128  virtual const std::string& observerMode() const;
132  virtual void setObserverMode( const std::string& observerMode );
134 
141 
142  protected:
143 
144  template<class Archive>
145  void _serialize(Archive & ar, const unsigned int version)
146  {
149 
150  ar & DT_SERIALIZE_MEMBER(myDefaultMode);
151  if ( version < 2 )
152  {
153  ar & DT_SERIALIZE_MEMBER(myOrbitSpeedGain);
154  ar & DT_SERIALIZE_MEMBER(myLinearScaledSpeedGain);
155  ar & DT_SERIALIZE_MEMBER(myLinearUnscaledSpeedGain);
156  ar & DT_SERIALIZE_MEMBER(myRotationSpeedGain);
157  ar & DT_SERIALIZE_MEMBER(myGainPrecision);
158  }
159  ar & DT_SERIALIZE_MEMBER(myMinOrbitSpeed);
160  ar & DT_SERIALIZE_MEMBER(myMinLinearSpeed);
161  ar & DT_SERIALIZE_MEMBER(myMinRotationSpeed);
162  ar & DT_SERIALIZE_MEMBER(myMaxOrbitSpeed);
163  ar & DT_SERIALIZE_MEMBER(myMaxLinearSpeed);
164  ar & DT_SERIALIZE_MEMBER(myMaxRotationSpeed);
165  ar & DT_SERIALIZE_MEMBER(myOrbitSpeed);
166  ar & DT_SERIALIZE_MEMBER(myLinearSpeed);
167  ar & DT_SERIALIZE_MEMBER(myRotationSpeed);
168  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetX);
169  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetY);
170  ar & DT_SERIALIZE_MEMBER(mySceneCenterOffsetZ);
171  if ( version >= 2 )
172  {
173  ar & DT_SERIALIZE_MEMBER(myObserverMode);
174  }
175  }
176 
177  std::string myDefaultMode;
191  double myOrbitSpeed;
192 
196  std::string myObserverMode;
197  };
198 }
199 
201 
202 #endif
203 
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
#define DT_SERIALIZE_BASE(BASE_CLASS)
Serialize the base class implementation.
Definition: DtSerialize.h:161
#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:22
double myLinearSpeed
Definition: DtObserverConfiguration.h:185
std::string myDefaultMode
Definition: DtObserverConfiguration.h:177
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:145
double myMaxOrbitSpeed
Definition: DtObserverConfiguration.h:190
int myRotationSpeedGain
Definition: DtObserverConfiguration.h:181
int myLinearScaledSpeedGain
Definition: DtObserverConfiguration.h:179
double mySceneCenterOffsetY
Definition: DtObserverConfiguration.h:194
int myOrbitSpeedGain
Definition: DtObserverConfiguration.h:178
double myMaxLinearSpeed
Definition: DtObserverConfiguration.h:184
double myMaxRotationSpeed
Definition: DtObserverConfiguration.h:187
double mySceneCenterOffsetX
Definition: DtObserverConfiguration.h:193
int myGainPrecision
Definition: DtObserverConfiguration.h:182
double myMinRotationSpeed
Definition: DtObserverConfiguration.h:186
int myLinearUnscaledSpeedGain
Definition: DtObserverConfiguration.h:180
double myMinLinearSpeed
Definition: DtObserverConfiguration.h:183
#define DT_DECLARE_ALL_serialize_FUNCTIONS
Definition: DtSerialize.h:134
Contains makVrv::DtConfiguration class.
static const char * ObserverConfigurationString
Definition: DtObserverConfiguration.h:27
double mySceneCenterOffsetZ
Definition: DtObserverConfiguration.h:195
double myMinOrbitSpeed
Definition: DtObserverConfiguration.h:189
The base implementation of a configuration.
Definition: DtConfiguration.h:24
double myRotationSpeed
Definition: DtObserverConfiguration.h:188
std::string myObserverMode
Definition: DtObserverConfiguration.h:196
#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:158
voidpf uLong offset
Definition: ioapi.h:42
double myOrbitSpeed
Definition: DtObserverConfiguration.h:191

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)