![]() |
VR-Forces 4.0.4 Class Documentation
|
This subclass of DtVrfProcessStateRepository that will keep information about the turn and move task to use when reloaded as part of a scenario.
/******************************************************************************* ** Copyright (c) 2005 MAK Technologies, Inc. ** All rights reserved. *******************************************************************************/ /******************************************************************************* ** $RCSfile: turnAndMoveControllerPSR.h,v $ $Revision: 1.3 $ $State: Exp $ *******************************************************************************/ #ifndef turnAndMoveControllerPSR_H_ #define turnAndMoveControllerPSR_H_ #include "vrfobjcore/processSR.h" #include "vrfutil/rwInt.h" #include "vrfutil/rwString.h" //RW type definition. const char DtTurnAndMoveControllerPSRType[] = "turn-and-move-process-state-repository"; //DtTurnAndMoveControllerPSR is a process state repository which holds state variables for //the DtTurnAndMoveController component. //Process State Repositories hold state data for one or more components so that //their internal state is preserved when a scenario is saved and reloaded. class DtTurnAndMoveControllerPSR : public DtVrfProcessStateRepository { public: //Constructor DtTurnAndMoveControllerPSR(DtVrfObject* vrfObject, const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0); //Copy constructor DtTurnAndMoveControllerPSR(const DtTurnAndMoveControllerPSR& orig, const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0); //Assignment Operator DtTurnAndMoveControllerPSR& operator=(const DtTurnAndMoveControllerPSR& orig); //Destructor virtual ~DtTurnAndMoveControllerPSR(); //Returns complete copy of this class using the copy constructor. virtual DtVrfProcessStateRepository* clone( const DtString& rwName = DtString::nullString(), DtReaderWriterRegistry* parentRegistry = 0) const; //Returns "turn-and-move-process-state-repository" virtual DtString type() const; //Static creator function for factory registration. static DtVrfProcessStateRepository* creator(const DtString& rwName, DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry = 0); virtual DtString destinationName() const; virtual void setDestinationName(const DtString& newValue); virtual int subtaskId() const; virtual void setSubtaskId(const int& newValue); virtual int taskState() const; virtual void setTaskState(const int& newValue); protected: DtRwString myDestinationName; DtRwInt mySubtaskId; DtRwInt myTaskState; }; #endif
/******************************************************************************* ** Copyright (c) 2005 MAK Technologies, Inc. ** All rights reserved. *******************************************************************************/ /******************************************************************************* ** $RCSfile: turnAndMoveControllerPSR.cxx,v $ $Revision: 1.1 $ $State: Exp $ *******************************************************************************/ #include "turnAndMoveControllerPSR.h" //All RW data members must be registered in the constructor with their rw names. DtTurnAndMoveControllerPSR::DtTurnAndMoveControllerPSR(DtVrfObject* vrfObject, const DtString& rwName, DtReaderWriterRegistry* parentRegistry) : DtVrfProcessStateRepository(vrfObject, rwName, parentRegistry), myDestinationName("destination-name", &myRegistry), mySubtaskId("subtask-id", &myRegistry), myTaskState("task-state", &myRegistry) { //Set default values for RW data members. //These values will be the initial values for a newly created component. myDestinationName = ""; mySubtaskId = -1; myTaskState = 0; } DtTurnAndMoveControllerPSR::DtTurnAndMoveControllerPSR(const DtTurnAndMoveControllerPSR& orig, const DtString& rwName, DtReaderWriterRegistry* parentRegistry) : DtVrfProcessStateRepository(orig, rwName, parentRegistry), myDestinationName(orig.myDestinationName.name(), &myRegistry), mySubtaskId(orig.mySubtaskId.name(), &myRegistry), myTaskState(orig.myTaskState.name(), &myRegistry) { myDestinationName = orig.myDestinationName; mySubtaskId = orig.mySubtaskId; myTaskState = orig.myTaskState; } DtTurnAndMoveControllerPSR& DtTurnAndMoveControllerPSR::operator=( const DtTurnAndMoveControllerPSR& orig) { if (this == &orig) {return *this;} DtVrfProcessStateRepository::operator=(orig); myDestinationName = orig.myDestinationName; mySubtaskId = orig.mySubtaskId; myTaskState = orig.myTaskState; return *this; } DtTurnAndMoveControllerPSR::~DtTurnAndMoveControllerPSR() { } DtString DtTurnAndMoveControllerPSR::type() const { return DtTurnAndMoveControllerPSRType; } DtVrfProcessStateRepository* DtTurnAndMoveControllerPSR::clone( const DtString& rwName, DtReaderWriterRegistry* parentRegistry) const { return new DtTurnAndMoveControllerPSR(*this, rwName, parentRegistry); } DtVrfProcessStateRepository* DtTurnAndMoveControllerPSR::creator( const DtString& rwName, DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry) { return new DtTurnAndMoveControllerPSR(vrfObject, rwName, parentRegistry); } DtString DtTurnAndMoveControllerPSR::destinationName() const { return myDestinationName; } void DtTurnAndMoveControllerPSR::setDestinationName(const DtString& newValue) { myDestinationName = newValue; } int DtTurnAndMoveControllerPSR::subtaskId() const { return mySubtaskId; } void DtTurnAndMoveControllerPSR::setSubtaskId(const int& newValue) { mySubtaskId = newValue; } int DtTurnAndMoveControllerPSR::taskState() const { return myTaskState; } void DtTurnAndMoveControllerPSR::setTaskState(const int& newValue) { myTaskState = newValue; }