17 class DtBaseConnection;
19 class DtSceneObjectVisualizer;
20 class DtStateListener;
21 class DtStateVisualizerFactory;
23 class DtElementDefinitionNew;
24 class DtVisualizerDefinitionSet;
25 class DtVisualizerDefinition;
38 int modelSet,
bool distribute);
44 virtual void visualizeElementDefinition(
const DtUnicode& elementName,
49 virtual void visualizeElementDefinition(
const DtUnicode& elementName,
57 virtual void createVisualizersByType(
int visualType );
61 virtual void destroyVisualizersByType(
int visualType );
70 template <
typename VisualizerClass>
71 inline void findVisualizers(std::vector<VisualizerClass*>& visualizers);
76 template <
typename VisualizerClass>
77 inline void findVisualizersByDynamicCast(std::vector<VisualizerClass*>& visualizers);
90 virtual bool setVisible(
bool visible,
95 virtual bool isVisible()
const;
110 virtual void setPickable(
bool pickable );
113 bool pickable()
const;
116 virtual void setSelected(
bool);
119 bool selected()
const;
126 virtual void destroyAllModelVisualizers();
133 const std::string& windowName,
const std::string& channelName,
137 const std::string& windowName,
const std::string& channelName,
141 const std::string& windowName,
const std::string& channelName,
149 void destroyAllModelVisualizersInternal();
162 virtual void addVisualizer(
const std::string& schemaName,
175 virtual void setModelVisualizerVisible(
const std::string& schemaName,
176 bool onOff,
int context);
179 virtual void slot_mouseDown(
181 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
182 virtual void slot_mouseUp(
184 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
185 virtual void slot_mouseDblClick(
187 const std::string& windowName,
const std::string& channelName,
DtStateVisualizer* v);
191 template <
typename T,
typename C>
192 void connectAndUpdate(boost::signal<
void (T)>& sig,
void (C::*fp)(T), T val)
194 myConnections.manageConnection(sig.connect(
boost::bind(fp, static_cast<C*>(
this), _1)));
195 ((C&)(*this).*fp)(val);
202 const DtUnicode* chooseRandomString(
const std::vector<DtUnicode>& stringList);
227 template <
typename VisualizerClass>
229 std::vector<VisualizerClass*>& visualizers)
231 std::pair<StateVisualizerMap::iterator,
232 StateVisualizerMap::iterator> range =
myVisualizers.equal_range(
233 VisualizerClass::theTypeInfo().schema.name());
235 for(; range.first != range.second; ++range.first)
237 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(
238 range.first->second);
241 visualizers.push_back(instance);
246 template <
typename VisualizerClass>
248 std::vector<VisualizerClass*>& visualizers)
250 StateVisualizerMap::const_iterator iter =
myVisualizers.begin();
254 VisualizerClass* instance =
dynamic_cast<VisualizerClass*
>(iter->second);
258 visualizers.push_back(instance);