![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2006 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: createObjectCommand.h,v $ $Revision: 1.2 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00013 00014 #ifndef createObjectCommand_h 00015 #define createObjectCommand_h 00016 00017 #include "vrfplan/simCommand.h" 00018 #include "vrfplan/vrfplanDefines.h" 00019 #include "vrfutil/rwString.h" 00020 #include "vrfutil/rwObjType.h" 00021 #include "vrfutil/rwVector.h" 00022 #include "vrfutil/rwTemplatedList.h" 00023 #include "vrfutil/rwForce.h" 00024 #include "vrfutil/rwReal.h" 00025 #include "vrfutil/rwBoolean.h" 00026 #include "vrfutil/rwStringList.h" 00027 #include <vrfExtProtocol/ifaceCont.h> 00028 00029 class DtAdminContent; 00030 class DtSimInterfaceContent; 00031 00035 class DT_DLL_vrfplan DtCreateObjectCommand : public DtSimCommand 00036 { 00037 public: 00039 DtCreateObjectCommand(); 00040 00042 DtCreateObjectCommand(const DtString& writeName, 00043 DtReaderWriterRegistry* parentRegistry = NULL); 00044 00046 DtCreateObjectCommand(const DtString & writeName, const DtCreateObjectCommand& orig, 00047 DtReaderWriterRegistry* parentRegistry = NULL); 00048 00050 virtual ~DtCreateObjectCommand(); 00051 00053 DtCreateObjectCommand& operator=(const DtCreateObjectCommand& orig); 00054 00056 int type() const; 00057 00059 virtual DtSimCommand * clone(const DtString & name, DtReaderWriterRegistry * 00060 parentRegistry = 0) const; 00061 00065 00066 virtual DtString objectName() const; 00067 virtual void setObjectName(const DtString& name); 00069 00071 00072 virtual DtObjectType objectType() const; 00073 virtual void setObjectType(const DtObjectType& objectType); 00075 00077 00078 virtual DtForceType forceType() const; 00079 virtual void setForceType(const DtForceType& force); 00081 00083 virtual void clearVertices(); 00086 virtual void addVertex(const DtVector& vertex); 00088 virtual int numberOfVertices() const; 00092 virtual DtVector vertex(unsigned int index) const; 00093 00096 00097 virtual DtReal heading() const; 00098 virtual void setHeading(DtReal heading); 00100 00102 virtual bool headingSpecified() const; 00103 00106 00107 virtual bool closedFigure() const; 00108 virtual void setClosedFigure(bool closed); 00110 00113 00114 virtual bool projected() const; 00115 virtual void setProjected(bool value); 00117 00120 00121 virtual bool clampedToGround() const; 00122 virtual void setClampedToGround(bool value); 00124 00127 00128 virtual bool aggregated() const; 00129 virtual void setAggregated(bool value); 00131 00133 virtual DtString stringRep() const; 00134 00136 virtual int netRepSize() const; 00137 00139 virtual bool setFromNet(const char* contentBuffer, 00140 unsigned contentSize); 00141 00143 virtual bool setToNet(); 00144 00146 virtual const std::list<DtAdminContent*>& initialAdminContent() const; 00147 virtual void setInitialAdminContent(std::list<DtAdminContent*> adminContent); 00148 virtual void addInitialAdminContent(const DtAdminContent* adminContent); 00149 00151 virtual const std::list<DtSimInterfaceContent*>& initialInterfaceContent() const; 00152 virtual void setInitialInterfaceContent(std::list<DtSimInterfaceContent*> adminContent); 00153 virtual void addInitialInterfaceContent(const DtSimInterfaceContent* adminContent); 00154 00156 virtual void createAndAddAdminContentFromEncodedBuffer(const DtString&); 00157 00159 virtual void encodeAndAddAdminContent(const DtAdminContent*); 00160 00162 virtual void createAndAddInterfaceContentFromEncodedBuffer(const DtString&); 00163 00165 virtual void encodeAndAddInterfaceContent(const DtSimInterfaceContent*); 00166 00168 static DtSimCommand* creator(); 00169 00170 protected: 00171 virtual void getSelf(DtlObjPtr args, const DtFilename& searchPath, 00172 const DtVariableBindingsList& variableBindings); 00173 00174 virtual char* decodeBuffer(const DtString&) const; 00175 virtual DtString encodeBuffer(const char* chr, int length) const; 00176 00177 protected: 00178 DtRwString myObjectName; 00179 DtRwObjectType myObjectType; 00180 DtRwForceType myForceType; 00181 DtRwTemplatedListPtr<DtRwVector> myVertices; 00182 DtRwReal myHeading; 00183 DtRwBoolean myClosedFigure; 00184 DtRwBoolean myProjected; 00185 DtRwBoolean myClampedToGround; 00186 DtRwBoolean myAggregated; 00187 DtRwStringList myAdminContents; 00188 DtRwStringList myInterfaceContents; 00189 00191 std::list<DtAdminContent*> myAdditionalAdminContent; 00192 00194 std::list<DtSimInterfaceContent*> myAdditionalInterfaceContent; 00195 }; 00196 00197 #endif