![]() |
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/DtEnvironmentState.h> 00017 00018 namespace makVrf 00019 { 00020 class DtEnvironmentalFacadeCollection; 00021 00022 class DT_DLL_VRFGUICORE DtEnvironmentalCopyObject : public DtCopyObject 00023 { 00024 public: 00025 DtEnvironmentalCopyObject(makVrv::DtDe&); 00026 virtual ~DtEnvironmentalCopyObject(); 00027 00028 public: 00030 virtual DtGeodeticCoord calculateCenter() const; 00031 00032 DtEnvironmentalFacadeCollection* facade() 00033 { 00034 return myFacade; 00035 } 00036 00037 const DtEnvironmentalFacadeCollection* facade() const 00038 { 00039 return myFacade; 00040 } 00041 00042 protected: 00045 virtual void write(std::ostringstream& str, const makVrv::DtVrlinkSimulatedBaseState* data, makVrv::DtUniqueID id); 00046 virtual void write(std::ostringstream& str, const DtVrlinkSimulatedEnvironmentProcess* data, makVrv::DtUniqueID id); 00047 00050 virtual void read(std::istringstream& str, makVrv::DtVrlinkSimulatedBaseState* data); 00051 virtual void read(std::istringstream& str, DtVrlinkSimulatedEnvironmentProcess* data); 00052 00053 virtual makVrv::DtVrlinkSimulatedBaseState* createReadableStateData() const; 00054 00055 protected: 00056 DtEnvironmentalFacadeCollection* myFacade; 00057 }; 00058 00060 class DT_DLL_VRFGUICORE DtEnvironmentalPointCopyObject : public DtEnvironmentalCopyObject 00061 { 00062 public: 00063 DtEnvironmentalPointCopyObject(makVrv::DtDe&); 00064 virtual ~DtEnvironmentalPointCopyObject(); 00065 00067 virtual void createFacade(); 00068 00070 virtual void setOrigin(const DtGeodeticCoord&); 00071 00073 virtual DtVector origin() const; 00074 00075 protected: 00076 virtual void createObject(const DtVector& center); 00077 00078 protected: 00079 DtVector myPosition; 00080 }; 00081 00083 class DT_DLL_VRFGUICORE DtEnvironmentalShapeCopyObject : public DtEnvironmentalCopyObject 00084 { 00085 public: 00086 DtEnvironmentalShapeCopyObject(makVrv::DtDe&); 00087 virtual ~DtEnvironmentalShapeCopyObject(); 00088 00090 virtual void createFacade(); 00091 00092 00094 virtual void setOrigin(const DtGeodeticCoord&); 00095 00097 virtual DtVector origin() const; 00098 00099 protected: 00100 virtual void createObject(const DtVector& center); 00101 00102 virtual void setupOffsets(const DtGeodeticCoord&); 00103 00104 protected: 00105 DtVector myPosition; 00106 }; 00107 00110 class DT_DLL_VRFGUICORE DtEnvironmentalPointCopyObjectCreator : public DtCopyObjectCreator 00111 { 00112 public: 00113 virtual DtCopyObject* create(makVrv::DtDe&); 00114 }; 00115 00118 class DT_DLL_VRFGUICORE DtEnvironmentalShapeCopyObjectCreator : public DtCopyObjectCreator 00119 { 00120 public: 00121 virtual DtCopyObject* create(makVrv::DtDe&); 00122 }; 00123 }