VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtEnvironmentalCopyObject.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/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 }

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)