20 class DtBaseConnection;
21 class DtSceneObjectVisualizer;
22 class DtStateListener;
23 class DtStateVisualizerFactory;
24 class DtElementDefinitionNew;
25 class DtVisualizerDefinitionSet;
26 class DtVisualizerDefinition;
39 int modelSet,
bool distribute);
45 virtual void visualizeElementDefinition(
const DtUnicode& elementName,
50 virtual void visualizeElementDefinition(
const DtUnicode& elementName,
58 virtual void createVisualizersByType(
int visualType );
62 virtual void destroyVisualizersByType(
int visualType );
71 template <
typename VisualizerClass>
72 inline void findVisualizers(std::vector<VisualizerClass*>& visualizers);
77 template <
typename VisualizerClass>
78 inline void findVisualizersByDynamicCast(std::vector<VisualizerClass*>& visualizers);
91 virtual bool setVisible(
bool visible,
96 virtual bool isVisible()
const;
111 virtual void setPickable(
bool pickable );
114 bool pickable()
const;
117 virtual void setSelected(
bool);
120 bool selected()
const;
126 virtual void setHasMouseCursor(
bool);
133 virtual void destroyAllModelVisualizers();
139 boost::signalslib::signal<void (
DtMouseState& mouseState,
const DtUniqueID&
id,
const std::string& displayEngineName,
140 const std::string& windowName,
const std::string& channelName,
143 boost::signalslib::signal<void (
DtMouseState& mouseState,
const DtUniqueID&
id,
const std::string& displayEngineName,
144 const std::string& windowName,
const std::string& channelName,
147 boost::signalslib::signal<void (
DtMouseState& mouseState,
const DtUniqueID&
id,
const std::string& displayEngineName,
148 const std::string& windowName,
const std::string& channelName,
158 void destroyAllModelVisualizersInternal();
162 virtual void visualizeVisualizerDefinitionSet(
const DtUnicode& elementName,
172 virtual void addVisualizer(
const std::string& schemaName,
185 virtual void setModelVisualizerVisible(
const std::string& schemaName,
186 bool onOff,
int context);
189 virtual void slot_mouseDown(
191 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
192 virtual void slot_mouseUp(
194 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
195 virtual void slot_mouseDblClick(
197 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
201 template <
typename T,
typename C>
204 myConnections.manageConnection(sig.connect(
boost::bind(fp, static_cast<C*>(
this), _1)));
205 ((C&)(*this).*fp)(val);
212 const DtUnicode* chooseRandomString(
const std::vector<DtUnicode>& stringList);
239 template <
typename VisualizerClass>
241 std::vector<VisualizerClass*>& visualizers)
243 std::pair<StateVisualizerMap::iterator,
244 StateVisualizerMap::iterator> range =
myVisualizers.equal_range(
245 VisualizerClass::theTypeInfo().schema.name());
247 for(; range.first != range.second; ++range.first)
249 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(
250 range.first->second);
253 visualizers.push_back(instance);
258 template <
typename VisualizerClass>
260 std::vector<VisualizerClass*>& visualizers)
262 StateVisualizerMap::const_iterator iter =
myVisualizers.begin();
266 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(iter->second);
270 visualizers.push_back(instance);
DtStateVisualizerFactory & myCachedFactory
Definition: DtVisualizerSet.h:218
boost::signalslib::signal< void(DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v, DtVisualizerSet *i)> signal_mouseDown
Emitted when the mouse is clicked on any visualizer in this collection.
Definition: DtVisualizerSet.h:142
Definition: DtShowHideContext.h:19
Contains makVrv::DtVisualizerSchema class.
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Find all instances of a Visualizer by schema name.
Definition: DtVisualizerSet.h:240
A unicode string.
Definition: DtUnicode.h:33
DtSignalConnectionManager myConnections
Definition: DtVisualizerSet.h:221
boost::unordered_multimap< std::string, DtStateVisualizer * > StateVisualizerMap
Definition: DtVisualizerSet.h:215
boost::signalslib::signal< void(bool, DtVisualizerSet *vis) > signal_hasMouseCursorStateChanged
Definition: DtVisualizerSet.h:154
bool mySelected
Definition: DtVisualizerSet.h:224
bool myVisible
Definition: DtVisualizerSet.h:227
Contains integers that determine the context with which to show/hide a visualizer.
ShowHideContext
Definition: DtShowHideContext.h:17
boost::signalslib::signal< void(DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v, DtVisualizerSet *i)> signal_mouseUp
Definition: DtVisualizerSet.h:146
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:20
boost::unordered_map< int, ModelSetVisualizerCreationMap > VisualTypeVisualizerCreationMap
Map that indicates whether a visualizer should be created, by visual type, for all given model sets...
Definition: DtVisualizerCreationSettings.h:36
Base class for visualizing generic objects in the scene.
Definition: DtSceneObjectVisualizer.h:24
A factory for DtStateVisualizer's.
Definition: DtStateVisualizerFactory.h:29
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
StateVisualizerMap myVisualizers
Definition: DtVisualizerSet.h:220
This file contains the declaration for the class DtMouseState.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Type
Visualizer class types that are supportable via visualizers.
Definition: DtStateVisualizer.h:41
Contains makVrv:DtStateVisualizer class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
This class encapsulates the state associated with a mouse button event.
Definition: DtMouseState.h:20
std::string myVisualTypeString
Definition: DtVisualizerSet.h:236
std::vector< DtStateVisualizer * > VisualizerList
Definition: DtVisualizerSet.h:35
Contains makVrv::DtVisualizerCreationSettings class.
The element definition class contains the element definition information.
Definition: DtElementDefinitionNew.h:25
bool myHasMouseCursor
Definition: DtVisualizerSet.h:225
std::vector< DtShowHideContext::ShowHideContext > ShowHideContexts
Definition: DtVisualizerSet.h:231
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
void connectAndUpdate(boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
Utility function for connect a signal to an update function as well as calling the update function...
Definition: DtVisualizerSet.h:202
bool myPickable
Definition: DtVisualizerSet.h:226
This contains all the DtVisualizers used to visualize an element in a particular model set...
Definition: DtVisualizerSet.h:31
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:32
DtStateListener & myStateListener
Definition: DtVisualizerSet.h:219
DtBaseConnection & myBaseConnection
Definition: DtVisualizerSet.h:217
void findVisualizersByDynamicCast(std::vector< VisualizerClass * > &visualizers)
Find all instance of a visualizer by dynamically casting to the class type rather than doing the fast...
Definition: DtVisualizerSet.h:259
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
ShowHideContexts myShowHideContexts
Definition: DtVisualizerSet.h:233
const DtElementDefinitionNew * myDefinition
Definition: DtVisualizerSet.h:222
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
Definition: DtVisualizerSchema.h:19
bool myDistribute
Definition: DtVisualizerSet.h:228
DtSceneObjectVisualizer * mySceneObjectVisualizer
Definition: DtVisualizerSet.h:230
boost::signalslib::signal< void(DtMouseState &mouseState, const DtUniqueID &id, const std::string &displayEngineName, const std::string &windowName, const std::string &channelName, DtStateVisualizer *v, DtVisualizerSet *i)> signal_mouseDblClick
Definition: DtVisualizerSet.h:150
boost::signalslib::signal< void(bool, DtVisualizerSet *vis) > signal_selectionStateChanged
Definition: DtVisualizerSet.h:152
int myModelSet
Definition: DtVisualizerSet.h:234