VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtEntityCopyObject.h
Go to the documentation of this file.
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 }

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)