Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
GUIPerspectiveChanger Class Referenceabstract

#include <GUIPerspectiveChanger.h>

Inheritance diagram for GUIPerspectiveChanger:
[legend]
Collaboration diagram for GUIPerspectiveChanger:
[legend]

Public Types

enum  MouseState { MOUSEBTN_NONE = 0 , MOUSEBTN_LEFT = 1 , MOUSEBTN_RIGHT = 2 , MOUSEBTN_MIDDLE = 4 }
 mouse states More...

Public Member Functions

virtual void centerTo (const Position &pos, double radius, bool applyZoom=true)=0
 Centers the view to the given position, setting it to a size that covers the radius. Used for: Centering of vehicles and junctions *‍/.
virtual void changeCanvasSizeLeft (int change)=0
FXint getMouseXPosition () const
 Returns the last mouse x-position an event occurred at.
FXint getMouseYPosition () const
 Returns the last mouse y-position an event occurred at.
virtual double getRotation () const =0
 Returns the rotation of the canvas stored in this changer.
Boundary getViewport (bool fixRatio=true)
 get viewport
virtual double getXPos () const =0
 Returns the x-offset of the field to show stored in this changer.
virtual double getYPos () const =0
 Returns the y-offset of the field to show stored in this changer.
virtual double getZoom () const =0
 Returns the zoom factor computed stored in this changer.
virtual double getZPos () const =0
 Returns the camera height corresponding to the current zoom factor.
 GUIPerspectiveChanger (GUISUMOAbstractView &callBack, const Boundary &viewPort)
 Constructor.
virtual void onDoubleClicked (void *data)
 called when user click two times
virtual long onKeyPress (void *data)
 called when user press a key
virtual long onKeyRelease (void *data)
 called when user releases a key
virtual void onLeftBtnPress (void *data)
 mouse functions
virtual bool onLeftBtnRelease (void *data)
 called when user releases left button
virtual void onMiddleBtnPress (void *data)
 called when user press middle button
virtual bool onMiddleBtnRelease (void *data)
 called when user releases middle button
virtual void onMouseMove (void *data)
 called when user moves mouse
virtual void onMouseWheel (void *data)
 called when user changes mouse wheel
virtual void onRightBtnPress (void *data)
 called when user press right button
virtual bool onRightBtnRelease (void *data)
 called when user releases right button
virtual void setRotation (double rotation)=0
 Sets the rotation.
virtual void setViewport (const Boundary &viewPort)
 set viewport
virtual void setViewport (double zoom, double xPos, double yPos)=0
 Sets the viewport Used for: Adapting a new viewport.
virtual void setViewportFrom (double xPos, double yPos, double zPos)=0
 Alternative method for setting the viewport.
virtual double zoom2ZPos (double zoom) const =0
 Returns the camera height at which the given zoom level is reached.
virtual double zPos2Zoom (double zPos) const =0
 Returns the zoom level that is achieved at a given camera height.
virtual ~GUIPerspectiveChanger ()
 Destructor.

Protected Attributes

GUISUMOAbstractViewmyCallback
 The parent window (canvas to scale).
FXint myMouseXPosition = 0
 the current mouse position
FXint myMouseYPosition = 0
Boundary myViewPort
 the intended viewport

Private Member Functions

 GUIPerspectiveChanger (const GUIPerspectiveChanger &)
 Invalidated copy constructor.
GUIPerspectiveChangeroperator= (const GUIPerspectiveChanger &)
 Invalidated assignment operator.
Boundary patchedViewPort ()
 patched viewPort with the same aspect ratio as the canvas

Detailed Description

This is the interface for implementation of own classes that handle the interaction between the user and a display field. While most of our (IVF) interfaces allow zooming by choosing the rectangle to show, other types of interaction are possible and have been implemented. To differ between the behaviours, all types of interaction between the user and the canvas are send to this class: mouse moving, mouse button pressing and releasing.

Definition at line 50 of file GUIPerspectiveChanger.h.

Member Enumeration Documentation

◆ MouseState

mouse states

