VR-Forces 4.0.4 Class Documentation
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
makVrv::DtBasicEditingEventProcessor Class Reference

The Simple event processor will emit signals whenever a mouse or keyboard event occurs that would cause an editable object to want to be changed. More...

Inheritance diagram for makVrv::DtBasicEditingEventProcessor:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 DtBasicEditingEventProcessor (DtInputDriver &inputDriver, DtDe &de, const std::string &className)
 DTOR This class is created by the DtSimpleManager.
virtual ~DtBasicEditingEventProcessor ()
 CTOR.
virtual const std::string & className ()
 Returns the name of the processor class, to be used for identifying an event processor.
double currentAltitude () const
void setCurrentAltitude (double)
void setCurrentGroundLocation (const DtVector &)
virtual void changeAltitude (double mouseX, double mouseY)
 do the work on alt-drag
virtual void changeAltitudeWithWheel (int wheelSteps)
 change altitude with alt-mousewheel
virtual bool dragging () const
 Returns true if currently in dragging mode.
virtual void setAllowDragDrop (bool)
 If true (default false) will send out signals when a drag/drop would start (based on tolerance for left mouse down and mouse move).
bool allowDragDrop () const
virtual void setCreating (bool)
 Sets whether or not in creation mode.
bool creating () const
virtual bool allowEdit (const DtSelectionManager::IdSet &, bool doubleClick) const
 Return true if the items can be edited (by double click if flag is true). Default is false.
virtual bool allowContinueDrag (const DtVector &) const
 Return true if can still drag object (if in drag mode).
virtual void cancel ()
 Call to cancel current operation.
virtual void setEnabled (bool)
 If enabled is false and was enabled before, signal cancel. Should not call directly.
double mouseX () const
 Mouse X and Y positions as recorded the last time through the processEvent.
double mouseY () const

Public Attributes

boost::signal< void(DtVector,
double altAboveGround)> 
signal_locationChanged
 Signal sent when the mouse location has changed via a mouse move.
boost::signal< void()> signal_cancel
 Signal sent when the user wants to cancel the operation.
boost::signal< void(DtUniqueID,
DtVector, double
altAboveGround)> 
signal_place
 Signal sent on left click of mouse on terrain or object.
boost::signal< void(DtVector,
double)> 
signal_altitudeChanged
 Signal sent when the altitude has changed.
boost::signal< void(const
DtSelectionManager::IdSet
&, const DtVector &)> 
signal_dragStart
 Signal sent when dragging is starting.
boost::signal< void(bool)> signal_altitudeIsDragging
 Signal send when altitude has stopped/started changing by mouse movement.

Protected Member Functions

virtual bool processMouseEvent (const DtMouseEvent &ev, DtChannel &channel)
 Processes a mouse event on the channel.
virtual bool processKeyboardEvent (const DtKeyEvent &ev, DtChannel &channel)
 Processes a keyboard event on the channel.
virtual void processMouseMove (DtChannel &channel, const DtMouseEvent &ev)
virtual bool pick (DtChannel &channel, double x, double y, DtIntersectorResult &result, DtIntersector::IntersectProperties props) const
 Call intersector to pick into scene to get terrain intersection.

Protected Attributes

DtDemyDe
DtInputDrivermyInputDriver
std::string myClassName
bool myIsAltitudeDragging
DtVector myCurrentGroundLocation
double myCurrentAltitude
bool myDragging
bool myAllowDragDrop
double myLastMouseX
double myLastMouseY
double myMousePositionX
double myMousePositionY
bool myCreating

Detailed Description

The Simple event processor will emit signals whenever a mouse or keyboard event occurs that would cause an editable object to want to be changed.

The DtBasicEditingEventProcessor is used in the case where an object of single or multiple points wants to be created or updated (see the exampleRangeLine).

This processor can be enabled for creating or for editing. If enabled for creatin will emit signals on mouse movement, altitude changes and mouse clicks. Once the creation is complete, the processor can be disabled for creating so that other processors can begin processing mouse methods

If enabled for editing, will emit the signal_dragStart when the object (signified by its selection id) is to start to be edited. The processor will then emit the locationChanged, altitudeChanged or place signals as necessary. Once placed, the processor will go out of movement mode and wait for the next double-click to start movement mode again

