VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/vrfMvObjSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1999-2002 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00008 
00009 #pragma once
00010 
00011 #include "vrfobjcore/vrfObjSR.h"
00012 
00013 class DtMovingObjectParameters;
00014 class DtRwDIGuyCharacterInfo;
00015 
00022 #include "vrfobjcore/vrfobjcoreDefines.h"
00023 class DT_DLL_vrfobjcore DtVrfMovingObjectStateRepository : public DtVrfObjectStateRepository
00024 {
00025 public:
00026 
00028    DtVrfMovingObjectStateRepository (DtVrfObject* vrfObject,
00029       const DtObjectType& objectType, DtVrfObjectParameters* parameters,
00030       const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0);
00031 
00033    DtVrfMovingObjectStateRepository(const DtVrfMovingObjectStateRepository& orig,
00034       const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0);
00035 
00037    DtVrfMovingObjectStateRepository& operator=(const DtVrfMovingObjectStateRepository& orig);
00038 
00040    virtual ~DtVrfMovingObjectStateRepository();
00041 
00042    static DtVrfObjectStateRepository* creator(const DtString& name,
00043       DtVrfObject* vrfObject, const DtObjectType& objectType,
00044       DtVrfObjectParameters* parameters, DtReaderWriterRegistry* parentRegistry);
00045 
00046    static DtVrfMovingObjectStateRepository* 
00047       isVrfMovingObjectStateRepository(DtSimObjectStateRepository* repository);
00048 
00049    static const DtVrfMovingObjectStateRepository* 
00050       isVrfMovingObjectStateRepository(const DtSimObjectStateRepository* repository);
00051 
00053    virtual DtSimObjectStateRepository* clone(const DtString& rwName = DtString::nullString(),
00054       DtReaderWriterRegistry* parentRegistry = 0) const;
00055 
00056    virtual DtString type() const;
00057 
00059    virtual const int vrfObjectStateRepositorySubType() const;
00060 
00062    virtual const int vrfMovingObjectStateRepositorySubType() const;
00063 
00064    virtual bool createParameters();
00065    virtual void initializeFromParameters();
00066 
00067    virtual const DtMovingObjectParameters* movingObjectParameters() const;
00068 
00069    virtual bool canPivot() const;
00070    virtual void setCanPivot (const bool canPivot);
00071 
00072    virtual DtReal maxPivotSpeed() const;
00073    virtual void setMaxPivotSpeed (DtReal maxPivotSpeed);
00074 
00076    virtual const DtGroundInteractionPt* rightSupport() const;
00077    virtual DtGroundInteractionPt* rightSupport();
00078    virtual void setRightSupport(const DtVector& vec);
00079 
00080    virtual const DtGroundInteractionPt* leftSupport() const;
00081    virtual DtGroundInteractionPt* leftSupport();
00082    virtual void setLeftSupport(const DtVector& vec);
00083 
00084    virtual const DtGroundInteractionPt* otherSupport() const;
00085    virtual DtGroundInteractionPt* otherSupport();
00086    virtual void setOtherSupport(const DtVector& vec);
00087 
00088    virtual DtReal maxSpeed() const;
00089    virtual void setMaxSpeed(const DtReal speed);
00090 
00091    virtual DtReal maxReverseSpeed() const;
00092    virtual void setMaxReverseSpeed(const DtReal speed);
00093 
00094    virtual DtReal turningRadius() const;
00095    virtual void setTurningRadius(const DtReal turningRadius);
00096 
00097    virtual DtReal maxSlope() const;
00098    virtual void setMaxSlope(const DtReal slope);
00099 
00102    virtual DtReal orderedSpeed() const;
00103    virtual void setOrderedSpeed(const DtReal speed);
00104 
00105    virtual DtReal maxAcceleration() const;
00106    virtual void setMaxAcceleration(const DtReal maxAcceleration);
00107 
00108    virtual DtReal maxStoppingDeceleration() const;
00109    virtual void setMaxStoppingDeceleration(const DtReal maxStoppingDeceleration);
00110 
00111    virtual DtReal fuelEfficiency() const;
00112    virtual void setFuelEfficiency(const DtReal fuelEfficiency);
00113 
00115    virtual DtReal inverseStoppingDeceleration() const;
00116 
00117    virtual bool forward() const;
00118    virtual void setForward(const bool forward);
00119 
00121    virtual bool amClampedToGround() const;
00122    virtual void setAmClampedToGround(const bool clamp);
00123 
00127    virtual bool usingRailMovement() const;
00128    virtual void setUsingRailMovement(const bool rails);
00129 
00140    virtual void clampToGround(const DtVector& location, const DtReal heading,
00141       bool* dataAvailable = 0, bool requireAllData = false);
00142 
00153    virtual void clampToGround(const DtVector& location, const DtReal heading, 
00154       bool gravityAligned, bool* dataAvailable = 0, 
00155       bool requireAllData = false);
00156 
00161    virtual void updateSupportPoints(const DtVector& newPosition, 
00162       const DtReal newHeading);
00163 
00165    virtual DtVector parentPosition();
00166 
00176    virtual void place(const DtVector& location, bool* dataAvailable = 0,
00177       bool requireAllData = false);
00178 
00188    virtual void place(const DtReal heading, bool* dataAvailable = 0,
00189       bool requireAllData = false);
00190 
00203    virtual void place(const DtVector& location, const DtReal heading, 
00204       bool clampToGroundFlag = true, bool* dataAvailable = 0,
00205       bool requireAllData = false);
00206 
00208    virtual void placeAtAltitude(const DtVector& location, const DtReal heading);
00209 
00212    virtual void setDIGuyCharacterInfo(DtRwDIGuyCharacterInfo * info);
00213    virtual  DtRwDIGuyCharacterInfo * diGuyCharacterInfo();
00214 
00216 
00217    virtual void setDIGuyCharacter(const DtString& character);
00218    virtual const DtString & dIGuyCharacter() const;
00220 
00222 
00223    virtual void setDIGuyAnimation(const DtString & animation);
00224    virtual const DtString & dIGuyAnimation() const;
00226 
00228 
00229    virtual void setDIGuyAppearance(const DtString & app);
00230    virtual const DtString& dIGuyAppearance() const;
00232 
00233 protected:
00235    DtVrfMovingObjectStateRepository();
00236 
00237    DtGroundInteractionPt myLeftSupport;
00238    DtGroundInteractionPt myRightSupport;
00239    DtGroundInteractionPt myOtherSupport;
00240 
00241    DtRwReal     myOrderedSpeed;
00242    DtRwReal     myMaxSpeed;
00243    DtRwReal     myMaxReverseSpeed;
00244    DtRwReal     myTurningRadius;
00245    DtRwReal     myMaxSlope;
00246    DtRwBoolean  myForward;
00247    DtRwReal     myMaxAcceleration;
00248    DtRwReal     myMaxStoppingDeceleration;
00249    DtRwReal     myFuelEfficiency;
00250    DtRwBoolean  myCanPivot;
00251    DtRwBoolean  myClampToGround;
00253    DtRwBoolean  myUsingRailMovement;
00254    DtRwReal     myMaxPivotSpeed;
00255 
00256    DtRwDIGuyCharacterInfo *  myDIGuyCharacterInfo;
00257 
00260    DtReal       myInverseStoppingDeceleration;
00261 };
00262 

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)