Enumerator
MOUSEBTN_NONE 
MOUSEBTN_LEFT 
MOUSEBTN_RIGHT 
MOUSEBTN_MIDDLE 

Definition at line 53 of file GUIPerspectiveChanger.h.

Constructor & Destructor Documentation

◆ GUIPerspectiveChanger() [1/2]

GUIPerspectiveChanger::GUIPerspectiveChanger ( GUISUMOAbstractView & callBack,
const Boundary & viewPort )

Constructor.

Definition at line 31 of file GUIPerspectiveChanger.cpp.

References myCallback, and myViewPort.

Referenced by GUIDanielPerspectiveChanger::GUIDanielPerspectiveChanger(), GUIOSGPerspectiveChanger::GUIOSGPerspectiveChanger(), GUIPerspectiveChanger(), and operator=().

Here is the caller graph for this function:

◆ ~GUIPerspectiveChanger()

GUIPerspectiveChanger::~GUIPerspectiveChanger ( )
virtual

Destructor.

Definition at line 37 of file GUIPerspectiveChanger.cpp.

◆ GUIPerspectiveChanger() [2/2]

GUIPerspectiveChanger::GUIPerspectiveChanger ( const GUIPerspectiveChanger & )
private

Invalidated copy constructor.

References GUIPerspectiveChanger().

Member Function Documentation

◆ centerTo()

virtual void GUIPerspectiveChanger::centerTo ( const Position & pos,
double radius,
bool applyZoom = true )
pure virtual

Centers the view to the given position, setting it to a size that covers the radius. Used for: Centering of vehicles and junctions *‍/.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ changeCanvasSizeLeft()

virtual void GUIPerspectiveChanger::changeCanvasSizeLeft ( int change)
pure virtual

◆ getMouseXPosition()

FXint GUIPerspectiveChanger::getMouseXPosition ( ) const

Returns the last mouse x-position an event occurred at.

Definition at line 112 of file GUIPerspectiveChanger.cpp.

References myMouseXPosition.

◆ getMouseYPosition()

FXint GUIPerspectiveChanger::getMouseYPosition ( ) const

Returns the last mouse y-position an event occurred at.

Definition at line 118 of file GUIPerspectiveChanger.cpp.

References myMouseYPosition.

◆ getRotation()

virtual double GUIPerspectiveChanger::getRotation ( ) const
pure virtual

Returns the rotation of the canvas stored in this changer.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ getViewport()

Boundary GUIPerspectiveChanger::getViewport ( bool fixRatio = true)

get viewport

Definition at line 124 of file GUIPerspectiveChanger.cpp.

References myViewPort, and patchedViewPort().

◆ getXPos()

virtual double GUIPerspectiveChanger::getXPos ( ) const
pure virtual

Returns the x-offset of the field to show stored in this changer.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Referenced by GUIApplicationWindow::onCmdOpenInNetedit().

Here is the caller graph for this function:

◆ getYPos()

virtual double GUIPerspectiveChanger::getYPos ( ) const
pure virtual

Returns the y-offset of the field to show stored in this changer.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Referenced by GUIApplicationWindow::onCmdOpenInNetedit().

Here is the caller graph for this function:

◆ getZoom()

virtual double GUIPerspectiveChanger::getZoom ( ) const
pure virtual

Returns the zoom factor computed stored in this changer.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ getZPos()

virtual double GUIPerspectiveChanger::getZPos ( ) const
pure virtual

Returns the camera height corresponding to the current zoom factor.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Referenced by GUIApplicationWindow::onCmdOpenInNetedit().

Here is the caller graph for this function:

◆ onDoubleClicked()

void GUIPerspectiveChanger::onDoubleClicked ( void * data)
virtual

called when user click two times

Definition at line 80 of file GUIPerspectiveChanger.cpp.

◆ onKeyPress()

long GUIPerspectiveChanger::onKeyPress ( void * data)
virtual

called when user press a key

Reimplemented in GUIDanielPerspectiveChanger.

Definition at line 98 of file GUIPerspectiveChanger.cpp.

◆ onKeyRelease()

long GUIPerspectiveChanger::onKeyRelease ( void * data)
virtual