In either case, if right mouse click is sent, the cancel signal will be emitted


Constructor & Destructor Documentation

makVrv::DtBasicEditingEventProcessor::DtBasicEditingEventProcessor ( DtInputDriver inputDriver,
DtDe de,
const std::string &  className 
)

DTOR This class is created by the DtSimpleManager.

By default, disabled. Must be enabled for creating, editing or both

CTOR.


Member Function Documentation

virtual const std::string& makVrv::DtBasicEditingEventProcessor::className ( ) [virtual]

Returns the name of the processor class, to be used for identifying an event processor.

Implements makVrv::DtEventProcessorInterface.

Reimplemented in makVrf::DtVrfObjectManipulationEventProcessor.

virtual void makVrv::DtBasicEditingEventProcessor::changeAltitude ( double  mouseX,
double  mouseY 
) [virtual]

do the work on alt-drag

virtual void makVrv::DtBasicEditingEventProcessor::changeAltitudeWithWheel ( int  wheelSteps) [virtual]

change altitude with alt-mousewheel

Returns true if currently in dragging mode.

If true (default false) will send out signals when a drag/drop would start (based on tolerance for left mouse down and mouse move).

The signal will contain the item(s) that are being dragged. The canEdit() method (default return true) will be called to make sure the items can be dragged. Override method to return false if cannot

Sets whether or not in creation mode.

Reimplemented in makVrf::DtVrfObjectManipulationEventProcessor.

virtual bool makVrv::DtBasicEditingEventProcessor::allowEdit ( const DtSelectionManager::IdSet ,
bool  doubleClick 
) const [virtual]

Return true if the items can be edited (by double click if flag is true). Default is false.

Reimplemented in makVrv::DtIntervisibilityEditingEventProcessor.

Return true if can still drag object (if in drag mode).

Returning false will signal a cancel. The point given is in local database coordinates. Default returns true.

Call to cancel current operation.

If enabled is false and was enabled before, signal cancel. Should not call directly.

Reimplemented from makVrv::DtEventProcessorInterface.

Mouse X and Y positions as recorded the last time through the processEvent.

virtual bool makVrv::DtBasicEditingEventProcessor::processMouseEvent ( const DtMouseEvent ev,
DtChannel channel 
) [protected, virtual]

Processes a mouse event on the channel.

Should return true if the event is handled successfully, and false to reject it and pass it on to the next event processor.

Implements makVrv::DtEventProcessorInterface.

Reimplemented in makVrf::DtVrfObjectManipulationEventProcessor.

virtual bool makVrv::DtBasicEditingEventProcessor::processKeyboardEvent ( const DtKeyEvent ev,
DtChannel channel 
) [protected, virtual]

Processes a keyboard event on the channel.

Should return true if the event is handled successfully, and false to reject it and pass it on to the next event processor.

Implements makVrv::DtEventProcessorInterface.

Reimplemented in makVrf::DtVrfObjectManipulationEventProcessor.

virtual void makVrv::DtBasicEditingEventProcessor::processMouseMove ( DtChannel channel,
const DtMouseEvent ev 
) [protected, virtual]
virtual bool makVrv::DtBasicEditingEventProcessor::pick ( DtChannel channel,
double  x,
double  y,
DtIntersectorResult result,
DtIntersector::IntersectProperties  props 
) const [protected, virtual]

Call intersector to pick into scene to get terrain intersection.

Reimplemented in makVrf::DtVrfObjectManipulationEventProcessor.


Member Data Documentation

boost::signal<void (DtVector, double altAboveGround)> makVrv::DtBasicEditingEventProcessor::signal_locationChanged

Signal sent when the mouse location has changed via a mouse move.

Vector is in local database coordinates

Signal sent when the user wants to cancel the operation.

boost::signal<void (DtUniqueID, DtVector, double altAboveGround)> makVrv::DtBasicEditingEventProcessor::signal_place

Signal sent on left click of mouse on terrain or object.

ID is the item clicked on. Vector is in local database coordinates

Signal sent when the altitude has changed.

Signal sent when dragging is starting.

Signal send when altitude has stopped/started changing by mouse movement.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)