VR-Forces 4.0.4 Class Documentation
Turn And Move To PSR

This subclass of DtVrfProcessStateRepository that will keep information about the turn and move task to use when reloaded as part of a scenario.


Header file:

/*******************************************************************************
** 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

Implementation:

/*******************************************************************************
** 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;
}


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)