QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Projection Class Reference

Base class for all projection tools. More...

Inheritance diagram for Projection:
Transform Modify EAction RActionAdapter RAction IsometricProjection IsoProject

List of all members.

Public Member Functions

void addTransformedShapes (void entity, void shapes, void op, void preview, void forceNew)
 Adds the projected shapes of the given entity to the given operation.
void beginEvent ()
 Called when the user starts this action by clicking a button, choosing a menu, entering a command, etc.
void escapeEvent ()
 Called when the user presses Escape or clicks the right mouse button.
void getOperation (void preview)
 Called by updatePreview.
void getTitle ()
void isFlip ()
 Can be reimplemented to return true if the transformation flips entities (mirroring).
void pickCoordinate (void event, void preview)
 High level event triggered when a coordinate was specified by the user of a coordinate specification should be previewed.
void postTransform (void entity)
void preTransform (void entity)
void project (void p)
 Reimplemented by inheriting classes.
void Projection (void guiAction)
void projectShape (void shape, void preview, void trim)
 Projection of the given shape.
void setState (void state)
 Set the state of this action.
void slotRotateCCW ()
void slotRotateCW ()
void slotSegmentLengthChanged (void l)
void transform (void entity, void k, void op, void preview, void forceNew)
 Callback function for Transform.getOperation.
void trimShape (void shape)
 Reimplemented by inheriting classes to trim the given unprojected shape to the projectable area.
