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;
70 const DtVector& startPoint,
const DtVector& endPoint);
81 const DtUnicode& intervisibilityLine()
const;
86 const DtVector& startPoint,
const DtVector& endPoint);
98 const DtUnicode& intervisibilityFan()
const;
107 const ElementMap& intervisibilityElements()
const;
112 const DtVector& startPoint,
const DtVector& endPoint);
124 const DtUnicode& intervisibilityEntityFan()
const;
132 const DtVector& startPoint,
const DtVector& endPoint);
144 virtual const DtUnicode& rangeLine()
const;
148 void addListenerCreator(
const std::string&,
152 virtual void cancelChanges();
159 virtual void destroyAll();
165 virtual void setAllowCreating(
bool);
173 virtual void setAllowEditing(
bool);
177 const DtVector& startPoint,
const DtVector& endPoint);
189 static std::string theInstanceName();
211 const std::string& definition)
const;
223 const AttachPoints& = AttachPoints());
226 virtual bool onTick();
231 virtual bool onStart();
236 virtual bool onStop();
239 virtual void completeSetup();
242 virtual void slot_onCurrentSelectionChanged(
250 virtual void slot_onVertexElementHasMouseCursorStateChanged(
const DtElementID& parentId,
251 const DtElementID& vertexElementId,
bool hasMouseCursor );
254 virtual void connectProcessorSignals();
258 virtual void slot_locationChanged(
const DtVector&,
double altAboveGround);
261 virtual void slot_altitudeChanged(
const DtVector&,
double);
264 virtual void slot_altitudeIsDragging(
bool);
268 virtual void slot_place(
DtUniqueID,
const DtVector&,
double altAboveGround);
271 virtual void finishEditing();
282 virtual void modifyEditingObjects(
const DtVector& pos,
double altAboveGround);
286 virtual void resetSelectionForEditableObjects();
289 virtual DtVector clamp(
const DtVector&,
double altAboveGround)
const;
299 virtual void slot_coordinateSystemChanged();
302 virtual void slot_intervisibilityObjectsShown(
bool show);
305 virtual void slot_rangeLinesShown(
bool show);
335 virtual void registerInstance(
const std::string& instanceName,
DtVirtualBaseClass* instance );
376 typedef boost::unordered_map<DtElementID, OriginalInformation>
Editing;
377 typedef std::map<std::string, DtIntervisibilityStateListenerCreator*>
426 virtual const std::string& extension()
const;
std::pair< DtElementID, DtVector > AttachPoint
Definition: DtIntervisibilityDriver.h:50
DtChannel * myHiddenChannel
Definition: DtIntervisibilityDriver.h:403
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:385
const DtBaseConnection * connection() const
Returns the driver's connection (const).
Definition: DtIntervisibilityDriver.h:198
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:37
ElementMap myElements
Definition: DtIntervisibilityDriver.h:381
bool myDistribute
Definition: DtIntervisibilityDriver.h:388
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:37
Contains makVrv:DtSelectionManager class.
DtDe & myDe
Definition: DtIntervisibilityDriver.h:380
DtSignalConnectionManager myProcessorConnections
Definition: DtIntervisibilityDriver.h:396
Creator for the intervisibility driver.
Definition: DtIntervisibilityDriver.h:415
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:73
boost::unordered_map< DtElementID, OriginalInformation > Editing
Definition: DtIntervisibilityDriver.h:376
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:23
const std::string & className() const
Returns the driver's class name.
Definition: DtIntervisibilityDriver.h:183
The DtIntervisibilityStateListener is a class that will allow intervisibility objects to use start/en...
Definition: DtIntervisibilityStateListener.h:24
bool myAllowEditing
Definition: DtIntervisibilityDriver.h:386
The DtBaseConnection is an abstract class.
Definition: DtBaseConnection.h:35
The abstract Channel Class.
Definition: DtChannel.h:35
boost::unordered_map< DtElementID, DtIntervisibilityElement * > ElementMap
Definition: DtIntervisibilityDriver.h:47
bool myAllowCreating
Definition: DtIntervisibilityDriver.h:387
The DtDriver is an abstract class. Developers derive from this to create logic that "directs" things ...
Definition: DtDriver.h:30
std::map< std::string, DtIntervisibilityStateListenerCreator * > ListenerCreatorMap
Definition: DtIntervisibilityDriver.h:378
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtVector myEditingAnchorLocation
Definition: DtIntervisibilityDriver.h:399
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtIntervisibilityStateListener * myCreationListener
Definition: DtIntervisibilityDriver.h:395
DtSignalConnectionManager myConnections
Definition: DtIntervisibilityDriver.h:390
DtBasicEditingEventProcessor * myProcessor
Definition: DtIntervisibilityDriver.h:383
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:62
boost::unordered_map< DtElementID, DtIntervisibilityStateListener * > ListenerMap
Definition: DtIntervisibilityDriver.h:49
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
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:398
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:394
std::vector< DtElementID > UniqueIdList
Public Type Definitions.
Definition: DtElementData.h:49
Contains makVrv::DtUniqueID type.
ListenerMap myListeners
Definition: DtIntervisibilityDriver.h:382
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:76
Connection for the DtIntervisibilityDriver. Provides access to rooted singletons and the display unit...
Definition: DtIntervisibilityDriver.h:313
ListenerCreatorMap myListenerCreatorMap
Map that will keep track of listener creator by string type.
Definition: DtIntervisibilityDriver.h:402
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtBaseConnection * connection()
Returns the driver's connection.
Definition: DtIntervisibilityDriver.h:192
Creator for base intervisibility creator.
Definition: DtIntervisibilityStateListener.h:185
DtDe & myDe
Definition: DtIntervisibilityDriver.h:346
std::string myClassName
Definition: DtIntervisibilityDriver.h:384