|
QCAD Application Framework
CAD Application Development and Automation.
|
Graphics view. More...
#include <RGraphicsView.h>
Public Types | |
| enum | ColorMode { FullColor, GrayScale, BlackWhite } |
Public Member Functions | |
| void | addTextLabel (const RTextLabel &textLabel) |
| void | autoZoom (int margin=RDEFAULT_MIN1) |
| void | clearTextLabels () |
| QColor | getBackgroundColor () |
| virtual RBox | getBox () const |
| REntity::Id | getClosestEntity (const RVector &screenPosition, int range, bool includeLockedLayers=true) |
| Finds the entity that is the closest to the given screen coordinate (in pixels). | |
| RVector | getClosestReferencePoint (const RVector &screenPosition, int range) |
| Finds the reference point that is the closest to the given screen coordinate (in pixels). | |
| RVector | getClosestReferencePoint (REntity::Id entityId, const RVector &screenPosition) |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
| RGraphicsView::ColorMode | getColorMode () |
| RVector | getCurrentStepOffset () const |
| double | getCurrentStepScaleFactor () const |
| virtual QCursor | getCursor () |
| RDocument * | getDocument () const |
| RDocumentInterface * | getDocumentInterface () |
| bool | getDraftMode () const |
| double | getFactor (bool includeStepFactor=true) const |
| RGrid * | getGrid () |
| virtual int | getHeight () const =0 |
| RVector | getLastKnownMousePosition () const |
| int | getMargin () |
| virtual RVector | getMaximum () const |
| virtual RVector | getMinimum () const |
| RVector | getOffset (bool includeStepOffset=true) const |
| RGraphicsScene * | getScene () |
| QList< RTextLabel > | getTextLabels () |
| virtual int | getWidth () const =0 |
| virtual void | handleKeyPressEvent (QKeyEvent &event) |
| virtual void | handleKeyReleaseEvent (QKeyEvent &event) |
| virtual void | handleMouseDoubleClickEvent (RMouseEvent &event) |
| This should be called by the mouse double click event handler of a higher level GUI toolkit. | |
| virtual void | handleMouseMoveEvent (RMouseEvent &event) |
| This should be called by the mouse move event handler of a higher level GUI toolkit. | |
| virtual void | handleMousePressEvent (RMouseEvent &event) |
| This should be called by the mouse press event handler of a higher level GUI toolkit. | |
| virtual void | handleMouseReleaseEvent (RMouseEvent &event) |
| This should be called by the mouse release event handler of a higher level GUI toolkit. | |
| virtual void | handlePanGestureEvent (QPanGesture &gesture) |
| virtual void | handlePinchGestureEvent (QPinchGesture &gesture) |
| virtual void | handleSwipeGestureEvent (QSwipeGesture &gesture) |
| virtual void | handleTabletEvent (RTabletEvent &event) |
| This should be called by the tablet event handler of a higher level GUI toolkit. | |
| virtual void | handleTerminateEvent (RTerminateEvent &event) |
| virtual void | handleWheelEvent (RWheelEvent &event) |
| This should be called by the mouse wheel event handler of a higher level GUI toolkit. | |
| virtual bool | hasFocus ()=0 |
| bool | isGridVisible () const |
| bool | isPrinting () const |
| bool | isPrintPreview () const |
| virtual QList< RVector > | mapCornersFromView () const |
| virtual double | mapDistanceFromView (double d) const =0 |
| Maps the given view distance in pixels to a model distance. | |
| virtual double | mapDistanceToView (double d) const =0 |
| Maps the given model distance to a screen distance in pixels. | |
| virtual RVector | mapFromView (const RVector &v, double z=0.0) const =0 |
| Maps the given view coordinate in pixels to a model coordinate. | |
| virtual RVector | mapToView (const RVector &v) const =0 |
| Maps the given model coordinate to a view coordinate in pixels. | |
| virtual RBox | mapToView (const RBox &box) const |
| Finds the entity that is the closest to the given screen coordinate (in pixels) and inside the current UCS (read floor). | |
| virtual void | paintGridPoint (const RVector &) |
| virtual void | paintMetaGridLine (const RLine &) |
| virtual void | pan (const RVector &delta) |
Pans (scrolls) by the given amount delta which is a vector in screen coordinates (pixels). | |
| virtual void | regenerate (bool force=false)=0 |
| Regenerates the view to show the visible parts of the underlying scene. | |
| virtual void | removeFocus ()=0 |
| virtual void | repaintView ()=0 |
| Repaints the view (widget, etc..). | |
| void | restoreViewport () |
| RGraphicsView (RGraphicsScene *scene=NULL) | |
| void | saveViewport () |
| virtual void | setBackgroundColor (const QColor &col) |
| void | setColorMode (RGraphicsView::ColorMode cm) |
| void | setCurrentStepOffset (const RVector &s) |
| void | setCurrentStepScaleFactor (double f) |
| virtual void | setCursor (Qt::CursorShape) |
| virtual void | setCursor (const QCursor &) |
| void | setDisplayOnlyCurrentUcs (bool on) |
If on is true, only the current UCS and the entities that are in its range are displayed. | |
| void | setDraftMode (bool on) |
| void | setFactor (double f, bool regen=true) |
| void | setGrid (RGrid *g) |
| Sets the current grid. | |
| void | setGridVisible (bool on) |
| void | setMargin (int m) |
| void | setNavigationAction (RAction *action) |
| Sets an action object that is typically used to handle all navigation interaction (zooming, panning, ...). | |
| void | setOffset (const RVector &offset, bool regen=true) |
| void | setPrinting (bool on) |
| void | setPrintPointSize (const RVector &s) |
| void | setPrintPreview (bool on) |
| virtual void | setScene (RGraphicsScene *scene, bool regen=true) |
| virtual void | simulateMouseMoveEvent () |
| void | startPan () |
| virtual void | viewportChangeEvent () |
| virtual void | zoom (const RVector ¢er, double factor) |
| Zooms in / out by the given factor towards / from the given center in scene coordinates. | |
| void | zoomIn () |
| Zooms in by factor 1.2. | |
| void | zoomIn (const RVector ¢er) |
| Zooms in by factor 1.2. | |
| void | zoomOut () |
| Zooms out by factor 1.2. | |
| void | zoomOut (const RVector ¢er) |
| Zooms out by factor 1.0/1.2. | |
| void | zoomPrevious () |
| virtual void | zoomTo (const RBox &window, int margin=0) |
| Zooms the view in a way that all entities are within the visible area of the view. | |
| bool | zoomToSelection () |
| virtual | ~RGraphicsView () |
Protected Member Functions | |
| virtual void | centerTo (const RBox &box) |
Centers the view on the given box. | |
Protected Attributes | |
| bool | autoScalePatterns |
| QColor | backgroundColor |
| ColorMode | colorMode |
| RVector | currentStepOffset |
| double | currentStepScaleFactor |
| Current scale factor caused by a pinch gesture. | |
| bool | displayOnlyCurrentUcs |
| True to only display entities within the horizontal slice that is defined by the current UCS. | |
| bool | draftMode |
| double | factor |
| Scale factor from model coordinates to view coordinates. | |
| RGrid * | grid |
| Grid that is currently displayed by this view or NULL. | |
| bool | gridVisible |
| RVector | lastKnownModelPosition |
| RVector | lastKnownViewPosition |
| int | margin |
| RAction * | navigationAction |
| The navigation action of this view or NULL if no navigation action has been set. | |
| RVector | offset |
| Offset of the zero point from the lower left corner of the view in model coordinates. | |
| double | previousFactor |
| RVector | previousOffset |
| bool | printing |
| RVector | printPointSize |
| bool | printPreview |
| RGraphicsScene * | scene |
| The scene this view is attached to. | |
| QList< RTextLabel > | textLabels |
| Internal list of text labels that were added to this view. | |
Additional Inherited Members |
Graphics view.
A graphics view displays a (part of a) graphics scene.
| RGraphicsView::RGraphicsView | ( | RGraphicsScene * | scene = NULL | ) |
|
virtual |
| void RGraphicsView::addTextLabel | ( | const RTextLabel & | textLabel | ) |
| void RGraphicsView::autoZoom | ( | int | margin = RDEFAULT_MIN1 | ) |
Reimplemented in RGraphicsViewImage.
|
protectedvirtual |
Centers the view on the given box.
The view is updated.
| box | Box to move into the center of the drawing in model coordinates. |
| void RGraphicsView::clearTextLabels | ( | ) |
| QColor RGraphicsView::getBackgroundColor | ( | ) |
Reimplemented in RGraphicsViewImage.
|
virtual |
Reimplemented in RGraphicsViewImage.
| REntity::Id RGraphicsView::getClosestEntity | ( | const RVector & | screenPosition, |
| int | range, | ||
| bool | includeLockedLayers = true |
||
| ) |
Finds the entity that is the closest to the given screen coordinate (in pixels).
| range | Maximum distance in pixels. |
Finds the reference point that is the closest to the given screen coordinate (in pixels).
| range | Maximum distance in pixels. |
| RVector RGraphicsView::getClosestReferencePoint | ( | REntity::Id | entityId, |
| const RVector & | screenPosition | ||
| ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
| RGraphicsView::ColorMode RGraphicsView::getColorMode | ( | ) |
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in RGraphicsViewQt.
| RDocument * RGraphicsView::getDocument | ( | ) | const |
| RDocumentInterface * RGraphicsView::getDocumentInterface | ( | ) |
Reimplemented in RGraphicsViewImage.
|
inline |
Reimplemented in RGraphicsViewImage.
| double RGraphicsView::getFactor | ( | bool | includeStepFactor = true | ) | const |
Reimplemented in RGraphicsViewImage.
|
inline |
Reimplemented in RGraphicsViewImage.
|
pure virtual |
Implemented in RGraphicsViewImage, and RGraphicsViewQt.
|
inline |
| int RGraphicsView::getMargin | ( | ) |
|
virtual |
|
virtual |
| RVector RGraphicsView::getOffset | ( | bool | includeStepOffset = true | ) | const |
Reimplemented in RGraphicsViewImage.
| RGraphicsScene * RGraphicsView::getScene | ( | ) |
Reimplemented in RGraphicsViewImage.
| QList< RTextLabel > RGraphicsView::getTextLabels | ( | ) |
|
pure virtual |
Implemented in RGraphicsViewImage, and RGraphicsViewQt.
|
virtual |
|
virtual |
|
virtual |
This should be called by the mouse double click event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
virtual |
This should be called by the mouse move event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
virtual |
This should be called by the mouse press event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
virtual |
This should be called by the mouse release event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
This should be called by the tablet event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
virtual |
|
virtual |
This should be called by the mouse wheel event handler of a higher level GUI toolkit.
Events are forwarded to the scene and the navigation action that is attached to this view.
|
pure virtual |
Implemented in RGraphicsViewImage, and RGraphicsViewQt.
|
inline |
| bool RGraphicsView::isPrinting | ( | ) | const |
Reimplemented in RGraphicsViewImage.
| bool RGraphicsView::isPrintPreview | ( | ) | const |
Reimplemented in RGraphicsViewImage.
|
virtual |
|
pure virtual |
Maps the given view distance in pixels to a model distance.
If the view projection is not orthogonal the result is undefined.
Implemented in RGraphicsViewImage.
|
pure virtual |
Maps the given model distance to a screen distance in pixels.
If the view projection is not orthogonal the result is undefined.
Implemented in RGraphicsViewImage.
Maps the given view coordinate in pixels to a model coordinate.
| v | view coordinate in pixels, v.z is always 0 |
| z | known z coordinate in model units |
Implemented in RGraphicsViewImage.
Maps the given model coordinate to a view coordinate in pixels.
Implemented in RGraphicsViewImage.
Finds the entity that is the closest to the given screen coordinate (in pixels) and inside the current UCS (read floor).
| range | Maximum distance in pixels. |
box (e.g. a 3d bounding box) to a 2d box in view coordinates (pixels).
|
inlinevirtual |
Reimplemented in RGraphicsViewImage.
|
inlinevirtual |
Reimplemented in RGraphicsViewImage.
|
virtual |
Pans (scrolls) by the given amount delta which is a vector in screen coordinates (pixels).
|
pure virtual |
Regenerates the view to show the visible parts of the underlying scene.
This function is called after the entities have been modified or the view port changed after a zoom or pan or after the window has been resized.
| force | True if scene has changed, don't use any optimizations, force regeneration. |
Implemented in RGraphicsViewImage.
|
pure virtual |
Implemented in RGraphicsViewImage, and RGraphicsViewQt.
|
pure virtual |
Repaints the view (widget, etc..).
This differs from regenerate in that it does not require the view to iterate through the scene elements. Instead for example a buffered bitmap might be drawn. This is for example called when the preview changes to restore the view before painting the preview on top of it.
Implemented in RGraphicsViewImage, and RGraphicsViewQt.
| void RGraphicsView::restoreViewport | ( | ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::saveViewport | ( | ) |
Reimplemented in RGraphicsViewImage.
|
virtual |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setColorMode | ( | RGraphicsView::ColorMode | cm | ) |
Reimplemented in RGraphicsViewImage.
|
inline |
|
inline |
|
inlinevirtual |
Reimplemented in RGraphicsViewQt.
|
inlinevirtual |
Reimplemented in RGraphicsViewQt.
| void RGraphicsView::setDisplayOnlyCurrentUcs | ( | bool | on | ) |
If on is true, only the current UCS and the entities that are in its range are displayed.
The range of a UCS is defined by the length of its axis vectors. This can be used to display only one floor in an architecture application.
| void RGraphicsView::setDraftMode | ( | bool | on | ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setFactor | ( | double | f, |
| bool | regen = true |
||
| ) |
Reimplemented in RGraphicsViewImage.
|
inline |
Sets the current grid.
This graphics view takes ownership of the grid. The previous grid is deleted. Setting the grid to NULL disables the grid.
Reimplemented in RGraphicsViewImage.
|
inline |
| void RGraphicsView::setMargin | ( | int | m | ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setNavigationAction | ( | RAction * | action | ) |
Sets an action object that is typically used to handle all navigation interaction (zooming, panning, ...).
All events that are received by this view are first sent to the graphics scene and then to this action if they were not consumed yet.
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setOffset | ( | const RVector & | offset, |
| bool | regen = true |
||
| ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setPrinting | ( | bool | on | ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setPrintPointSize | ( | const RVector & | s | ) |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::setPrintPreview | ( | bool | on | ) |
Reimplemented in RGraphicsViewImage.
|
virtual |
|
virtual |
Reimplemented in RGraphicsViewImage.
| void RGraphicsView::startPan | ( | ) |
|
virtual |
Reimplemented in RGraphicsViewQt.
|
virtual |
Zooms in / out by the given factor towards / from the given center in scene coordinates.
| void RGraphicsView::zoomIn | ( | ) |
Zooms in by factor 1.2.
The center point is at the center of the view.
| void RGraphicsView::zoomIn | ( | const RVector & | center | ) |
Zooms in by factor 1.2.
The given center point stays at the same position.
| void RGraphicsView::zoomOut | ( | ) |
Zooms out by factor 1.2.
The center point is at the center of the view.
| void RGraphicsView::zoomOut | ( | const RVector & | center | ) |
Zooms out by factor 1.0/1.2.
The given center point stays at the same position.
| void RGraphicsView::zoomPrevious | ( | ) |
|
virtual |
Zooms the view in a way that all entities are within the visible area of the view.
The view is updated.
Reimplemented in RGraphicsViewImage.
| bool RGraphicsView::zoomToSelection | ( | ) |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
Current scale factor caused by a pinch gesture.
|
protected |
True to only display entities within the horizontal slice that is defined by the current UCS.
|
protected |
|
protected |
Scale factor from model coordinates to view coordinates.
|
protected |
Grid that is currently displayed by this view or NULL.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The navigation action of this view or NULL if no navigation action has been set.
|
protected |
Offset of the zero point from the lower left corner of the view in model coordinates.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
The scene this view is attached to.
|
protected |
Internal list of text labels that were added to this view.