VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/embarkationPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2005 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: embarkationPSR.h,v $ $Revision: 1.14 $ $State: Exp $
00007 *******************************************************************************/
00008 
00011 
00012 #ifndef DtVrfEmbarkationPSR_H_
00013 #define DtVrfEmbarkationPSR_H_
00014 
00015 #include "vrfobjcore/processSR.h"
00016 #include "vrfutil/rwInt.h"
00017 #include "vrfutil/rwBoolean.h"
00018 #include "vrfutil/rwString.h"
00019 #include "vrfutil/rwVector.h"
00020 #include "vrfutil/rwTaitBryan.h"
00021 #include "vrfutil/rwTemplatedList.h"
00022 
00027 
00028 #include "vrfobjcore/vrfobjcoreDefines.h"
00029 class DT_DLL_vrfobjcore DtVrfEmbarkationPSR : public DtVrfProcessStateRepository
00030 {
00031 public:
00032    enum DtEmbarkationControllerState
00033    {
00034       DtIdle               = 0,
00035       DtMoveToEgress       = 5,
00036       DtMovingToEgress,
00037       DtDisembark,
00038       DtMoveToIngress,
00039       DtMovingToIngress,
00040       DtMoveToEmbarkationPoint,
00041       DtMovingToEmbarkationPoint,
00042       DtAtEmbarkationPoint,
00043       DtWaitingToStop,
00044       DtStoppedAtEmbarkedPoint,
00045       DtWaitingForEmbarkationInformation,
00046       DtWaitingForDisembarkationInformation,
00047       DtMoveToFinalDestination,
00048       DtMovingToFinalDestination,
00049       DtCompletingTask
00050    };
00051 
00052 public:
00053 
00055    DtVrfEmbarkationPSR(DtVrfObject* vrfObject, 
00056       const DtString& rwName = DtString::nullString(), 
00057       DtReaderWriterRegistry*  parentRegistry = 0);
00058 
00060    DtVrfEmbarkationPSR(const DtVrfEmbarkationPSR& orig,
00061       const DtString& rwName = DtString::nullString(), 
00062       DtReaderWriterRegistry*  parentRegistry = 0);
00063 
00065    virtual ~DtVrfEmbarkationPSR();
00066 
00068    DtVrfEmbarkationPSR& operator=(const DtVrfEmbarkationPSR& orig);
00069 
00071    virtual DtVrfProcessStateRepository* clone(
00072       const DtString& rwName = DtString::nullString(), 
00073       DtReaderWriterRegistry*  parentRegistry = 0) const;
00074 
00077    virtual DtString type() const;
00078 
00081    virtual void setEmbarkationState(DtEmbarkationControllerState state);
00082    virtual DtEmbarkationControllerState embarkationState() const;
00084 
00087    virtual void setEmbarkationInformation(const DtString& parent,
00088       bool useEmbarkationOverride = false, const DtVector& embarkationOverridePosition = DtVector::zero());
00089 
00090    virtual void getEmbarkationInformation(DtString& parent, bool& useEmbarkationOverride,
00091       DtVector& embarkationOverridePosition);
00092    virtual const DtString& embarkationParent() const;
00093    virtual bool embarkationLocationOverride() const;
00094    virtual const DtVector& embarkationLocationOverridePosition() const;
00095 
00096    virtual void setControlPointName(const DtString&);
00097    virtual const DtString& controlPointName() const;
00098 
00099    virtual void setEmbarkedAppearance(int);
00100    virtual int embarkedAppearance() const;
00101 
00102    virtual void setPublishLoadPoints(bool);
00103    virtual bool publishLoadPoints() const;
00104 
00105    virtual void setOnGroundBeforeDisembark(bool);
00106    virtual bool onGroundBeforeDisembark() const;
00107 
00108    virtual void setEmbarkedOrientation(const DtTaitBryan&);
00109    virtual const DtTaitBryan& embarkedOrientation() const;
00110 
00111    virtual void clearEmbarkationInformation();
00112 
00113    virtual void setJumpToLocation(bool b);
00114    virtual bool jumpToLocation() const;
00115 
00116    virtual void setTurnToHeading(bool b);
00117    virtual bool turnToHeading() const;
00118 
00119    virtual void setExitPosition(const DtVector&);
00120    virtual const DtVector& exitPosition() const;
00121 
00123    virtual void setCurrentSubordinateTask(int);
00124    virtual int currentSubordinateTask() const;
00125 
00126    virtual void addTaskedSubordinate(const DtString& name);
00127    virtual bool removeTaskedSubordinate(const DtString& name);
00128    virtual const DtRwTemplatedListPtr<DtRwString>& taskedSubordinates() const;
00129    virtual void clearTaskedSubordinates();
00130 
00132 
00133 public:
00134 
00136    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00137       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00138 
00139 protected:
00140 
00141    DtRwInt        myEmbarkationState;
00142    DtRwString     myControlPointName;
00143    DtRwString     myEmbarkationParent;
00144    DtRwBoolean    myEmbarkationLocationOverride;
00145    DtRwVector     myEmbarkationLocationOverridePosition;
00146    DtRwVector     myExitPosition;
00147    DtRwInt        myEmbarkedAppearance;
00148    DtRwTaitBryan  myEmbarkedOrientation;
00149    DtRwBoolean    myPublishLoadPoints;
00150    DtRwBoolean    myOnGroundBeforeDisembark;
00151    DtRwBoolean    myJumpToLocation;
00152    DtRwBoolean    myTurnToHeading;
00153 
00155    DtRwTemplatedListPtr<DtRwString> myTaskedSubordinates;
00156    DtRwInt                          myCurrentSubordinateTask;
00157 };
00158 
00159 #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)