VR-Forces 4.0.4 Class Documentation
include/vrfobjcore/railPathControllerPSR.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2010 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: railPathControllerPSR.h,v $ $Revision: 1.1 $ $State: Exp $
00007 ** Created: 5/5/10 MEM
00008 *******************************************************************************/
00009 
00012 
00013 #pragma once
00014 
00015 #include "vrfobjcore/processSR.h"
00016 #include "vrfutil/rwVector.h"
00017 #include "vrfutil/rwString.h"
00018 #include "vrfutil/rwInt.h"
00019 #include "vrfutil/rwTemplatedList.h"
00020 #include "vrfutil/rwRailSegment.h"
00021 
00027 
00028 #include "vrfobjcore/vrfobjcoreDefines.h"
00029 class DT_DLL_vrfobjcore DtRailPathControllerPSR : public DtVrfProcessStateRepository
00030 {
00031 public:
00032    enum DtRailPathState
00033    {
00034        DtNoMove = 0,
00035        DtMoveTurningToRail,
00036        DtMoveToRail,
00037        DtMoveAlongRail,
00038        DtMoveFromRail
00039    };
00040 
00042    DtRailPathControllerPSR(DtVrfObject* vrfObject, 
00043       const DtString& rwName = DtString::nullString(), 
00044       DtReaderWriterRegistry*  parentRegistry = 0);
00045 
00047    DtRailPathControllerPSR(const DtRailPathControllerPSR& orig,
00048       const DtString& rwName = DtString::nullString(), 
00049       DtReaderWriterRegistry*  parentRegistry = 0);
00050 
00052    virtual ~DtRailPathControllerPSR();
00053 
00055    DtRailPathControllerPSR& operator=(const DtRailPathControllerPSR& orig);
00056 
00058    virtual DtVrfProcessStateRepository* clone(
00059       const DtString& rwName = DtString::nullString(), 
00060       DtReaderWriterRegistry*  parentRegistry = 0) const;
00061 
00063    virtual DtString type() const;
00064 
00065    virtual void clear();
00066 
00069    virtual void setState(DtRailPathState moving);
00070    virtual DtRailPathState state() const;
00072 
00075    virtual const DtRwTemplatedListPtr<DtRwRailSegment>& pathList() const;
00076    virtual DtRwTemplatedListPtr<DtRwRailSegment>& pathList();
00077    virtual void setPathList(DtRwTemplatedListPtr<DtRwRailSegment>& list);
00078    virtual void addSegmentToPath(const DtRailSegment& seg,bool appendToEnd = true);
00080 
00084    virtual void setPathEntryPoint(const DtVector& point);
00085    virtual const DtVector & pathEntryPoint() const;
00087 
00090    virtual void setDestinationName(const DtString& destinationName);
00091    virtual DtString destinationName() const;
00093    virtual bool destinationNameSpecified() const;
00095    virtual void unspecifyDestinationName();
00097 
00101    virtual void setDestinationLocation(const DtVector& destinationLocation);
00102    virtual DtVector destinationLocation() const;
00104    virtual bool destinationLocationSpecified() const;
00106    virtual void unspecifyDestinationLocation();
00108 
00111    virtual void setPathName(const DtString& pathName);
00112    virtual DtString pathName() const;
00114    virtual bool pathNameSpecified() const;
00116    virtual void unspecifyPathName();
00118 
00119 public:
00120 
00122    static DtVrfProcessStateRepository* creator (const DtString& rwName,
00123       DtVrfObject* vrfObject, DtReaderWriterRegistry* parentRegistry);
00124 
00125 protected:
00126 
00130 
00134    DtRwInt myRailPathState;
00138    DtRwString myPathName;
00141    DtRwString myDestinationName; 
00144    DtRwVector myDestinationLocation; 
00148    DtRwVector myPathEntryPoint;
00151    DtRwTemplatedListPtr<DtRwRailSegment> myPathList;
00152 };
00153 
00154 
00155 

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)