![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rwRailSegment.h,v $ $Revision: 1.1 $ $State: Exp $ 00007 ** Created: 4/28/10 MEM 00008 *******************************************************************************/ 00016 00019 00020 #pragma once 00021 00022 #include "vrfutil/railSegment.h" 00023 #include <vlutil/vlString.h> 00024 #include "vrfutil/rdrWritr.h" 00025 #include "vrfutil/rwBoolean.h" 00026 #include "vrfutil/rwInt.h" 00027 00028 #include "vrfutil/vrfutilDefines.h" 00029 #include "rwTemplatedList.h" 00030 00031 class DT_DLL_vrfutil DtRwRailSegment : public DtReaderWriter, public DtRailSegment 00032 { 00033 00034 public: 00035 00036 enum DtMovementDirection 00037 { 00038 DtForward = 0, 00039 DtReverse 00040 }; 00041 00043 DtRwRailSegment(const DtString& name = DtString::nullString(), 00044 DtReaderWriterRegistry* parentRegistry = NULL); 00045 00046 DtRwRailSegment(const DtSymbolString& name, 00047 DtReaderWriterRegistry* parentRegistry = NULL); 00048 00050 DtRwRailSegment(const DtVector& start,const DtVector& end, 00051 const DtString& name = DtString::nullString(), 00052 DtReaderWriterRegistry* parentRegistry = NULL); 00053 00054 DtRwRailSegment(const DtVector& start,const DtVector& end, 00055 const DtSymbolString& name, 00056 DtReaderWriterRegistry* parentRegistry = NULL); 00057 00058 DtRwRailSegment(const DtRailSegment& fromRail, 00059 const DtString& name, 00060 DtReaderWriterRegistry* parentRegistry = NULL); 00061 00062 DtRwRailSegment(const DtRailSegment& fromRail, 00063 const DtSymbolString& name, 00064 DtReaderWriterRegistry* parentRegistry = NULL); 00065 00067 DtRwRailSegment(const DtRwRailSegment & orig, 00068 DtReaderWriterRegistry* parentRegistry = NULL); 00069 00071 DtRwRailSegment & operator=(const DtRwRailSegment & orig); 00072 DtRwRailSegment & operator=(const DtRailSegment & orig); 00073 00074 virtual ~DtRwRailSegment(); 00075 00076 virtual void putSelf(FILE* fp, int indentLevel = 0, 00077 bool writeUnspecified = false, const DtFilename& path = 00078 DtFilename::nullFilename()); 00079 00080 virtual void getSelf(DtlObjPtr args, 00081 const DtFilename& searchPath = DtFilename::nullFilename(), 00082 const DtVariableBindingsList& variableBindings = nullVariableReference()); 00083 00087 virtual const char* readerWriterType() const; 00088 00089 protected: 00090 00091 }; 00092 00093 typedef DtRwTemplatedListPtr<DtRwRailSegment> DtRwRailSegmentList;