Aquila
2.0 prealpha
Cognitive Robotics Architecture
|
A curved line from one point to another. More...
#include <plot2d.h>
Public Member Functions | |
QCPItemCurve (QCustomPlot *parentPlot) | |
virtual | ~QCPItemCurve () |
QPen | pen () const |
QPen | selectedPen () const |
QCPLineEnding | head () const |
QCPLineEnding | tail () const |
void | setPen (const QPen &pen) |
void | setSelectedPen (const QPen &pen) |
void | setHead (const QCPLineEnding &head) |
void | setTail (const QCPLineEnding &tail) |
virtual double | selectTest (const QPointF &pos) const |
Public Member Functions inherited from QCPAbstractItem | |
QCPAbstractItem (QCustomPlot *parentPlot) | |
virtual | ~QCPAbstractItem () |
bool | clipToAxisRect () const |
QCPAxis * | clipKeyAxis () const |
QCPAxis * | clipValueAxis () const |
bool | selectable () const |
bool | selected () const |
void | setClipToAxisRect (bool clip) |
void | setClipAxes (QCPAxis *keyAxis, QCPAxis *valueAxis) |
void | setClipKeyAxis (QCPAxis *axis) |
void | setClipValueAxis (QCPAxis *axis) |
void | setSelectable (bool selectable) |
void | setSelected (bool selected) |
QList< QCPItemPosition * > | positions () const |
QList< QCPItemAnchor * > | anchors () const |
QCPItemPosition * | position (const QString &name) const |
QCPItemAnchor * | anchor (const QString &name) const |
bool | hasAnchor (const QString &name) const |
Public Member Functions inherited from QCPLayerable | |
QCPLayerable (QCustomPlot *parentPlot) | |
~QCPLayerable () | |
bool | visible () const |
QCustomPlot * | parentPlot () const |
QCPLayer * | layer () const |
bool | antialiased () const |
void | setVisible (bool on) |
bool | setLayer (QCPLayer *layer) |
bool | setLayer (const QString &layerName) |
void | setAntialiased (bool enabled) |
Public Attributes | |
QCPItemPosition *const | start |
QCPItemPosition *const | startDir |
QCPItemPosition *const | endDir |
QCPItemPosition *const | end |
Protected Member Functions | |
virtual void | draw (QCPPainter *painter) |
QPen | mainPen () const |
Protected Member Functions inherited from QCPAbstractItem | |
virtual QRect | clipRect () const |
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const |
double | distSqrToLine (const QPointF &start, const QPointF &end, const QPointF &point) const |
double | rectSelectTest (const QRectF &rect, const QPointF &pos, bool filledRect) const |
virtual QPointF | anchorPixelPoint (int anchorId) const |
QCPItemPosition * | createPosition (const QString &name) |
QCPItemAnchor * | createAnchor (const QString &name, int anchorId) |
Protected Member Functions inherited from QCPLayerable | |
bool | moveToLayer (QCPLayer *layer, bool prepend) |
void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const |
Protected Attributes | |
QPen | mPen |
QPen | mSelectedPen |
QCPLineEnding | mHead |
QCPLineEnding | mTail |
Protected Attributes inherited from QCPAbstractItem | |
bool | mClipToAxisRect |
QCPAxis * | mClipKeyAxis |
QCPAxis * | mClipValueAxis |
bool | mSelectable |
bool | mSelected |
QList< QCPItemPosition * > | mPositions |
QList< QCPItemAnchor * > | mAnchors |
Protected Attributes inherited from QCPLayerable | |
bool | mVisible |
QCustomPlot * | mParentPlot |
QCPLayer * | mLayer |
bool | mAntialiased |
Additional Inherited Members | |
Signals inherited from QCPAbstractItem | |
void | selectionChanged (bool selected) |
A curved line from one point to another.
It has four positions, start and end, which define the end points of the line, and two control points which define the direction the line exits from the start and the direction from which it approaches the end: startDir and endDir.
With setHead and setTail you may set different line ending styles, e.g. to create an arrow.
Often it is desirable for the control points to stay at fixed relative positions to the start/end point. This can be achieved by setting the parent anchor e.g. of startDir simply to start, and then specify the desired pixel offset with QCPItemPosition::setCoords on startDir.
QCPItemCurve::QCPItemCurve | ( | QCustomPlot * | parentPlot | ) |
Creates a curve item and sets default values.
The constructed item can be added to the plot with QCustomPlot::addItem.
|
virtual |
|
protectedvirtual |
Implements QCPAbstractItem.
|
inline |
|
protected |
|
inline |
|
inline |
|
virtual |
This function is used to decide whether a click hits an item or not.
pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the shortest pixel distance of this point to the item. If the item is either invisible or the distance couldn't be determined, -1.0 is returned. setSelectable has no influence on the return value of this function.
If the item is represented not by single lines but by an area like QCPItemRect or QCPItemText, a click inside the area returns a constant value greater zero (typically 99% of the selectionTolerance of the parent QCustomPlot). If the click lies outside the area, this function returns -1.0.
Providing a constant value for area objects allows selecting line objects even when they are obscured by such area objects, by clicking close to the lines (i.e. closer than 0.99*selectionTolerance).
The actual setting of the selection state is not done by this function. This is handled by the parent QCustomPlot when the mouseReleaseEvent occurs.
Implements QCPAbstractItem.
void QCPItemCurve::setHead | ( | const QCPLineEnding & | head | ) |
Sets the line ending style of the head. The head corresponds to the end position.
Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.
void QCPItemCurve::setPen | ( | const QPen & | pen | ) |
Sets the pen that will be used to draw the line
void QCPItemCurve::setSelectedPen | ( | const QPen & | pen | ) |
Sets the pen that will be used to draw the line when selected
void QCPItemCurve::setTail | ( | const QCPLineEnding & | tail | ) |
Sets the line ending style of the tail. The tail corresponds to the start position.
Note that due to the overloaded QCPLineEnding constructor, you may directly specify a QCPLineEnding::EndingStyle here, e.g.
|
inline |
QCPItemPosition* const QCPItemCurve::end |
QCPItemPosition* const QCPItemCurve::endDir |
|
protected |
|
protected |
|
protected |
|
protected |
QCPItemPosition* const QCPItemCurve::start |
QCPItemPosition* const QCPItemCurve::startDir |