16 #include <boost/bind.hpp>
20 class DtSceneObjectAgent;
21 class DtBaseConnection;
23 class DtStateListener;
24 class DtVisualizerDefinition;
25 class DtVisualizerSchema;
41 AllVisualizerTypes = 0,
42 EntityVisualizerType = 1,
60 : functionalTypeName(fname)
62 , supportedVisualizerType(type)
83 virtual void createModelAgents() = 0;
86 virtual void destroyModelAgents() = 0;
90 virtual const TypeInfo& typeInfo()
const = 0;
98 void setModelDefinition(
const std::string& definition);
101 const std::string& modelDefinition()
const;
107 virtual void implementVisibility(
bool visible);
115 virtual bool setVisible(
bool visible,
int context);
118 virtual void initialize();
121 virtual bool isVisible()
const;
124 virtual void setSelected(
bool);
125 virtual bool selected()
const;
129 void setName(
const std::string&);
130 const std::string& name()
const;
133 virtual void setPickable(
bool);
134 virtual bool pickable()
const;
145 return myVisualizerType;
151 myShowHideContexts = s;
173 myDistributeFlag = b;
178 return myDistributeFlag;
202 const std::string& displayEngineName,
const std::string& windowName,
203 const std::string& channelName);
205 const std::string& displayEngineName,
const std::string& windowName,
206 const std::string& channelName);
207 virtual void slot_mouseDblClick(
DtMouseState& mouseState,
208 const std::string& displayEngineName,
const std::string& windowName,
209 const std::string& channelName);
215 virtual bool hide(
int context);
220 virtual bool show(
int context);
224 virtual bool supportsShowHideContext(
int)
const;
229 virtual void setModelDefinitionForAgents() = 0;
232 template <
typename T,
typename C>
235 myConnections.manageConnection(sig.connect(
boost::bind(fp,
236 static_cast<C*>(
this), _1)));
238 ((C&)(*this).*fp)(val);
304 virtual const std::string& tag() = 0;
308 template <
typename StateVisualizer>
332 return new StateVisualizer(simulation, listener, modelSet);
338 return StateVisualizer::theTypeInfo();
341 virtual const std::string&
tag()
344 const static std::string str(
"DIS");
345 #elif DtHLA_1516_EVOLVED
346 const static std::string str(
"HLA1516e");
348 const static std::string str(
"HLA1516");
350 const static std::string str(
"HLA13");
352 const static std::string str(
"");
Definition: DtStateVisualizer.h:43
A unicode string.
Definition: DtUnicode.h:33
void setShowHideContext(const std::vector< int > &s)
Set show/hide context without changing visibility of item.
Definition: DtStateVisualizer.h:149
Definition: DtStateVisualizer.h:44
boost::signal< void(DtStateVisualizer *, DtStateVisualizer *, DtStateVisualizer *)> signal_reparented
Signaled when the parent of this item changes, called before destroying any model agents...
Definition: DtStateVisualizer.h:185
const DtStateVisualizer::Type supportedVisualizerType
Definition: DtStateVisualizer.h:69
TypeInfo(const std::string &fname, const DtUnicode &sname, DtStateVisualizer::Type type, const DtVisualizerSchema &s)
Definition: DtStateVisualizer.h:56
int myModelSet
Definition: DtStateVisualizer.h:265
void connectAndUpdate(boost::signal< void(T)> &sig, void(C::*fp)(T), T val)
Connect a signal and update the entity.
Definition: DtStateVisualizer.h:233
bool myVisible
Definition: DtStateVisualizer.h:271
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:279
DtSignalConnectionManager myConnections
Definition: DtStateVisualizer.h:264
Definition: DtStateVisualizer.h:309
DtStateListener & myListener
Definition: DtStateVisualizer.h:257
int visualizerType() const
Definition: DtStateVisualizer.h:143
DtStateVisualizer * myParent
Definition: DtStateVisualizer.h:273
Definition: DtStateVisualizer.h:47
DtStateVisualizerCreator()
CTOR.
Definition: DtStateVisualizer.h:284
virtual ~DtStateVisualizerCreatorTemplate()
DTOR.
Definition: DtStateVisualizer.h:319
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
std::string myName
Definition: DtStateVisualizer.h:262
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
std::string myModelDefinition
Definition: DtStateVisualizer.h:263
bool myPickable
Definition: DtStateVisualizer.h:270
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signal< void(DtMouseState &, const DtUniqueID &, const std::string &, const std::string &, const std::string &, DtStateVisualizer *)> signal_mouseUp
Definition: DtStateVisualizer.h:193
Type
Visualizer class types that are supportable via visualizers.
Definition: DtStateVisualizer.h:39
virtual const DtStateVisualizer::TypeInfo & visualizerTypeInfo() const
Returns the schema of the visualizer.
Definition: DtStateVisualizer.h:336
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtBaseConnection & simulation()
Get the connection for this visualizer.
Definition: DtStateVisualizer.h:165
virtual const std::string & tag()
Returns the creator's tag.
Definition: DtStateVisualizer.h:341
This class encapsulates the state associated with a mouse button event.
Definition: DtMouseState.h:23
int myVisualizerType
Definition: DtStateVisualizer.h:266
DtStateVisualizerCreatorTemplate()
CTOR.
Definition: DtStateVisualizer.h:314
virtual DtStateVisualizerCreator * clone() const
Every derived class must override this method.
Definition: DtStateVisualizer.h:323
const DtUnicode screenName
Definition: DtStateVisualizer.h:68
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
boost::signal< void(DtMouseState &, const DtUniqueID &, const std::string &, const std::string &, const std::string &, DtStateVisualizer *)> signal_mouseDown
Emitted when the entity's indicator is clicked.
Definition: DtStateVisualizer.h:190
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:30
Base class to provide boost signal/slot management.
virtual ~DtStateVisualizerCreator()
DTOR.
Definition: DtStateVisualizer.h:289
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
boost::signal< void(DtMouseState &, const DtUniqueID &, const std::string &, const std::string &, const std::string &, DtStateVisualizer *)> signal_mouseDblClick
Definition: DtStateVisualizer.h:196
DtUniqueID myUniqueID
Definition: DtStateVisualizer.h:261
Contains makVrv::DtUniqueID type.
const std::string functionalTypeName
Definition: DtStateVisualizer.h:67
Definition: DtStateVisualizer.h:45
void setDistribute(bool b)
Whether or not to distribute over the network.
Definition: DtStateVisualizer.h:171
bool distribute() const
Definition: DtStateVisualizer.h:176
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtStateVisualizer.h:274
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
std::vector< int > myShowHideContexts
Definition: DtStateVisualizer.h:268
Definition: DtVisualizerSchema.h:22
Definition: DtStateVisualizer.h:46
const DtVisualizerSchema & schema
Definition: DtStateVisualizer.h:70
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:54
bool myDistributeFlag
Definition: DtStateVisualizer.h:259
virtual DtStateVisualizer * create(DtBaseConnection &simulation, DtStateListener &listener, int modelSet) const
Create function.
Definition: DtStateVisualizer.h:329
DtStateListener & listener()
Definition: DtStateVisualizer.h:159
DtUniqueID uniqueID() const
Definition: DtStateVisualizer.h:138
bool mySelected
Definition: DtStateVisualizer.h:269
DtBaseConnection & mySimulation
Definition: DtStateVisualizer.h:256
Contains DLL export macros.