![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2011 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00008 00011 00012 #pragma once 00013 00014 #include <vrfGuiCore/vrfGuiCore.h> 00015 #include <vrfGuiCore/DtCopyObject.h> 00016 #include <vrfGuiCore/DtEntityCreationData.h> 00017 00018 #include <matrix/geodCoord.h> 00019 00020 namespace makVrv 00021 { 00022 struct DtVrlinkSimulatedEntityState; 00023 class DtEntityFacade; 00024 } 00025 00026 class DtSimMessage; 00027 class DtIfPlan; 00028 class DtIfVrfObjectCreated; 00029 00030 namespace makVrf 00031 { 00032 class DtEntityFacadeCollection; 00033 00034 const int DtVrfObjectCreation = 1; 00035 const int DtProcessNextFlag = 100; 00036 00037 class DT_DLL_VRFGUICORE DtEntityCopyObject : public DtCopyObject 00038 { 00039 public: 00040 DtEntityCopyObject(makVrv::DtDe&); 00041 virtual ~DtEntityCopyObject(); 00042 00043 public: 00045 virtual DtGeodeticCoord calculateCenter() const; 00046 00048 virtual void createFacade(); 00049 00051 virtual void setOrigin(const DtGeodeticCoord&); 00052 00054 virtual DtVector origin() const; 00055 00056 protected: 00059 virtual void write(std::ostringstream& str, const makVrv::DtVrlinkSimulatedBaseState* data, makVrv::DtUniqueID id); 00060 virtual void write(std::ostringstream& str, const makVrv::DtVrlinkSimulatedEntityState* data, makVrv::DtUniqueID id); 00061 00063 virtual void write(std::ostringstream& str, const DtVrfObjectDataState* data); 00064 00067 virtual void read(std::istringstream& str, makVrv::DtVrlinkSimulatedBaseState* data); 00068 virtual void read(std::istringstream& str, makVrv::DtVrlinkSimulatedEntityState* data); 00069 00071 virtual void read(std::istringstream& str, DtVrfObjectDataState* data); 00072 00075 virtual bool copyOperationsPending() const; 00076 00079 virtual void requestPlan(); 00080 00083 virtual void processReceivedPlan(DtSimMessage*); 00084 00086 virtual void cancel(); 00087 00090 virtual makVrv::DtVrlinkSimulatedBaseState* createReadableStateData() const; 00091 00093 virtual std::string copyPendingMessage() const; 00094 00095 protected: 00097 virtual bool pasteComplete() const; 00098 00100 virtual void createObject(const DtVector&); 00101 00103 virtual std::string pastePendingMessage() const; 00104 00107 virtual void processObjectCreated(DtString, const DtEntityIdentifier&); 00108 00110 virtual void processPasteStep(); 00111 00113 virtual void sendRulesOfEngagement(); 00114 00116 virtual void sendPlan(); 00117 00119 virtual DtEntityCreationData entityCreationData(const DtVector&); 00120 00121 protected: 00122 bool myAwaitingPlan; 00123 DtIfPlan* myPlan; 00124 00125 int myAwaiting; 00126 int myRequestId; 00127 DtEntityFacadeCollection* myFacade; 00128 bool myClampToGround; 00129 DtVector myPosition; 00130 }; 00131 00134 class DT_DLL_VRFGUICORE DtEntityCopyObjectCreator : public DtCopyObjectCreator 00135 { 00136 public: 00137 virtual DtCopyObject* create(makVrv::DtDe&); 00138 }; 00139 }