18 #include <boost/bind.hpp>
23 class DtSceneObjectAgent;
24 class DtBaseConnection;
25 class DtStateListener;
26 class DtVisualizerDefinition;
27 class DtVisualizerSchema;
43 AllVisualizerTypes = 0,
44 EntityVisualizerType = 1,
62 : functionalTypeName(fname)
64 , supportedVisualizerType(type)
88 virtual void createModelAgents() = 0;
91 virtual void destroyModelAgents() = 0;
95 virtual const TypeInfo& typeInfo()
const = 0;
106 void setModelDefinition(
const std::string& definition);
109 const std::string& modelDefinition()
const;
115 virtual void implementVisibility(
bool visible);
123 virtual bool setVisible(
bool visible,
int context);
126 virtual void initialize();
129 virtual bool isVisible()
const;
132 virtual void setHasMouseCursor(
bool);
133 virtual bool hasMouseCursor()
const;
136 virtual void setSelected(
bool);
137 virtual bool selected()
const;
141 void setName(
const std::string&);
142 const std::string& name()
const;
145 virtual void setPickable(
bool);
146 virtual bool pickable()
const;
157 return myVisualizerType;
163 myShowHideContexts = s;
185 myDistributeFlag = b;
190 return myDistributeFlag;
214 const std::string& displayEngineName,
const std::string& windowName,
215 const std::string& channelName);
217 const std::string& displayEngineName,
const std::string& windowName,
218 const std::string& channelName);
219 virtual void slot_mouseDblClick(
DtMouseState& mouseState,
220 const std::string& displayEngineName,
const std::string& windowName,
221 const std::string& channelName);
227 virtual bool hide(
int context);
232 virtual bool show(
int context);
236 virtual bool supportsShowHideContext(
int)
const;
241 virtual void setModelDefinitionForAgents() = 0;
244 template <
typename T,
typename C>
247 myConnections.manageConnection(sig.connect(
boost::bind(fp,
248 static_cast<C*>(
this), _1)));
250 ((C&)(*this).*fp)(val);
317 virtual const std::string& tag() = 0;
321 template <
typename StateVisualizer>
345 return new StateVisualizer(simulation, listener, modelSet);
351 return StateVisualizer::theTypeInfo();
354 virtual const std::string&
tag()
357 const static std::string str(
"DIS");
358 #elif DtHLA_1516_EVOLVED
359 const static std::string str(
"HLA1516e");
361 const static std::string str(
"HLA1516");
363 const static std::string str(
"HLA13");
365 const static std::string str(
"");
Definition: DtStateVisualizer.h:45
ModelSets
Definition: DtObserverMode.h:32
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:161
Definition: DtStateVisualizer.h:46
boost::signalslib::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:202
const DtStateVisualizer::Type supportedVisualizerType
Definition: DtStateVisualizer.h:71
TypeInfo(const std::string &fname, const DtUnicode &sname, DtStateVisualizer::Type type, const DtVisualizerSchema &s)
Definition: DtStateVisualizer.h:58
int myModelSet
Definition: DtStateVisualizer.h:277
bool myHasMouseCursor
Definition: DtStateVisualizer.h:282
bool myVisible
Definition: DtStateVisualizer.h:284
Abstract DtStateVisualizer creator.
Definition: DtStateVisualizer.h:292
DtSignalConnectionManager myConnections
Definition: DtStateVisualizer.h:276
Definition: DtStateVisualizer.h:322
DtStateListener & myListener
Definition: DtStateVisualizer.h:269
int visualizerType() const
Definition: DtStateVisualizer.h:155
DtStateVisualizer * myParent
Definition: DtStateVisualizer.h:286
Definition: DtStateVisualizer.h:49
DtStateVisualizerCreator()
CTOR.
Definition: DtStateVisualizer.h:297
virtual ~DtStateVisualizerCreatorTemplate()
DTOR.
Definition: DtStateVisualizer.h:332
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:34
std::string myName
Definition: DtStateVisualizer.h:274
Contains vrvCore::DtObserverMode class.
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
std::string myModelDefinition
Definition: DtStateVisualizer.h:275
This file contains the declaration for the class DtMouseState.
bool myPickable
Definition: DtStateVisualizer.h:283
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Type
Visualizer class types that are supportable via visualizers.
Definition: DtStateVisualizer.h:41
virtual const DtStateVisualizer::TypeInfo & visualizerTypeInfo() const
Returns the schema of the visualizer.
Definition: DtStateVisualizer.h:349
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtBaseConnection & simulation()
Get the connection for this visualizer.
Definition: DtStateVisualizer.h:177
virtual const std::string & tag()
Returns the creator's tag.
Definition: DtStateVisualizer.h:354
This class encapsulates the state associated with a mouse button event.
Definition: DtMouseState.h:20
int myVisualizerType
Definition: DtStateVisualizer.h:278
DtStateVisualizerCreatorTemplate()
CTOR.
Definition: DtStateVisualizer.h:327
virtual DtStateVisualizerCreator * clone() const
Every derived class must override this method.
Definition: DtStateVisualizer.h:336
const DtUnicode screenName
Definition: DtStateVisualizer.h:70
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
The DtStateVisualizer is an abstract class.
Definition: DtStateVisualizer.h:32
Base class to provide boost signal/slot management.
virtual ~DtStateVisualizerCreator()
DTOR.
Definition: DtStateVisualizer.h:302
A definition of a visualizer.
Definition: DtVisualizerDefinition.h:22
DtUniqueID myUniqueID
Definition: DtStateVisualizer.h:273
Contains makVrv::DtUniqueID type.
const std::string functionalTypeName
Definition: DtStateVisualizer.h:69
Definition: DtStateVisualizer.h:47
boost::signalslib::signal< void(DtStateVisualizer *, DtStateVisualizer *, DtStateVisualizer *)> signal_reparented
Signaled when the parent of this item changes, called before destroying any model agents...
Definition: DtStateVisualizer.h:197
void setDistribute(bool b)
Whether or not to distribute over the network.
Definition: DtStateVisualizer.h:183
bool distribute() const
Definition: DtStateVisualizer.h:188
void connectAndUpdate(boost::signalslib::signal< void(T)> &sig, void(C::*fp)(T), T val)
Connect a signal and update the entity.
Definition: DtStateVisualizer.h:245
DtSceneObjectAgent * mySceneObjectAgent
Definition: DtStateVisualizer.h:287
boost::signalslib::signal< void(DtMouseState &, const DtUniqueID &, const std::string &, const std::string &, const std::string &, DtStateVisualizer *)> signal_mouseUp
Definition: DtStateVisualizer.h:205
The DtStateListener is an abstract class.
Definition: DtStateListener.h:21
std::vector< int > myShowHideContexts
Definition: DtStateVisualizer.h:280
Definition: DtVisualizerSchema.h:19
Definition: DtStateVisualizer.h:48
const DtVisualizerSchema & schema
Definition: DtStateVisualizer.h:72
Struct to hold metadata about each functional visualizer type This allows users of the factory to get...
Definition: DtStateVisualizer.h:56
bool myDistributeFlag
Definition: DtStateVisualizer.h:271
virtual DtStateVisualizer * create(DtBaseConnection &simulation, DtStateListener &listener, int modelSet) const
Create function.
Definition: DtStateVisualizer.h:342
boost::signalslib::signal< void(DtMouseState &, const DtUniqueID &, const std::string &, const std::string &, const std::string &, DtStateVisualizer *)> signal_mouseDblClick
Definition: DtStateVisualizer.h:208
DtStateListener & listener()
Definition: DtStateVisualizer.h:171
DtUniqueID uniqueID() const
Definition: DtStateVisualizer.h:150
bool mySelected
Definition: DtStateVisualizer.h:281
DtBaseConnection & mySimulation
Definition: DtStateVisualizer.h:268
Contains DLL export macros.