![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 // /****************************************************************************** 00002 // ** Copyright (c) 2010 MAK Technologies, Inc. 00003 // ** All rights reserved. 00004 // ******************************************************************************/ 00005 // /****************************************************************************** 00006 // ** $RCSfile: DtAggregateFacade.h,v $ $Revision: 1.68 $ $State: Exp $ 00007 // ******************************************************************************/ 00008 // 00009 // //! \file DtAggregateFacade.h 00010 // //! \brief Contains makVrv::DtAggregateFacade class. 00011 // //! \ingroup vrvCore 00012 // 00013 // #pragma once 00014 // 00015 // #include <vrvCore/vrvCore.h> 00016 // #include <vrvCore/DtUniqueID.h> 00017 // #include <boost/signal.hpp> 00018 // #include <matrix/vlVector.h> 00019 // #include <string> 00020 // 00021 // #include <vrvCore/DtBaseConnection.h> 00022 // #include <vrvCore/DtAggregateStateListener.h> 00023 // #include <vrvCore/DtMouseState.h> 00024 // 00025 // class DtTaitBryan; 00026 // 00027 // namespace makVrv 00028 // { 00029 // class DtAggregateVisualizerSet; 00030 // class DtVisualizerSet; 00031 // class DtStateVisualizer; 00032 // class DtVisualDefinitionSet; 00033 // class DtEntityIndicatorWidget; 00034 // class DtEntityInfoWidget; 00035 // 00036 // //! \brief The DtAggregateFacade is a facade around drivers that make up an Aggregate. 00037 // //! \ingroup vrvCore 00038 // class DT_DLL_VRVCORE DtAggregateFacade 00039 // { 00040 // public: 00041 // 00042 // //! \brief CTOR 00043 // DtAggregateFacade(DtAgentManagerInterface& sceneInterface, int modelSet, bool distribute = false); 00044 // 00045 // //! \brief DTOR 00046 // virtual ~DtAggregateFacade(); 00047 // 00048 // public: 00049 // //! \brief Visualize from a model definition set. This will be used instead of the 00050 // //! model definition lookup via the setAggregateModelDefinition method 00051 // virtual void visualize(const DtVisualDefinitionSet&); 00052 // 00053 // //! \brief Set the Aggregate's model definition names 00054 // //! \throws DtCorruptedState if the articulated model driver can't be 00055 // //! created. 00056 // virtual void setVisualDefinition(const std::string& modelName); 00057 // 00058 // //! \brief Set the position of the Aggregate. 00059 // virtual void setPosition(const DtVector& position); 00060 // virtual DtVector position() const; 00061 // 00062 // //! \brief Set the velocity of the Aggregate. 00063 // virtual void setVelocity(const DtVector& velocity); 00064 // 00065 // //! \brief Set the acceleration of the Aggregate. 00066 // virtual void setAcceleration(const DtVector& acceleration); 00067 // 00068 // //! \brief Set the orientation of the Aggregate. 00069 // virtual void setOrientation(const DtTaitBryan& orientation); 00070 // 00071 // //! \brief Set the angular velocity of the Aggregate. 00072 // virtual void setAngularVelocity(const DtVector& angularVelocity); 00073 // 00074 // //! \brief Set dead reckoning settings. 00075 // virtual void setDeadReckoning(bool position, bool velocity, bool orientation); 00076 // 00077 // //! \brief Set the Aggregate selected/deselected 00078 // virtual void setSelected(bool selected); 00079 // 00080 // //! \brief Get if the Aggregate is selected/deselected 00081 // bool selected() const; 00082 // 00083 // //! set the Aggregate's model hidden or visible 00084 // virtual void setVisible(bool visible); 00085 // 00086 // virtual void setPickable( bool pickable ); 00087 // 00088 // //! Set the Aggregate embarked/disembarked 00089 // virtual void setEmbarked(const DtUniqueID& hostId); 00090 // 00091 // //! \brief Set whether the Aggregate smooths 00092 // void setSmoothingEnabled(bool enabled); 00093 // 00094 // //! Set the period for Aggregate smoothing 00095 // void setSmoothingPeriod(float scale); 00096 // 00097 // DtUniqueID uniqueID() const; 00098 // 00099 // //! \brief Returns the model set being visualized 00100 // int modelSet() const; 00101 // 00102 // //! Returns the visualizer based on the name, or 0 if does not exists 00103 // virtual DtStateVisualizer* visualizer(const std::string&); 00104 // 00105 // //! Sets the bounding dimensions of the aggregate 00106 // virtual void setDimensions(const DtVector&); 00107 // virtual const DtVector& dimensions() const; 00108 // 00109 // //! \brief Set if the entity indicator widget is visible. 00110 // void setIndicatorVisible(bool visible); 00111 // 00112 // //! Set whether info popup is shown when entity is selected 00113 // virtual void setShowInfoPopupOnSelect(bool show); 00114 // 00115 // //! Set event handling on or off for the point object's widgets 00116 // virtual void setWidgetEventsEnabled(bool enabled); 00117 // 00118 // //! \brief Get if the entity indicator widget is visible. 00119 // bool indicatorVisible() const; 00120 // 00121 // //! \brief Set the entity indicator type. 00122 // void setIndicatorColor(float r, float g, float b, float a); 00123 // void setExtentColor(float r, float g, float b, float a); 00124 // 00125 // //! \brief Set the extent visible 00126 // void setExtentVisible(bool); 00127 // 00128 // virtual DtEntityIndicatorWidget* entityIndicator(); 00129 // 00130 // //! \brief Get the entity info widge which may be null. 00131 // DtEntityInfoWidget* findEntityInfoWidget(); 00132 // 00133 // //! Called when the entity's indicator is clicked in some channel 00134 // virtual void slot_indicatorMouseDown( 00135 // DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, 00136 // const std::string& windowName, const std::string& channelName, 00137 // DtStateVisualizer* v, DtVisualizerSet* i); 00138 // 00139 // virtual void slot_indicatorMouseUp( 00140 // DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, 00141 // const std::string& windowName, const std::string& channelName, 00142 // DtStateVisualizer* v, DtVisualizerSet* i); 00143 // 00144 // virtual void slot_indicatorMouseDblClick( 00145 // DtMouseState& mouseState, const DtUniqueID& id, const std::string& displayEngineName, 00146 // const std::string& windowName, const std::string& channelName, 00147 // DtStateVisualizer* v, DtVisualizerSet* i); 00148 // 00149 // //! Called to pin/unpin the entity info display. Has no effect in 00150 // //! show info on selection mode. 00151 // virtual void setInfoPinned(bool pinned); 00152 // 00153 // //! Get pin status of entity info 00154 // virtual bool infoPinned(); 00155 // 00156 // public: 00157 // //! Emitted when the entity's indicator is clicked 00158 // boost::signal<void (DtMouseState&, const DtUniqueID&, 00159 // const std::string& displayEngineName, const std::string& windowName, 00160 // const std::string& channelName)> 00161 // signal_indicatorMouseDown; 00162 // boost::signal<void (DtMouseState&, const DtUniqueID&, 00163 // const std::string& displayEngineName, const std::string& windowName, 00164 // const std::string& channelName)> 00165 // signal_indicatorMouseUp; 00166 // boost::signal<void (DtMouseState&, const DtUniqueID&, 00167 // const std::string& displayEngineName, const std::string& windowName, 00168 // const std::string& channelName)> 00169 // signal_indicatorMouseDblClick; 00170 // 00171 // protected: 00172 // DtBaseConnection mySimulation; 00173 // DtAggregateStateListener myListener; 00174 // DtAggregateVisualizerSet* myVisualizer; 00175 // int myModelSet; 00176 // bool myExtentVisible; 00177 // }; 00178 // }