20 #include <boost/signals.hpp>
21 #include <boost/unordered_map.hpp>
22 #include <matrix/vlVector.h>
29 class DtCoordinateSystem;
30 class DtDisplayUnitsConverter;
31 class DtBasicEditingEventProcessor;
32 class DtElementDefinitionManager;
33 class DtIntervisibilityElement;
34 class DtIntervisibilityStateListener;
35 class DtIntervisibilityStateListenerCreator;
45 typedef boost::unordered_map<DtElementID, DtIntervisibilityElement*>
47 typedef boost::unordered_map<DtElementID, DtIntervisibilityStateListener*>
61 virtual bool autoStart()
const;
80 const DtUnicode& intervisibilityLine()
const;
97 const DtUnicode& intervisibilityFan()
const;
106 const ElementMap& intervisibilityElements()
const;
123 const DtUnicode& intervisibilityEntityFan()
const;
127 void addListenerCreator(
const std::string&,
131 virtual void cancelChanges();
138 virtual void destroyAll();
144 virtual void setAllowCreating(
bool);
152 virtual void setAllowEditing(
bool);
158 virtual void intervisibilityObjectsShown(
bool show );
170 static std::string theInstanceName();
192 const std::string& definition)
const;
204 const AttachPoints& = AttachPoints());
207 virtual bool onTick();
212 virtual bool onStart();
217 virtual bool onStop();
220 virtual void completeSetup();
223 virtual void slot_onCurrentSelectionChanged(
231 virtual void connectProcessorSignals();
235 virtual void slot_locationChanged(
const DtVector&,
double altAboveGround);
238 virtual void slot_altitudeChanged(
const DtVector&,
double);
241 virtual void slot_altitudeIsDragging(
bool);
248 virtual void finishEditing();
259 virtual void modifyEditingObjects(
const DtVector& pos,
double altAboveGround);
263 virtual void resetSelectionForEditableObjects();
303 virtual void registerInstance(
const std::string& instanceName,
DtVirtualBaseClass* instance );
343 typedef boost::unordered_map<DtElementID, OriginalInformation>
Editing;
344 typedef std::map<std::string, DtIntervisibilityStateListenerCreator*>
388 virtual const std::string& extension()
const;
std::pair< DtElementID, DtVector > AttachPoint
Definition: DtIntervisibilityDriver.h:49
DtChannel * myHiddenChannel
Definition: DtIntervisibilityDriver.h:370
Virtual base class.
Definition: DtVirtualBaseClass.h:22
A unicode string.
Definition: DtUnicode.h:33
DtBaseConnection * myConnection
Definition: DtIntervisibilityDriver.h:352
const DtBaseConnection * connection() const
Returns the driver's connection (const).
Definition: DtIntervisibilityDriver.h:179
std::vector< AttachPoint > AttachPoints
Definition: DtIntervisibilityDriver.h:50
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:35
ElementMap myElements
Definition: DtIntervisibilityDriver.h:348
bool myDistribute
Definition: DtIntervisibilityDriver.h:355
This driver will manage the creation, modification and removal of intervisibility objects...
Definition: DtIntervisibilityDriver.h:41
Contains makVrv:DtSelectionManager class.
DtDe & myDe
Definition: DtIntervisibilityDriver.h:347
DtSignalConnectionManager myProcessorConnections
Definition: DtIntervisibilityDriver.h:363
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:377
The Simple event processor will emit signals whenever a mouse or keyboard event occurs that would cau...
Definition: DtBasicEditingEventProcessor.h:45
Manager which owns element definitions.for one type of element Use the makVrv::DtElementDefinitionTyp...
Definition: DtElementDefinitionManager.h:44
boost::unordered_map< DtElementID, OriginalInformation > Editing
Definition: DtIntervisibilityDriver.h:343
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
const std::string & className() const
Returns the driver's class name.
Definition: DtIntervisibilityDriver.h:164
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
bool myAllowEditing
Definition: DtIntervisibilityDriver.h:353
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:37
The abstract Channel Class.
Definition: DtChannel.h:29
boost::unordered_map< DtElementID, DtIntervisibilityElement * > ElementMap
Definition: DtIntervisibilityDriver.h:46
bool myAllowCreating
Definition: DtIntervisibilityDriver.h:354
The DtDriver is an abstract class.
Definition: DtDriver.h:34
std::map< std::string, DtIntervisibilityStateListenerCreator * > ListenerCreatorMap
Definition: DtIntervisibilityDriver.h:345
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtVector myEditingAnchorLocation
Definition: DtIntervisibilityDriver.h:366
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
DtIntervisibilityStateListener * myCreationListener
Definition: DtIntervisibilityDriver.h:362
DtSignalConnectionManager myConnections
Definition: DtIntervisibilityDriver.h:357
DtBasicEditingEventProcessor * myProcessor
Definition: DtIntervisibilityDriver.h:350
Utility class for doing global unit conversion.
Definition: DtDisplayUnitsSettingsManager.h:59
boost::unordered_map< DtElementID, DtIntervisibilityStateListener * > ListenerMap
Definition: DtIntervisibilityDriver.h:48
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains makVrv:DtDriver class.
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Editing myEditing
Definition: DtIntervisibilityDriver.h:365
Contains makVrv:DtBaseConnection class.
Base class to provide boost signal/slot management.
DtIntervisibilityElement * myCreatingElement
If creating an element via the mouse, these parameters will not not be NULL.
Definition: DtIntervisibilityDriver.h:361
std::vector< DtElementID > UniqueIdList
Definition: DtElementData.h:48
Contains makVrv::DtUniqueID type.
ListenerMap myListeners
Definition: DtIntervisibilityDriver.h:349
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Connection for the DtIntervisibilityDriver.
Definition: DtIntervisibilityDriver.h:281
ListenerCreatorMap myListenerCreatorMap
Map that will keep track of listener creator by string type.
Definition: DtIntervisibilityDriver.h:369
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtBaseConnection * connection()
Returns the driver's connection.
Definition: DtIntervisibilityDriver.h:173
Creator for base intervisibility creator.
Definition: DtIntervisibilityStateListener.h:156
DtDe & myDe
Definition: DtIntervisibilityDriver.h:313
std::string myClassName
Definition: DtIntervisibilityDriver.h:351