called when user releases a key

Definition at line 105 of file GUIPerspectiveChanger.cpp.

◆ onLeftBtnPress()

void GUIPerspectiveChanger::onLeftBtnPress ( void * data)
virtual

mouse functions

called when user press left button

Reimplemented in GUIDanielPerspectiveChanger.

Definition at line 42 of file GUIPerspectiveChanger.cpp.

◆ onLeftBtnRelease()

bool GUIPerspectiveChanger::onLeftBtnRelease ( void * data)
virtual

called when user releases left button

Reimplemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Definition at line 48 of file GUIPerspectiveChanger.cpp.

◆ onMiddleBtnPress()

void GUIPerspectiveChanger::onMiddleBtnPress ( void * data)
virtual

called when user press middle button

Reimplemented in GUIDanielPerspectiveChanger.

Definition at line 55 of file GUIPerspectiveChanger.cpp.

◆ onMiddleBtnRelease()

bool GUIPerspectiveChanger::onMiddleBtnRelease ( void * data)
virtual

called when user releases middle button

Reimplemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Definition at line 61 of file GUIPerspectiveChanger.cpp.

◆ onMouseMove()

void GUIPerspectiveChanger::onMouseMove ( void * data)
virtual

called when user moves mouse

Reimplemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Definition at line 92 of file GUIPerspectiveChanger.cpp.

◆ onMouseWheel()

void GUIPerspectiveChanger::onMouseWheel ( void * data)
virtual

called when user changes mouse wheel

Reimplemented in GUIDanielPerspectiveChanger.

Definition at line 86 of file GUIPerspectiveChanger.cpp.

◆ onRightBtnPress()

void GUIPerspectiveChanger::onRightBtnPress ( void * data)
virtual

called when user press right button

Reimplemented in GUIDanielPerspectiveChanger.

Definition at line 68 of file GUIPerspectiveChanger.cpp.

◆ onRightBtnRelease()

bool GUIPerspectiveChanger::onRightBtnRelease ( void * data)
virtual

called when user releases right button

Reimplemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Definition at line 74 of file GUIPerspectiveChanger.cpp.

◆ operator=()

GUIPerspectiveChanger & GUIPerspectiveChanger::operator= ( const GUIPerspectiveChanger & )
private

Invalidated assignment operator.

References GUIPerspectiveChanger().

◆ patchedViewPort()

Boundary GUIPerspectiveChanger::patchedViewPort ( )
private

patched viewPort with the same aspect ratio as the canvas

Definition at line 140 of file GUIPerspectiveChanger.cpp.

References myCallback, and myViewPort.

Referenced by getViewport().

Here is the caller graph for this function:

◆ setRotation()

virtual void GUIPerspectiveChanger::setRotation ( double rotation)
pure virtual

Sets the rotation.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ setViewport() [1/2]

void GUIPerspectiveChanger::setViewport ( const Boundary & viewPort)
virtual

set viewport

Reimplemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Definition at line 134 of file GUIPerspectiveChanger.cpp.

References myViewPort.

◆ setViewport() [2/2]

virtual void GUIPerspectiveChanger::setViewport ( double zoom,
double xPos,
double yPos )
pure virtual

Sets the viewport Used for: Adapting a new viewport.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ setViewportFrom()

virtual void GUIPerspectiveChanger::setViewportFrom ( double xPos,
double yPos,
double zPos )
pure virtual

Alternative method for setting the viewport.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

◆ zoom2ZPos()

virtual double GUIPerspectiveChanger::zoom2ZPos ( double zoom) const
pure virtual

Returns the camera height at which the given zoom level is reached.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Referenced by GUISettingsHandler::applyViewport().

Here is the caller graph for this function:

◆ zPos2Zoom()

virtual double GUIPerspectiveChanger::zPos2Zoom ( double zPos) const
pure virtual

Returns the zoom level that is achieved at a given camera height.

Implemented in GUIDanielPerspectiveChanger, and GUIOSGPerspectiveChanger.

Field Documentation

◆ myCallback

◆ myMouseXPosition

◆ myMouseYPosition

◆ myViewPort


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