- Public Member Functions inherited from Transform
void clearCache ()
void getOperation (void preview, void selectResult, void cache)
 Implemetation of getOperation for tools that operate on a selection and do something with every entity in the selection (e.g.
void Transform (void guiAction)
void verifySelection ()
- Public Member Functions inherited from Modify
void deleteSelectedEntities (void msgEntitiesDeleted, void msgNothingDeleted)
void Modify (void guiAction)
void slotAutoRefreshChanged (void checked)
void slotClose ()
void slotRefresh ()
- Public Member Functions inherited from EAction
void applyCommand (void event, void preview)
 High level event triggered when a command line command should be applied or previewed.
void applyOperation ()
 Applies the operation returned by this.getOperation().
void commandEvent (void event)
 Default implementation.
void commandEventPreview (void event)
 Default implementation.
void coordinateEvent (void event)
 Default implementation.
void coordinateEventPreview (void event)
 Default implementation.
void createDialog (void uiFile, void parent)
 Creates a new dialog based on the given UI file with the given parent.
void createWidget (void uiFile, void parent)
 Creates a new widget based on the given UI file with the given parent.
void EAction (void guiAction)
void entityPickEvent (void event)
 Default implementation.
void entityPickEventPreview (void event)
 Default implementation.
void finishEvent ()
 Called when this action is terminated.
void getAuxPreview ()
 Called by updatePreview.
void getDocumentInterface ()
void getGraphicsView ()
void getGraphicsViews ()
void getHighlightedEntities ()
 Called by updatePreview.
void getScales ()
void hideUiOptions (void saveToSettings)
 Hides the UI options of this action.
void initState ()
 Called to initialize a new state of this action.
void initUiOptions (void resume)
 Overwrite to initialize combo boxes and other UI elements of the options tool bar.
void keyPressEvent (void event)
 Called when the user presses a key.
void keyReleaseEvent (void event)
 Called when the user releases a key.
void mousePressEvent (void event)
 Does nothing.
void mouseReleaseEvent (void event)
void pickEntity (void event, void preview)
 High level event triggered when an entity was picked by the user or to preview picking an entity.
void propertyChangeEvent (void event)
 Allows all actions to handle property change events.
void resumeEvent ()
 Called whenver the action resumes its operation, for example after it was temporary suspended for another action.
void setArrowCursor ()
 Sets the current cursor of the current document interface (all views attached to it) to the normal arrow cursor.
void setCommandPrompt (void prompt)
void setCrosshairCursor ()
 Sets the current cursor of the current document interface (all views attached to it) to crosshair cursor.
void setCursor (void cursor, void name)
void setLeftMouseTip (void tip)
void setRightMouseTip (void tip)
void setUiOptions (void uiFile, void split)
 Sets the UI options toolbar content for this tool.
void showUiOptions (void resume, void restoreFromSettings)
 Shows the UI options of this action if this.uiFile is set.
void simulateMouseMoveEvent ()
void slotReset ()
 Called if the user clicks the reset button of an action.
void suspendEvent ()
 Called whenver the action is suspended, for example if another action is started while this action is active.
void updatePreview (void clear)
 Updates the preview based on the operation returned by getOperation and the auxiliary construction returned be getAuxPreview.
- Public Member Functions inherited from RActionAdapter
virtual void commandEvent (RCommandEvent &)
 Called when a command is entered in the command line.
virtual void commandEventPreview (RCommandEvent &)
 Called when a command is being edited in the command line.
virtual void coordinateEvent (RCoordinateEvent &)
 Called for every coordinate event.
virtual void coordinateEventPreview (RCoordinateEvent &)
 Called if the action is in PickCoordinate mode and the mouse is moved around.
virtual void entityPickEvent (REntityPickEvent &)
 
virtual void entityPickEventPreview (REntityPickEvent &)
 
virtual void keyPressEvent (QKeyEvent &)
virtual void keyReleaseEvent (QKeyEvent &)
virtual void mouseDoubleClickEvent (RMouseEvent &)
 Called on mouse double click events.
virtual void mouseMoveEvent (RMouseEvent &)
 Called on mouse move events.
virtual void mousePressEvent (RMouseEvent &)
 Called on mouse press events.
virtual void mouseReleaseEvent (RMouseEvent &)
 Called on mouse release events.
virtual void panGestureEvent (QPanGesture &)
 Called on pan gesture events.
virtual void pinchGestureEvent (QPinchGesture &)
 Called on pinch gesture events.
virtual void propertyChangeEvent (RPropertyEvent &)
 Called when the value of a property is modified while this action is active.
 RActionAdapter (RGuiAction *guiAction=NULL)
virtual void setGraphicsView (RGraphicsView *)
 Called if this action is set as a navigation action of a graphics view.
virtual void swipeGestureEvent (QSwipeGesture &)
 Called on swipe gesture events.
virtual void tabletEvent (RTabletEvent &)
 Called on tablet events.
virtual void wheelEvent (RWheelEvent &)
 Called on mouse wheel events.
- Public Member Functions inherited from RAction
RAction::ClickMode getClickMode ()
RDocumentgetDocument ()
QList< RGraphicsScene * > getGraphicsScenes ()
virtual RGuiActiongetGuiAction ()
RActiongetOverrideBase ()
RStoragegetStorage ()
QString getUniqueGroup ()
bool hasNoState ()
bool isOverride ()
bool isTerminated ()
 RAction (RGuiAction *guiAction=NULL)
 Copyright (c) 2011-2014 by Andrew Mustun.
void setClickMode (RAction::ClickMode m)
 Sets the current click mode.
void setDocumentInterface (RDocumentInterface *di)
void setGuiAction (RGuiAction *guiAction)
void setNoState ()
void setOverride ()
void setOverrideBase (RAction *base)
void setUniqueGroup (const QString &ug)
RVector snap (RMouseEvent &event)
 Uses the currently active snap function to snap to the closest object or grid point.
void terminate ()
 Terminates the action.
virtual ~RAction ()

Public Attributes

int copies
int flat
int referencePoint
int rotation
int segmentation
int segmentLength
int targetPoint
- Public Attributes inherited from Transform
int useCurrentAttributes
- Public Attributes inherited from Modify
int autoRefresh
- Public Attributes inherited from EAction
int additionalOptionsToolBars
int guiAction
int includeBasePath
int optionsToolBarEnabled
int relativeZeroPos
int settingsGroup
int splitUiOptions
int state
int uiFile

Detailed Description

Base class for all projection tools.


Constructor & Destructor Documentation

void Projection::Projection ( void  guiAction)
inline

Member Function Documentation

void Projection::addTransformedShapes ( void  entity,
void  shapes,
void  op,
void  preview,
void  forceNew 
)
inline

Adds the projected shapes of the given entity to the given operation.

Parameters:
entityREntity Original (unprojected) entity (used to copy attributes to new shapes).
shapesArray The transformed shapes
opRAddObjectsOperation Operation
void Projection::beginEvent ( )
inlinevirtual

Called when the user starts this action by clicking a button, choosing a menu, entering a command, etc.

Shows the GUI elements that refer to this action as checked. Displays GUI options if this.uiFile is set to a valid UI file. Displays tool help in Help Viewer if available.

Reimplemented from Modify.

Reimplemented in IsometricProjection.

void Projection::escapeEvent ( void  )
inlinevirtual

Called when the user presses Escape or clicks the right mouse button.

Reimplemented from EAction.

void Projection::getOperation ( void  preview)
inline

Called by updatePreview.

Implementations must return an ROperation subclass object for the operation that should be previewed.

Reimplemented from EAction.

void Projection::getTitle ( )
inline

Reimplemented from Modify.

Reimplemented in IsometricProjection.

void Projection::isFlip ( )
inline

Can be reimplemented to return true if the transformation flips entities (mirroring).

This means that arcs have to be reversed.

void Projection::pickCoordinate ( void  event,
void  preview 
)
inline

High level event triggered when a coordinate was specified by the user of a coordinate specification should be previewed.

Reimplemented from EAction.

void Projection::postTransform ( void  entity)
inline
void Projection::preTransform ( void  entity)
inline
void Projection::project ( void  p)
inline

Reimplemented by inheriting classes.

Default implementation does nothing (no projection).

Parameters:
pVector to transform in normalized coordinates, relative to the chosen reference point.

Reimplemented in IsoProject.

void Projection::projectShape ( void  shape,
void  preview,
void  trim 
)
inline

Projection of the given shape.

The shape uses coordinates relative to the chosen reference point.

Returns:
Array of new projected shapes.
void Projection::setState ( void  state)
inline

Set the state of this action.

Action implementations overwrite this function to initialize this action for the given state. This includes setting the appropriate click mode, displaying the appropriate CAD toolbar, setting mouse tips, mouse cursor, etc.

Reimplemented from EAction.

void Projection::slotRotateCCW ( )
inline
void Projection::slotRotateCW ( )
inline
void Projection::slotSegmentLengthChanged ( void  l)
inline
void Projection::transform ( void  entity,
void  k,
void  op,
void  preview,
void  forceNew 
)
inline

Callback function for Transform.getOperation.

Generic for all projections.

Parameters:
kIgnored
void Projection::trimShape ( void  shape)
inline

Reimplemented by inheriting classes to trim the given unprojected shape to the projectable area.

Default implementation returns the original shape (no trimming).

Parameters:
shapeRShape Shape to trim (normalized).

Member Data Documentation

int Projection::copies

Reimplemented from Modify.

int Projection::flat
int Projection::referencePoint
int Projection::rotation
int Projection::segmentation
int Projection::segmentLength
int Projection::targetPoint

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