VR-Forces 4.0.4 Class Documentation
include/makArchives/DtObserverSettingsRecord.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2008 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtObserverSettingsRecord.h,v $ $Revision: 1.5 $ $State: Exp $
00007 ******************************************************************************/
00008 
00012 
00013 #ifndef DtObserverSettingsRecord_H_
00014 #define DtObserverSettingsRecord_H_
00015 
00016 #include <makArchives/makArchives.h>
00017 
00018 #include <string>
00019 
00020 namespace makArchives
00021 {
00024    class DT_DLL_MAKARCHIVES DtObserverSettingsRecord
00025    {
00026    public:
00027 
00028        enum AttachType
00029        {
00030           AttachTypeTether,
00031           AttachTypeMimic,
00032           AttachTypeFollow,
00033           AttachTypeTrack,
00034           AttachTypeTetherTrack,
00035           AttachTypeMimicTrack,
00036           AttachTypeModelView,
00037           AttachTypeSpaceFollow
00038        };
00039 
00041       DtObserverSettingsRecord();
00042 
00044       DtObserverSettingsRecord(const DtObserverSettingsRecord& orig);
00045 
00047       DtObserverSettingsRecord& operator=(const DtObserverSettingsRecord& orig);
00048 
00050       ~DtObserverSettingsRecord();
00051 
00053 
00054 
00055       void setObserverMode( const std::string& observerMode );
00056       const std::string& observerMode() const;
00057 
00058       void setAttachType( AttachType type );
00059       AttachType attachType() const;
00060 
00061       void setHideModelOnAttach( bool hide );
00062       bool hideModelOnAttach() const;
00063 
00064       void setOrientToTargetConstraint( bool orient );
00065       bool orientToTargetConstraint() const;
00066 
00067       void setOrbitSpeedGain( int gain );
00068       int orbitSpeedGain() const;
00069 
00070       void setRotationSpeedGain( int gain );
00071       int rotationSpeedGain() const;
00072 
00073       void setLinearScaledSpeedGain( int gain );
00074       int linearScaledSpeedGain() const;
00075 
00076       void setLinearUnscaledSpeedGain( int gain );
00077       int linearUnscaledSpeedGain() const;
00078 
00081 
00082       void setOrbitSpeed( double speed );
00083       double orbitSpeed() const;
00084 
00085       void setRotationSpeed( double speed );
00086       double rotationSpeed() const;
00087 
00088       void setLinearSpeed( double speed );
00089       double linearSpeed() const;
00090 
00092 
00093 
00094    protected:
00095 
00096       friend class boost::serialization::access;
00097 
00101       template<class Archive>
00102          void serialize(Archive & ar, const unsigned int version)
00103       {
00104          ar & BOOST_SERIALIZATION_NVP(myAttachType);
00105          ar & BOOST_SERIALIZATION_NVP(myHideModelOnAttach);
00106          ar & BOOST_SERIALIZATION_NVP(myOrientToTargetConstraint);
00107          // no longer used
00108          ar & BOOST_SERIALIZATION_NVP(mySpeedScaling);
00109          // no longer used
00110          ar & BOOST_SERIALIZATION_NVP(myConstrainToTerrain);
00111          ar & BOOST_SERIALIZATION_NVP(myOrbitSpeedGain);
00112          ar & BOOST_SERIALIZATION_NVP(myRotationSpeedGain);
00113          ar & BOOST_SERIALIZATION_NVP(myLinearScaledSpeedGain);
00114          ar & BOOST_SERIALIZATION_NVP(myLinearUnscaledSpeedGain);
00115          //ar & BOOST_SERIALIZATION_NVP(myGainPrecision);
00116          ar & BOOST_SERIALIZATION_NVP(myOrbitSpeed);
00117          ar & BOOST_SERIALIZATION_NVP(myRotationSpeed);
00118          ar & BOOST_SERIALIZATION_NVP(myLinearSpeed);
00119          if ( version >= 2 )
00120          {
00121             ar & BOOST_SERIALIZATION_NVP(myObserverMode);
00122          }
00123       }
00124 
00125    protected:
00126 
00127       std::string myObserverMode;
00128       AttachType myAttachType;
00129       bool myHideModelOnAttach;
00130       bool myOrientToTargetConstraint;
00131       bool mySpeedScaling;
00132       bool myConstrainToTerrain;
00133       int myOrbitSpeedGain;
00134       int myRotationSpeedGain;
00135       int myLinearScaledSpeedGain;
00136       int myLinearUnscaledSpeedGain;
00137       //int myGainPrecision;
00138       double myOrbitSpeed;
00139       double myRotationSpeed;
00140       double myLinearSpeed;
00141 
00142    };
00143 }
00144 
00145 BOOST_CLASS_VERSION(makArchives::DtObserverSettingsRecord, 2)
00146 
00147 #endif
00148 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)