![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 // /****************************************************************************** 00002 // ** Copyright (c) 2009 MAK Technologies, Inc. 00003 // ** All rights reserved. 00004 // ******************************************************************************/ 00005 // /****************************************************************************** 00006 // ** $RCSfile: DtControllableShapeFacade.h,v $ $Revision: 1.20 $ $State: Exp $ 00007 // ******************************************************************************/ 00008 // 00009 // //! \file DtControllableShapeFacade.h 00010 // //! \brief Interaction makVrv::DtControllableShapeFacade class. 00011 // //! \ingroup vrvCore 00012 // 00013 // #ifndef DtControllableShapeFacade_H_ 00014 // #define DtControllableShapeFacade_H_ 00015 // 00016 // #include <vrvCore/vrvCore.h> 00017 // #include <vrvCore/DtUniqueID.h> 00018 // #include <vrvCore/DtBaseConnection.h> 00019 // #include <vrvCore/DtTacticalGraphicStateListener.h> 00020 // #include <vrvCore/DtObjectFacadeInterface.h> 00021 // 00022 // #include <matrix/vlVector.h> 00023 // 00024 // #include <boost/signal.hpp> 00025 // 00026 // #include <vector> 00027 // #include <string> 00028 // 00029 // namespace makVrv 00030 // { 00031 // class DtUnicode; 00032 // class DtMouseState; 00033 // class DtEnvironmentalVisualizerSet; 00034 // class DtAgentManagerInterface; 00035 // 00036 // //! \brief The base class for tactical graphic facades 00037 // //! \ingroup vrvCore 00038 // class DT_DLL_VRVCORE DtControllableShapeFacade : public DtObjectFacadeInterface 00039 // { 00040 // public: 00041 // 00042 // //! \brief CTOR 00043 // DtControllableShapeFacade(DtAgentManagerInterface& sceneInterface, int modelSet, const std::string& shape = "Route"); 00044 // 00045 // //! \brief DTOR 00046 // virtual ~DtControllableShapeFacade(); 00047 // 00048 // //! \brief Sets all the points of the line to the supplied list. Vertices are in local database coordinates 00049 // virtual void setControlPoints(const std::vector<DtVector>&); 00050 // 00051 // //! \brief Add a control point to the end of the control point list 00052 // virtual DtUniqueID addControlPoint(const DtVector& position); 00053 // 00054 // //! \brief Insert a control point at the specified index 00055 // //! \retval Returns false if the index was invalid 00056 // virtual bool insertControlPoint(const DtVector& position, int index); 00057 // 00058 // //! \brief Remove a control point at the specified index 00059 // //! \retval Returns false if the index was invalid 00060 // virtual bool removeControlPoint(int index); 00061 // 00062 // //! \brief Returns the model set being visualized 00063 // int modelSet() const; 00064 // 00065 // //! \brief Move a control point at the specified index to a new position 00066 // //! \retval Returns false if the index was invalid 00067 // virtual bool moveControlPoint(const DtVector& position, int index); 00068 // 00069 // //! \brief Realize the shape with the specified model definition 00070 // virtual void setModelDefinition(const std::string& modelDefinition); 00071 // 00072 // //! \brief Set the color of the shape in RGBA 00073 // virtual void setColor(float r,float g,float b,float a); 00074 // 00075 // //! \brief Set the origin of the controllable shape 00076 // virtual void setOrigin(const DtVector& position); 00077 // 00078 // //! \brief Get the origin of the controllable shape 00079 // virtual DtVector origin() const; 00080 // 00081 // //! \brief Set the whole facade object's selection state 00082 // virtual void setSelected(bool selected); 00083 // 00084 // //! \brief Get the whole facade object's selection state 00085 // virtual bool selected() const; 00086 // 00087 // //! \brief Set the selection state for a specific control point 00088 // virtual void setSelected(int index, bool selected); 00089 // 00090 // //! \brief Set the selection state for a specific control point 00091 // virtual void setSelected(const DtUniqueID& vertex, bool selected); 00092 // 00093 // //! \brief Get the selection state for a specific control point 00094 // virtual bool selected(int index) const; 00095 // 00096 // //! \brief Get the selection state for a specific control point 00097 // virtual bool selected(const DtUniqueID& vertex) const; 00098 // 00099 // //! Set true to allow this object to be picked 00100 // virtual void setPickable( bool pickable ); 00101 // 00102 // //! \brief Set the info text for a particular control point 00103 // virtual void setInfoText(int index, const DtUnicode& infoText); 00104 // 00105 // //! \brief Set the widget indicators on or off 00106 // virtual void setIndicatorsEnabled(bool enabled); 00107 // 00108 // //! \brief Set the widget indicators to be on only for selected objects 00109 // virtual void setIndicatorsOnSelect(bool enabled); 00110 // 00111 // //! \brief Set if the Height Above Terrain (HAT) line is visible. 00112 // void setHatLineVisible( bool visible ); 00113 // 00114 // //! \brief Set whether or not the shape vertices are visible 00115 // virtual void setShapeVertexVisible( bool visible ); 00116 // 00117 // //! Set whether the shape is visible or hidden 00118 // virtual void setVisible( bool visible ); 00119 // 00120 // //! Enable or disable widget events for the control points 00121 // virtual void setWidgetEventsEnabled(bool enabled); 00122 // 00123 // virtual DtUniqueID uniqueID() const; 00124 // 00125 // virtual void setIndicatorModelDefinitions( 00126 // const std::string& normalTheme, 00127 // const std::string& activeTheme, 00128 // const std::string& selectedTheme, 00129 // const std::string& multiSelectedTheme); 00130 // 00131 // //! Returns the number of vertices in this object 00132 // virtual int numVertices() const; 00133 // 00134 // //! Returns the vertex at the specified position 00135 // virtual DtVector position(int) const; 00136 // 00137 // //! Returns the visualizer based on the name, or 0 if does not exists 00138 // virtual DtStateVisualizer* visualizer(const std::string&); 00139 // 00140 // DtEnvironmentalVisualizerSet* visualizer() 00141 // { 00142 // return myVisualizer; 00143 // } 00144 // 00145 // protected: 00146 // //! Vertex Indicator signal forwarders 00147 // void slot_vertexMouseDown( DtMouseState& mouseState, 00148 // const DtUniqueID& id, const std::string& displayEngineName, 00149 // const std::string& windowName, const std::string& channelName ); 00150 // void slot_vertexMouseUp( DtMouseState& mouseState, 00151 // const DtUniqueID& id, const std::string& displayEngineName, 00152 // const std::string& windowName, const std::string& channelName ); 00153 // void slot_vertexMouseDblClick( DtMouseState& mouseState, 00154 // const DtUniqueID& id, const std::string& displayEngineName, 00155 // const std::string& windowName, const std::string& channelName ); 00156 // 00157 // //! \brief Copy CTOR 00158 // DtControllableShapeFacade(DtControllableShapeFacade&); 00159 // 00160 // protected: 00161 // DtEnvironmentalVisualizerSet* myVisualizer; 00162 // DtBaseConnection myBaseConnection; 00163 // DtTacticalGraphicStateListener myListener; 00164 // }; 00165 // } 00166 // 00167 // #endif 00168 //