![]() |
Mapper
0.9.0
API documentation
|
Helper class to constrain cursor positions to specific lines / directions which originate from a given point. More...
#include <tool_helpers.h>


Signals | |
| void | activeAngleChanged () const |
| Emitted when the angle the cursor position is constrained to changes. More... | |
| void | displayChanged () const |
| Emitted whenever the display of this tool helper changes. More... | |
Public Member Functions | |
| ConstrainAngleToolHelper () | |
| Constructs a helper without allowed angles. More... | |
| ~ConstrainAngleToolHelper () override | |
| void | setCenter (const MapCoordF ¢er) |
| Sets the center of the lines. More... | |
| void | addAngle (qreal angle) |
| Adds a single allowed angle. More... | |
| void | addAngles (qreal base, qreal stepping) |
| Adds a circular set of allowed angles, starting from 'base' with interval 'stepping'. More... | |
| void | addAnglesDeg (qreal base, qreal stepping) |
| Like addAngles, but in degrees. More... | |
| void | addDefaultAnglesDeg (qreal base) |
| Adds the default angles given by the MapEditor_FixedAngleStepping setting. More... | |
| void | clearAngles () |
| Removes all allowed angles. More... | |
| double | getConstrainedCursorPos (const QPoint &in_pos, QPointF &out_pos, MapWidget *widget) |
| Get the cursor position, projected onto the closest of the allowed angles. More... | |
| double | getConstrainedCursorPosMap (const MapCoordF &in_pos, MapCoordF &out_pos) |
| Get the cursor position, projected onto the closest of the allowed angles. More... | |
| double | getConstrainedCursorPositions (const MapCoordF &in_pos_map, MapCoordF &out_pos_map, QPointF &out_pos, MapWidget *widget) |
| Combination of the above methods for convenience. More... | |
| void | setActive (bool active, const MapCoordF ¢er) |
| Activates or deactivates this tool. More... | |
| void | setActive (bool active) |
| Version of setActive() which does not override the center. More... | |
| bool | isActive () const |
| void | draw (QPainter *painter, MapWidget *widget) |
| Draws the set of allowed angles as lines radiating out from the center point. More... | |
| void | includeDirtyRect (QRectF &rect) |
| Includes this helper's drawing region in the given rect. More... | |
| int | getDisplayRadius () const |
| Returns the radius of the visualization in pixels. More... | |
| void | settingsChanged () |
Public Member Functions inherited from QObject | |
| virtual const QMetaObject * | metaObject () const const |
| QObject (QObject *parent) | |
| virtual | ~QObject () |
| virtual bool | event (QEvent *e) |
| virtual bool | eventFilter (QObject *watched, QEvent *event) |
| QString | objectName () const const |
| void | setObjectName (const QString &name) |
| bool | isWidgetType () const const |
| bool | isWindowType () const const |
| bool | signalsBlocked () const const |
| bool | blockSignals (bool block) |
| QThread * | thread () const const |
| void | moveToThread (QThread *targetThread) |
| int | startTimer (int interval, Qt::TimerType timerType) |
| int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType) |
| void | killTimer (int id) |
| T | findChild (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegExp ®Exp, Qt::FindChildOptions options) const const |
| QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
| const QObjectList & | children () const const |
| void | setParent (QObject *parent) |
| void | installEventFilter (QObject *filterObj) |
| void | removeEventFilter (QObject *obj) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
| bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
| bool | disconnect (const QObject *receiver, const char *method) const const |
| void | dumpObjectTree () |
| void | dumpObjectInfo () |
| void | dumpObjectTree () const const |
| void | dumpObjectInfo () const const |
| bool | setProperty (const char *name, const QVariant &value) |
| QVariant | property (const char *name) const const |
| QList< QByteArray > | dynamicPropertyNames () const const |
| void | destroyed (QObject *obj) |
| void | objectNameChanged (const QString &objectName) |
| QObject * | parent () const const |
| bool | inherits (const char *className) const const |
| void | deleteLater () |
| Q_DISABLE_COPY (Class) | |
| Q_DISABLE_MOVE (Class) | |
| Q_DISABLE_COPY_MOVE (Class) | |
| T | qobject_cast (QObject *object) |
| T | qobject_cast (const QObject *object) |
| T | qFindChild (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QString &name) |
| QList< T > | qFindChildren (const QObject *obj, const QRegExp ®Exp) |
| Q_CLASSINFO (Name, Value) | |
| Q_INTERFACES (...) | |
| Q_PROPERTY (...) | |
| Q_ENUMS (...) | |
| Q_FLAGS (...) | |
| Q_ENUM (...) | |
| Q_FLAG (...) | |
| Q_ENUM_NS (...) | |
| Q_FLAG_NS (...) | |
| Q_OBJECT Q_OBJECT | |
| Q_GADGET Q_GADGET | |
| Q_NAMESPACE Q_NAMESPACE | |
| Q_SIGNALS Q_SIGNALS | |
| Q_SIGNAL Q_SIGNAL | |
| Q_SLOTS Q_SLOTS | |
| Q_SLOT Q_SLOT | |
| Q_EMIT Q_EMIT | |
| Q_INVOKABLE Q_INVOKABLE | |
| Q_REVISION Q_REVISION | |
| Q_SET_OBJECT_NAME (Object) | |
| QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
Additional Inherited Members | |
Static Public Member Functions inherited from QObject | |
| QString | tr (const char *sourceText, const char *disambiguation, int n) |
| QString | trUtf8 (const char *sourceText, const char *disambiguation, int n) |
| QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
| QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
| bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
| bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
| bool | disconnect (const QMetaObject::Connection &connection) |
| bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
Public Attributes inherited from QObject | |
| typedef | QObjectList |
Protected Member Functions inherited from QObject | |
| QObject * | sender () const const |
| int | senderSignalIndex () const const |
| int | receivers (const char *signal) const const |
| bool | isSignalConnected (const QMetaMethod &signal) const const |
| virtual void | timerEvent (QTimerEvent *event) |
| virtual void | childEvent (QChildEvent *event) |
| virtual void | customEvent (QEvent *event) |
| virtual void | connectNotify (const QMetaMethod &signal) |
| virtual void | disconnectNotify (const QMetaMethod &signal) |
Properties inherited from QObject | |
| objectName | |
Helper class to constrain cursor positions to specific lines / directions which originate from a given point.
| OpenOrienteering::ConstrainAngleToolHelper::ConstrainAngleToolHelper | ( | ) |
Constructs a helper without allowed angles.
Use addAngle() and / or addAngles() to add allowed lines.
|
override |
|
signal |
Emitted when the angle the cursor position is constrained to changes.
| void OpenOrienteering::ConstrainAngleToolHelper::addAngle | ( | qreal | angle | ) |
Adds a single allowed angle.
Zero is to the right, the direction counter-clockwise in Qt's coordinate system.
| void OpenOrienteering::ConstrainAngleToolHelper::addAngles | ( | qreal | base, |
| qreal | stepping | ||
| ) |
Adds a circular set of allowed angles, starting from 'base' with interval 'stepping'.
Zero is to the right, the direction counter-clockwise in Qt's coordinate system.
| void OpenOrienteering::ConstrainAngleToolHelper::addAnglesDeg | ( | qreal | base, |
| qreal | stepping | ||
| ) |
Like addAngles, but in degrees.
Helps to avoid floating-point inaccuracies if using angle steppings like 15 degrees which could lead to two near-zero allowed angles otherwise.
| void OpenOrienteering::ConstrainAngleToolHelper::addDefaultAnglesDeg | ( | qreal | base | ) |
Adds the default angles given by the MapEditor_FixedAngleStepping setting.
Usage of this method has the advantage that the stepping is updated automatically when the setting is changed.
| void OpenOrienteering::ConstrainAngleToolHelper::clearAngles | ( | ) |
Removes all allowed angles.
|
signal |
Emitted whenever the display of this tool helper changes.
This is when the active angle changes or the tool is activated / deactivated.
Draws the set of allowed angles as lines radiating out from the center point.
The active angle, if any, is highlighted.
| double OpenOrienteering::ConstrainAngleToolHelper::getConstrainedCursorPos | ( | const QPoint & | in_pos, |
| QPointF & | out_pos, | ||
| MapWidget * | widget | ||
| ) |
Get the cursor position, projected onto the closest of the allowed angles.
Returns the chosen angle and marks it as active.
| double OpenOrienteering::ConstrainAngleToolHelper::getConstrainedCursorPositions | ( | const MapCoordF & | in_pos_map, |
| MapCoordF & | out_pos_map, | ||
| QPointF & | out_pos, | ||
| MapWidget * | widget | ||
| ) |
Combination of the above methods for convenience.
| double OpenOrienteering::ConstrainAngleToolHelper::getConstrainedCursorPosMap | ( | const MapCoordF & | in_pos, |
| MapCoordF & | out_pos | ||
| ) |
Get the cursor position, projected onto the closest of the allowed angles.
Returns the chosen angle and marks it as active.
|
inline |
Returns the radius of the visualization in pixels.
| void OpenOrienteering::ConstrainAngleToolHelper::includeDirtyRect | ( | QRectF & | rect | ) |
Includes this helper's drawing region in the given rect.
|
inline |
| void OpenOrienteering::ConstrainAngleToolHelper::setActive | ( | bool | active, |
| const MapCoordF & | center | ||
| ) |
Activates or deactivates this tool.
If deactivated, it does nothing. This is just for convenience to avoid if-clauses in places where this tool is used sometimes. If activated, the center is replaced with the new one.
TODO: This is ugly and should be two functions. Do not use in new code. Instead of setting the center when activating, the center should be always kept up-to-date independently of the activation which is more intuitive.
| void OpenOrienteering::ConstrainAngleToolHelper::setActive | ( | bool | active | ) |
Version of setActive() which does not override the center.
| void OpenOrienteering::ConstrainAngleToolHelper::setCenter | ( | const MapCoordF & | center | ) |
Sets the center of the lines.
| void OpenOrienteering::ConstrainAngleToolHelper::settingsChanged | ( | ) |
1.8.13