20 class DtBaseConnection;
21 class DtStateListener;
22 class DtStateVisualizerFactory;
23 class DtElementDefinition;
24 class DtVisualizerDefinitionSet;
25 class DtVisualizerDefinition;
26 class DtSceneObjectAgent;
39 DtSceneObjectAgent* sceneObject,
DtModelSetId 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 );
72 template <
typename VisualizerClass>
73 inline void findVisualizers(std::vector<VisualizerClass*>& visualizers);
78 template <
typename VisualizerClass>
79 inline void findVisualizersByDynamicCast(std::vector<VisualizerClass*>& visualizers);
89 virtual void setPickable(
bool pickable );
92 bool pickable()
const;
99 virtual void destroyAllModelVisualizers();
116 void destroyAllModelVisualizersInternal();
120 virtual void visualizeVisualizerDefinitionSet(
const DtUnicode& elementName,
130 virtual void addVisualizer(
const std::string& schemaName,
144 template <
typename T,
typename C>
147 myConnections.manageConnection(sig.connect(
boost::bind(fp, static_cast<C*>(
this), _1)));
148 ((C&)(*this).*fp)(val);
155 const DtUnicode* chooseRandomString(
const std::vector<DtUnicode>& stringList);
178 template <
typename VisualizerClass>
180 std::vector<VisualizerClass*>& visualizers)
182 std::pair<StateVisualizerMap::iterator,
183 StateVisualizerMap::iterator> range =
myVisualizers.equal_range(
184 VisualizerClass::theTypeInfo().schema.name());
186 for(; range.first != range.second; ++range.first)
188 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(
189 range.first->second);
192 visualizers.push_back(instance);
197 template <
typename VisualizerClass>
199 std::vector<VisualizerClass*>& visualizers)
201 StateVisualizerMap::const_iterator iter =
myVisualizers.begin();
205 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(iter->second);
209 visualizers.push_back(instance);
DtStateVisualizerFactory & myCachedFactory
Definition: DtVisualizerSet.h:161
Contains makVrv::DtVisualizerSchema class.
void findVisualizers(std::vector< VisualizerClass * > &visualizers)
Find all instances of a Visualizer by schema name.
Definition: DtVisualizerSet.h:179
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtSignalConnectionManager myConnections
Definition: DtVisualizerSet.h:164
boost::unordered_multimap< std::string, DtStateVisualizer * > StateVisualizerMap
Definition: DtVisualizerSet.h:158
bool myVisible
Definition: DtVisualizerSet.h:168
Contains integers that determine the context with which to show/hide a visualizer.
std::unordered_map< DtModelSetId, ModelSetVisualizerCreationMap > VisualTypeVisualizerCreationMap
Map that indicates whether a visualizer should be created, by visual type, for all given model sets...
Definition: DtVisualizerCreationSettings.h:43
DtModelSetId myModelSet
Definition: DtVisualizerSet.h:173
The makVrv::DtVisualizerDefinitionSet is a collection of makVrv::DtVisualizerDefinition instances...
Definition: DtVisualizerDefinitionSet.h:28
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtVisualizerSet.h:171
const DtElementDefinition * myDefinition
Definition: DtVisualizerSet.h:165
A factory for DtStateVisualizer's.
Definition: DtStateVisualizerFactory.h:30
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
StateVisualizerMap myVisualizers
Definition: DtVisualizerSet.h:163
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. Each visualizer can be created by an ins...
Definition: DtStateVisualizer.h:39
Contains makVrv:DtStateVisualizer class.
The element definition class contains the element definition information. The makVrv::DtElementDefini...
Definition: DtElementDefinition.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::string myVisualTypeString
Definition: DtVisualizerSet.h:175
Contains makVrv::DtVisualizerCreationSettings class.
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:145
bool myPickable
Definition: DtVisualizerSet.h:167
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. Developers derive from this to create logic that "directs...
Definition: DtStateVisualizer.h:30
std::vector< DtStateVisualizer * > VisualizerList
Definition: DtVisualizerSet.h:35
DtStateListener & myStateListener
Definition: DtVisualizerSet.h:162
DtBaseConnection & myBaseConnection
Definition: DtVisualizerSet.h:160
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:198
A definition of a visualizer. Visualizer definition are always members of a visualizer definition set...
Definition: DtVisualizerDefinition.h:26
VisualizerShowHideContext
Definition: DtShowHideContext.h:41
DtModelSetId
Definition: DtModelSetEnums.h:19
The DtStateListener is an abstract class. Subclasses implement functionality that will allow data to ...
Definition: DtStateListener.h:26
Definition: DtVisualizerSchema.h:19
bool myDistribute
Definition: DtVisualizerSet.h:169