VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/surfaceMovementPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2003 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: surfaceMovementPSR.h,v $ $Revision: 1.9 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtSurfaceMovementPSR_H_
00013 #define DtSurfaceMovementPSR_H_
00014 
00015 #include "vrfobjcore/processSR.h"
00016 #include "vrfutil/rwString.h"
00017 #include "vrfutil/rwBoolean.h"
00018 #include "vrfutil/rwVector.h"
00019 #include "vrfutil/lclVtxList.h"
00020 #include "vrfutil/rwInt.h"
00021 #include "vrfutil/rwReal.h"
00022 
00027 
00028 class DtLocalVectorIterator;
00029 
00030 #include "vrfobjcore/vrfobjcoreDefines.h"
00031 class DT_DLL_vrfobjcore DtSurfaceMovementPSR : public DtVrfProcessStateRepository
00032 {
00033 public:
00034 
00036    DtSurfaceMovementPSR(DtVrfObject* vrfObject, 
00037       const DtString& rwName = DtString::nullString(), 
00038       DtReaderWriterRegistry*  parentRegistry = 0);
00039 
00041    DtSurfaceMovementPSR(const DtSurfaceMovementPSR& orig,
00042       const DtString& rwName = DtString::nullString(), 
00043       DtReaderWriterRegistry*  parentRegistry = 0);
00044 
00046    virtual ~DtSurfaceMovementPSR();
00047 
00049    DtSurfaceMovementPSR& operator=(const DtSurfaceMovementPSR& orig);
00050 
00052    virtual DtVrfProcessStateRepository* clone(
00053       const DtString& rwName = DtString::nullString(), 
00054       DtReaderWriterRegistry*  parentRegistry = 0) const;
00055 
00058    virtual DtString type() const;
00059 
00061    virtual void setControlObjectName(const DtString& objectName);
00062    virtual const DtString& controlObjectName() const;
00063 
00065    virtual void setRouteName(const DtString& objectName);
00066    virtual const DtString& routeName() const;
00067 
00070    virtual void setRouteVertices(const DtLocalVectorIterator& routeIterator);
00071    virtual const DtLocalVertexList& routeVertices() const;
00072 
00074    virtual void emptyRouteVertices();
00075 
00078    virtual DtLocalVectorIterator* routeState() const;
00079 
00082    virtual void setReverseFlag(bool flag);
00083    virtual bool reverseFlag() const;
00084 
00086    virtual void setFirstWaypoint(const DtString& objectName);
00087    virtual const DtString& firstWaypoint() const;
00088 
00090    virtual void setSecondWaypoint(const DtString& objectName);
00091    virtual const DtString& secondWaypoint() const;
00092 
00094    virtual void setEntityToFollow(const DtString& objectName);
00095    virtual const DtString& entityToFollow() const;
00096 
00099    virtual void setFollowOffsetVector(const DtVector& offset);
00100    virtual const DtVector& followOffsetVector() const;
00101 
00103    virtual void putSelf(FILE *fp, int indentLevel = 0, 
00104       bool writeUnspecified = false, const DtFilename& path = DtReaderWriter::appPath());
00105 
00109    virtual void setWorldAimingPoint(const DtVector& pnt);
00110    virtual const DtVector& worldAimingPoint() const;
00111 
00113    virtual DtReal maxYawRate() const;
00114    virtual void setMaxYawRate (DtReal maxYawRate);
00115 
00117    virtual DtReal maxYawAcceleration() const;
00118    virtual void setMaxYawAcceleration(DtReal maxYawAcceleration);
00119 
00121    virtual double stoppingSpeed() const;
00122    virtual void setStoppingSpeed(DtReal stoppingSpeed);
00123 
00124 
00125 public:
00126 
00128    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00129       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00130 
00131 protected:
00132 
00137    DtRwString myControlObjectName;
00138 
00143    DtRwString myRouteName;
00146    DtLocalVectorIterator* myRouteState;   
00148    DtLocalVertexList myVertices;
00150    DtRwInt myCurrentVertex;
00151 
00156    DtRwBoolean myReverseFlag;
00157 
00161    DtRwString myFirstWaypoint;
00162    DtRwString mySecondWaypoint;
00163 
00168    DtRwString          myEntityToFollow;
00171    DtRwVector          myFollowOffsetVector;
00172 
00174    DtRwVector  myWorldAimingPoint;
00175 
00177    DtRwReal    myStoppingSpeed;
00178 
00180    DtRwReal    myMaxYawRate;
00181 
00183    DtRwReal    myMaxYawAcceleration;
00184 };
00185 
00186 #endif

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)