20 #include <boost/unordered_map.hpp>
21 #include <matrix/vlVector.h>
28 class DtCoordinateSystem;
29 class DtDisplayUnitsConverter;
30 class DtBasicEditingEventProcessor;
31 class DtElementDefinitionManager;
32 class DtIntervisibilityElement;
33 class DtIntervisibilityStateListener;
34 class DtIntervisibilityStateListenerCreator;
35 class DtIntersectorsContainer;
36 class DtCoordinateSystem;
46 typedef boost::unordered_map<DtElementID, DtIntervisibilityElement*>
48 typedef boost::unordered_map<DtElementID, DtIntervisibilityStateListener*>
62 virtual bool autoStart()
const;
81 const DtUnicode& intervisibilityLine()
const;
98 const DtUnicode& intervisibilityFan()
const;
107 const ElementMap& intervisibilityElements()
const;
124 const DtUnicode& intervisibilityEntityFan()
const;
128 void addListenerCreator(
const std::string&,
132 virtual void cancelChanges();
139 virtual void destroyAll();
145 virtual void setAllowCreating(
bool);
153 virtual void setAllowEditing(
bool);
159 virtual void intervisibilityObjectsShown(
bool show );
171 static std::string theInstanceName();
193 const std::string& definition)
const;
205 const AttachPoints& = AttachPoints());
208 virtual bool onTick();
213 virtual bool onStart();
218 virtual bool onStop();
221 virtual void completeSetup();
224 virtual void slot_onCurrentSelectionChanged(
232 virtual void connectProcessorSignals();
236 virtual void slot_locationChanged(
const DtVector&,
double altAboveGround);
239 virtual void slot_altitudeChanged(
const DtVector&,
double);
242 virtual void slot_altitudeIsDragging(
bool);
249 virtual void finishEditing();
260 virtual void modifyEditingObjects(
const DtVector& pos,
double altAboveGround);
264 virtual void resetSelectionForEditableObjects();
277 virtual void slot_coordinateSystemChanged();
307 virtual void registerInstance(
const std::string& instanceName,
DtVirtualBaseClass* instance );
348 typedef boost::unordered_map<DtElementID, OriginalInformation>
Editing;
349 typedef std::map<std::string, DtIntervisibilityStateListenerCreator*>
398 virtual const std::string& extension()
const;
std::pair< DtElementID, DtVector > AttachPoint
Definition: DtIntervisibilityDriver.h:50
DtChannel * myHiddenChannel
Definition: DtIntervisibilityDriver.h:375
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
DtBaseConnection * myConnection
Definition: DtIntervisibilityDriver.h:357
const DtBaseConnection * connection() const
Returns the driver's connection (const).
Definition: DtIntervisibilityDriver.h:180
std::vector< AttachPoint > AttachPoints
Definition: DtIntervisibilityDriver.h:51
The DtIntervisibilityElement class implements the common behavior of shape elements that are added to...
Definition: DtIntervisibilityElement.h:34
ElementMap myElements
Definition: DtIntervisibilityDriver.h:353
bool myDistribute
Definition: DtIntervisibilityDriver.h:360
This driver will manage the creation, modification and removal of intervisibility objects...
Definition: DtIntervisibilityDriver.h:42
Utility class that contains intersectors for all model sets in the system (3d, xr, 2d) Use an object of this class when all models sets can be possibly needed. When you know which model set you need, you can just use the DtIntersectorCreator to create an intersector for a model set Models sets corresponding to 3d, xr and 2d are created by default (these correspond to values of 0, 1 and 5) Additional model sets can be registered with DtIntersectorsContainer::registerModelSet.
Definition: DtIntersectorsContainer.h:36
Contains makVrv:DtSelectionManager class.
DtDe & myDe
Definition: DtIntervisibilityDriver.h:352
DtSignalConnectionManager myProcessorConnections
Definition: DtIntervisibilityDriver.h:368
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:387
The Simple event processor will emit signals whenever a mouse or keyboard event occurs that would cau...
Definition: DtBasicEditingEventProcessor.h:48
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:348
const std::string & className() const
Returns the driver's class name.
Definition: DtIntervisibilityDriver.h:165
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
bool myAllowEditing
Definition: DtIntervisibilityDriver.h:358
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:38
The abstract Channel Class.
Definition: DtChannel.h:35
boost::unordered_map< DtElementID, DtIntervisibilityElement * > ElementMap
Definition: DtIntervisibilityDriver.h:47
bool myAllowCreating
Definition: DtIntervisibilityDriver.h:359
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:31
std::map< std::string, DtIntervisibilityStateListenerCreator * > ListenerCreatorMap
Definition: DtIntervisibilityDriver.h:350
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtVector myEditingAnchorLocation
Definition: DtIntervisibilityDriver.h:371
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtIntervisibilityStateListener * myCreationListener
Definition: DtIntervisibilityDriver.h:367
DtSignalConnectionManager myConnections
Definition: DtIntervisibilityDriver.h:362
DtBasicEditingEventProcessor * myProcessor
Definition: DtIntervisibilityDriver.h:355
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:61
boost::unordered_map< DtElementID, DtIntervisibilityStateListener * > ListenerMap
Definition: DtIntervisibilityDriver.h:49
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:370
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:366
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
Contains makVrv::DtUniqueID type.
ListenerMap myListeners
Definition: DtIntervisibilityDriver.h:354
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
Connection for the DtIntervisibilityDriver. Provides access to rooted singletons and the display unit...
Definition: DtIntervisibilityDriver.h:285
ListenerCreatorMap myListenerCreatorMap
Map that will keep track of listener creator by string type.
Definition: DtIntervisibilityDriver.h:374
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtBaseConnection * connection()
Returns the driver's connection.
Definition: DtIntervisibilityDriver.h:174
Creator for base intervisibility creator.
Definition: DtIntervisibilityStateListener.h:182
DtDe & myDe
Definition: DtIntervisibilityDriver.h:318
std::string myClassName
Definition: DtIntervisibilityDriver.h:356