16 #include <boost/optional.hpp>
26 #include <matrix/vlVector.h>
27 #include <matrix/vlQuaternion.h>
28 #include <matrix/vlTaitBryan.h>
30 #include <vlutil/vlPerformanceStats.h>
47 virtual void setCurrentHeading(
double heading );
51 virtual void setCurrentPitch(
double pitch );
54 virtual void setHeadingAllowed(
bool);
55 virtual bool headingAllowed()
const;
58 virtual void setPitchAllowed(
bool);
59 virtual bool pitchAllowed()
const;
62 virtual void setAltitudeAllowed(
bool);
63 virtual bool altitudeAllowed()
const;
66 virtual double currentHeading()
const;
69 virtual double currentPitch()
const;
71 virtual const std::string& className();
74 virtual void setEnabled(
bool);
77 virtual void setEditing(
bool);
80 virtual void setCreating(
bool);
83 virtual void setIgnoreNextLeftButtonRelease(
bool b);
84 virtual void setEditStartedByDoubleClick(
bool b);
88 virtual void setDragTolerance(
int);
89 virtual int dragTolerance()
const;
93 virtual void setFreehand(
bool);
94 virtual bool freehand()
const;
98 void setDragToleranceTime(
double);
99 double dragToleranceTime()
const;
102 virtual void setIgnoreList(
const std::vector<makVrv::DtElementID>&);
103 const std::vector<makVrv::DtElementID>& ignoreList()
const;
107 virtual void setEmbarkationAllowed(
bool);
108 virtual bool embarkationAllowed()
const;
119 virtual bool isShiftKeyDown()
const;
120 virtual bool isControlKeyDown()
const;
121 virtual bool isAltKeyDown()
const;
122 virtual bool isLeftMouseButtonDown()
const;
123 virtual bool isRightMouseButtonDown()
const;
124 virtual bool isMiddleMouseButtonDown()
const;
139 virtual void changeHeading(
double mouseX,
double mouseY );
140 virtual void changePitch(
double mouseX,
double mouseY );
141 virtual void changeAltitude(
double mouseX,
double mouseY );
146 virtual void cleanupTerrainDraggingVaraibles();
152 virtual void changeAltitudeWithWheel(
int wheelSteps );
155 virtual void changeHeadingWithWheel(
int wheelSteps );
158 virtual void changePitchWithWheel(
int wheelSteps );
160 virtual void cancel(
bool escPressed);
161 virtual void cancel();
169 virtual void executeDeferredMouseMoveEvent();
239 virtual void changeAltitudeWithWheel(
int wheelSteps );
241 virtual void cancel();
247 virtual void changeAltitude(
double mouseX,
double mouseY );
249 virtual bool isAltKeyDown()
const;
250 virtual bool isLeftMouseButtonDown()
const;
251 virtual bool isRightMouseButtonDown()
const;
252 virtual bool isMiddleMouseButtonDown()
const;
makVrv::DtSignalConnectionManager myConnections
Definition: vrfObjectManipulationEventProcessor.h:179
IntersectProperties
The IntersectProperties enum is a flag set that indicates the types of nodes to be considered for int...
Definition: DtIntersector.h:31
boost::signals2::signal< void(double)> signal_pitchChanged
signal that the pitch of the object has changed
Definition: vrfObjectManipulationEventProcessor.h:114
bool myIsHeadingDragging
Definition: vrfObjectManipulationEventProcessor.h:176
Manage the tick and mouse events when editing or placing a Vrf object.
Definition: vrfObjectManipulationEventProcessor.h:35
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
bool myRightMouseButtonDown
Definition: vrfObjectManipulationEventProcessor.h:208
int myAltitudePositionY
Definition: vrfObjectManipulationEventProcessor.h:256
This class encapsulates a Key event.
Definition: DtKeyEvent.h:16
bool myHeadingAllowed
Definition: vrfObjectManipulationEventProcessor.h:173
double myHeadingPositionX
Definition: vrfObjectManipulationEventProcessor.h:189
!!!!!!!!!!
Definition: vrfObjectManipulationEventProcessor.h:229
Descriptor for a single intersection result.
Definition: DtIntersectorResult.h:21
int myAltitudePositionX
Definition: vrfObjectManipulationEventProcessor.h:255
The Simple event processor will emit signals whenever a mouse or keyboard event occurs that would cau...
Definition: DtBasicEditingEventProcessor.h:48
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
bool mySetAtLeastOneEvent
Definition: vrfObjectManipulationEventProcessor.h:200
DtVector myObserverLocation
Definition: vrfObjectManipulationEventProcessor.h:198
DtTaitBryan myCurrentOrientation
Definition: vrfObjectManipulationEventProcessor.h:172
This class encapsulates a mouse button event.
Definition: DtMouseEvent.h:19
bool myIgnoreNextMouseMove
Definition: vrfObjectManipulationEventProcessor.h:258
KeyModifier
Describe which modifier(s) are pressed.
Definition: DtKeyState.h:136
double myAltitudePositionY
Definition: vrfObjectManipulationEventProcessor.h:191
double myHeadingPositionY
Definition: vrfObjectManipulationEventProcessor.h:188
bool myDeferMouseMoveEvents
Controls whether mouse move events will be executed immediately or saved.
Definition: vrfObjectManipulationEventProcessor.h:207
boost::signals2::signal< void(bool)> signal_cancel
Definition: vrfObjectManipulationEventProcessor.h:116
bool myObserverEventProcessorWasEnabled
Definition: vrfObjectManipulationEventProcessor.h:257
bool myObserverEventProcessorWasEnabled
Definition: vrfObjectManipulationEventProcessor.h:195
The abstract Channel Class.
Definition: DtChannel.h:35
DtVector myStartPoint
Definition: vrfObjectManipulationEventProcessor.h:180
boost::signals2::signal< void(double)> signal_headingChanged
signal that the heading of the object has changed
Definition: vrfObjectManipulationEventProcessor.h:111
Contains makVrv::DtVirtualBaseClass class.
makVrv::DtMouseEvent myLastMouseEvent
Definition: vrfObjectManipulationEventProcessor.h:199
bool myPitchAllowed
Definition: vrfObjectManipulationEventProcessor.h:174
bool myFreehand
Definition: vrfObjectManipulationEventProcessor.h:186
This file contains the declaration for the class DtMouseEvent.
Definition: vrfObjectManipulationEventProcessor.h:211
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: vrfObjectManipulationEventProcessor.h:261
bool myEditStartedByDoubleClick
Definition: vrfObjectManipulationEventProcessor.h:196
bool myAltitudeAllowed
Definition: vrfObjectManipulationEventProcessor.h:175
double myAltitudePositionX
Definition: vrfObjectManipulationEventProcessor.h:190
double myDragTime
Definition: vrfObjectManipulationEventProcessor.h:183
Contains the DtIntervisibilityEditingEventProcessor class declaration.
bool myAllowEditing
Definition: vrfObjectManipulationEventProcessor.h:185
bool myEmbarkationAllowed
Definition: vrfObjectManipulationEventProcessor.h:192
bool myIgnoreLeftMouseDown
Definition: vrfObjectManipulationEventProcessor.h:194
The DtIntervisibilityEditingEventProcessor is overriding to support the canEdit method to determine i...
Definition: DtIntervisibilityEditingEventProcessor.h:24
This file contains the declaration for the class DtKeyEvent.
DtTimedSection myDragTimer
Definition: vrfObjectManipulationEventProcessor.h:184
bool myIsPitchDragging
Definition: vrfObjectManipulationEventProcessor.h:177
Base class to provide boost signal/slot management.
bool myIgnoreNextLeftButtonRelease
Definition: vrfObjectManipulationEventProcessor.h:193
int myDragTolerance
Definition: vrfObjectManipulationEventProcessor.h:181
Contains makVrv::DtUniqueID type.
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
std::vector< makVrv::DtElementID > myIgnoreList
Definition: vrfObjectManipulationEventProcessor.h:187
bool myMouseDragging
Definition: vrfObjectManipulationEventProcessor.h:178
boost::optional< makVrv::DtMouseEvent > mySavedMouseMoveEvent
Linux produces many mouse move events during a tick this holds the most recent one which is executed ...
Definition: vrfObjectManipulationEventProcessor.h:205
Creator for the intervisibility event processor.
Definition: DtIntervisibilityEditingEventProcessor.h:51
bool myIsLastEventProcessing
Definition: vrfObjectManipulationEventProcessor.h:197
double myDragToleranceTime
Definition: vrfObjectManipulationEventProcessor.h:182