VR-Forces 4.0.4 Class Documentation
include/vrfGuiCore/DtVrfObjectFacadeInterface.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 2011 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 /******************************************************************************
00006 ** $RCSfile: DtVrfObjectFacadeInterface.h,v $ $Revision: 1.6 $ $State: Exp $
00007 ******************************************************************************/
00008 
00011 
00013 
00014 #pragma once
00015 
00016 #include <vrfGuiCore/vrfGuiCore.h>
00017 
00018 #include <vrvCore/DtUniqueID.h>
00019 
00020 #include <boost/signal.hpp>
00021 #include <matrix/vlVector.h>
00022 #include <matrix/geodCoord.h>
00023 #include <matrix/vlTaitBryan.h>
00024 #include <string>
00025 
00026 class DtEntityType;
00027 class DtReferenceEllipsoid;
00028 
00029 namespace makVrv
00030 {
00031    class DtDe;
00032    class DtChannel;
00033    class DtWindow;
00034 }
00035 
00036 namespace makVrf
00037 {
00038    enum DtAltitudeClampType
00039    {
00040       AltitudeAboveSeaLevel = 1,
00041       AltitudeAboveTerrain = 2
00042    };
00043 
00044    class DtVrfObjectManipulationHandlerBaseClass;
00045 
00046    class DT_DLL_VRFGUICORE DtVrfObjectFacadeInterface
00047    {
00048    public:
00049       DtVrfObjectFacadeInterface( makVrv::DtDe& de, int modelSet = -1 );
00050       
00051       virtual ~DtVrfObjectFacadeInterface();
00052 
00053       virtual const std::string& entityId() const
00054       {
00055          return myEntityId;
00056       }
00057 
00058       virtual void setEntityId(const std::string& i)
00059       {
00060          myEntityId = i;
00061       }
00062 
00063       virtual const DtGeodeticCoord& locationOffsetFromPrincipal() const;
00064       virtual void setLocationOffsetFromPrincipal( const DtGeodeticCoord& offset );
00065       
00066       virtual double headingOffsetFromPrincipal() const;
00067       virtual void setHeadingOffsetFromPrincipal( double offset );
00068       
00069       virtual double altitudeOffsetFromPrincipal() const;
00070       virtual void setAltitudeOffsetFromPrincipal( double offset );
00071       
00072       virtual makVrv::DtUniqueID uniqueID() const = 0;
00073 
00074       virtual makVrv::DtUniqueID sceneObjectId() const;
00075       virtual void setSceneObjectId( const makVrv::DtUniqueID& id );
00076       
00077       virtual std::string displayName() const;
00078       virtual void setDisplayName( const std::string& displayName );
00079       
00080       virtual const DtGeodeticCoord& currentGroundLocation() const;
00081       virtual DtGeodeticCoord convertToGeodetic(const DtVector& v) const;
00082       
00083       virtual double currentHeading() const;
00084       virtual void setCurrentHeading( double currentHeading );
00085       
00087       virtual void setSelected(bool);
00088 
00090       virtual std::string overlayName() const;
00091 
00093       virtual double currentAltitude() const;
00094 
00095       virtual DtVector localLocation() const;
00096       virtual DtVector localLocation(const DtGeodeticCoord& geodLocation) const;
00097 
00099       virtual DtVector reviseLocation(const DtVector& loc) const;
00100       
00102       virtual DtTaitBryan localOrientation() const;
00103 
00104    public:
00106       
00107       virtual void setOrigin(const DtGeodeticCoord&);
00108       virtual void setOrigin(const DtVector&);
00109 
00110       virtual void setPickable(bool) = 0;
00111       virtual void setIndicatorVisible(bool) = 0;
00112       virtual void setWidgetEventsEnabled(bool) = 0;
00113       virtual void setHatLineVisible(bool) = 0;
00114 
00118       virtual void setVisible(bool);
00119       virtual bool isVisible() const;
00120 
00122       virtual void setOrientation(const DtTaitBryan&) = 0;
00123 
00125       virtual void unrealizeFacades() = 0;
00126 
00128       virtual void realizeFacades() = 0;
00129 
00130       virtual bool hasNameChange() const
00131       {
00132          return myDisplayNameChanged;
00133       }
00134 
00135       virtual bool hasLocationChange() const
00136       {
00137          return myLocationChanged;
00138       }
00139 
00140       virtual bool hasAltitudeChange() const
00141       {
00142          return myAltitudeChanged;
00143       }
00144 
00145       virtual bool hasHeadingChange() const
00146       {
00147          return myHeadingChanged;
00148       }
00149 
00150       virtual void clearFlags();
00151 
00152       virtual void setAltitudeClampType(DtAltitudeClampType t);
00153       virtual DtAltitudeClampType altitudeClampType() const
00154       {
00155          return myAltitudeClampType;
00156       }
00157 
00158       virtual void setAltitudeAboveTerrain(double);
00159       virtual double altitudeAboveTerrain() const
00160       {
00161          return myAltitudeAboveGL;
00162       }
00163 
00164       virtual void setAltitudeAboveSeaLevel(double);
00165       virtual double altitudeAboveSeaLevel() const
00166       {
00167          return myAltitudeAboveSL;
00168       }
00169 
00170       virtual void setIsAnchor(bool);
00171       virtual bool isAnchor() const
00172       {
00173          return myAnchor;
00174       }
00175 
00176       virtual void setUserData(const std::string& userData);
00177       virtual std::string userData() const;
00178 
00179       int modelSet() const
00180       {
00181          return myModelSetOnly;
00182       }
00183 
00184       virtual DtVector clampToGround( const DtVector& localPosition ) const;
00185       virtual DtGeodeticCoord clampToGround( const DtGeodeticCoord& localPosition ) const;
00186 
00187    protected:
00188       virtual void setCurrentGroundLocation( const DtGeodeticCoord& currentGroundLocation );
00189 
00190    protected:
00191       makVrv::DtDe& myDe;
00192       makVrv::DtUniqueID mySceneObjectId;
00193       std::string myDisplayName;
00194       std::string myEntityId;
00195       
00196       DtGeodeticCoord myLocationOffsetFromPrincipal; 
00197       double myHeadingOffsetFromPrincipal;
00198       double myAltitudeOffsetFromPrincipal;
00199       
00200       DtGeodeticCoord myCurrentGroundLocation;   
00201       double myCurrentHeading;
00202 
00203       bool myDisplayNameChanged;
00204       bool myLocationChanged;
00205       bool myAltitudeChanged;
00206       bool myHeadingChanged;
00207       bool myUserDataChanged;
00208 
00209       DtAltitudeClampType myAltitudeClampType;
00210       double         myAltitudeAboveSL;
00211       double         myAltitudeAboveGL;
00212       bool           myAnchor;
00213       std::string    myUserData;
00214 
00215       bool           myVisible;
00216 
00217       int myModelSetOnly;
00218    };
00219 }

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)