20#ifndef jkqtpgeolines_H_INCLUDED
21#define jkqtpgeolines_H_INCLUDED
27#include "jkqtplotter/graphs/jkqtpgeobase.h"
28#include "jkqtplotter/jkqtpgraphsbasestylingmixins.h"
29#include "jkqtplotter/jkqtptools.h"
30#include "jkqtplotter/jkqtplotter_imexport.h"
31#include "jkqtmathtext/jkqtmathtext.h"
124 virtual bool getXMinMax(
double& minx,
double& maxx,
double& smallestGreaterZero)
override;
126 virtual bool getYMinMax(
double& miny,
double& maxy,
double& smallestGreaterZero)
override;
303 virtual bool getXMinMax(
double& minx,
double& maxx,
double& smallestGreaterZero)
override;
305 virtual bool getYMinMax(
double& miny,
double& maxy,
double& smallestGreaterZero)
override;
406 virtual bool getXMinMax(
double& minx,
double& maxx,
double& smallestGreaterZero)
override;
408 virtual bool getYMinMax(
double& miny,
double& maxy,
double& smallestGreaterZero)
override;
537 virtual bool getXMinMax(
double& minx,
double& maxx,
double& smallestGreaterZero)
override;
539 virtual bool getYMinMax(
double& miny,
double& maxy,
double& smallestGreaterZero)
override;
565 void setLine(
const QPointF& start,
const QPointF& end);
567 void setQuad(
const QPointF& start,
const QPointF& control1,
const QPointF& end);
569 void setCubic(
const QPointF& start,
const QPointF& control1,
const QPointF& control2,
const QPointF& end);
571 void setQuartic(
const QPointF& start,
const QPointF& control1,
const QPointF& control2,
const QPointF& control3,
const QPointF& end);
629 virtual bool getXMinMax(
double& minx,
double& maxx,
double& smallestGreaterZero)
override;
631 virtual bool getYMinMax(
double& miny,
double& maxy,
double& smallestGreaterZero)
override;
base class for 2D plotter classes (used by the plotter widget JKQTPlotter)
Definition jkqtpbaseplotter.h:394
this class extends the QPainter
Definition jkqtpenhancedpainter.h:33
This JKQTPGeometricPlotElement is used to draw an arc.
Definition jkqtpgeolines.h:600
double height
height of a center of the rectangle
Definition jkqtpgeolines.h:687
QPolygonF getPolygon()
returns a QPolygonF which represents the rectangle after rotation, but still in the world coordinate ...
JKQTPGeoArc(JKQTPlotter *parent, double x, double y, double width, double height, double angleStart, double angleStop)
class constructor
double angle
rotation angle of rectangle [degrees] around (x,y)
Definition jkqtpgeolines.h:689
JKQTPGeoArc(JKQTBasePlotter *parent, double x, double y, double width, double height, double angleStart, double angleStop)
class constructor
void setWidth(double __value)
width of a center of the rectangle
double getWidth() const
width of a center of the rectangle
void setSize(const QSizeF &size)
sets the size (width and height) of the arc
QSizeF getSize() const
returns the size (width and height) of the arc
double getAngleStop() const
if we only draw an arc, this is the ending angle in degrees
virtual bool getYMinMax(double &miny, double &maxy, double &smallestGreaterZero) override
get the maximum and minimum y-value of the graph
virtual bool getXMinMax(double &minx, double &maxx, double &smallestGreaterZero) override
get the maximum and minimum x-value of the graph
void setX(double __value)
x-coordinate of a center of the rectangle
double x
x-coordinate of a center of the rectangle
Definition jkqtpgeolines.h:681
double width
width of a center of the rectangle
Definition jkqtpgeolines.h:685
double angleStop
if we only draw an arc, this is the ending angle in degrees
Definition jkqtpgeolines.h:693
void setAngle(double __value)
rotation angle of rectangle [degrees] around (x,y)
double getX() const
x-coordinate of a center of the rectangle
QPointF getCenter() const
returns the center point of the arc
void setAngleStart(double __value)
if we only draw an arc, this is the starting angle in degrees
double y
y-coordinate of a center of the rectangle
Definition jkqtpgeolines.h:683
double angleStart
if we only draw an arc, this is the starting angle in degrees
Definition jkqtpgeolines.h:691
void setAngleStop(double __value)
if we only draw an arc, this is the ending angle in degrees
double getY() const
y-coordinate of a center of the rectangle
QTransform getTransform()
closing mode for arcs: secand or pie
double getAngle() const
rotation angle of rectangle [degrees] around (x,y)
double getHeight() const
height of a center of the rectangle
double getAngleStart() const
if we only draw an arc, this is the starting angle in degrees
void setY(double __value)
y-coordinate of a center of the rectangle
virtual void draw(JKQTPEnhancedPainter &painter) override
plots the graph to the plotter object specified as parent
void setCenter(const QPointF ¢er)
sets the center point of the arc
void setHeight(double __value)
height of a center of the rectangle
This convenience specialisation of JKQTPGeoLine is used to draw a line with decorations (e....
Definition jkqtpgeolines.h:190
JKQTPGeoArrow(JKQTPlotter *parent, double x1, double y1, double x2, double y2, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
JKQTPGeoArrow(JKQTBasePlotter *parent, double x1, double y1, double x2, double y2, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
JKQTPGeoArrow(JKQTPlotter *parent, const QPointF &p1, const QPointF &p2, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
JKQTPGeoArrow(JKQTBasePlotter *parent, const QPointF &p1, const QPointF &p2, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
JKQTPGeoArrow(JKQTBasePlotter *parent, const QLineF &line, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
JKQTPGeoArrow(JKQTPlotter *parent, const QLineF &line, JKQTPLineDecoratorStyle headStyle=JKQTPDefaultLineDecorator, JKQTPLineDecoratorStyle tailStyle=JKQTPNoDecorator)
class constructor
This JKQTPGeometricPlotElement is used as base class for geometric drawing elements that consist of l...
Definition jkqtpgeobase.h:81
This JKQTPGeometricPlotElement is used as base class for geometric drawing elements that consist of l...
Definition jkqtpgeobase.h:130
This JKQTPGeometricPlotElement is used as base class for geometric drawing elements that only consist...
Definition jkqtpgeobase.h:39
This JKQTPGeometricPlotElement is used to draw a bezier curve.
Definition jkqtpgeolines.h:486
QPointF getStart() const
get the start point of the curve
QVector< QPointF > getPoints() const
list with all control points of the bezier curve
void setQuad(const QPointF &start, const QPointF &control1, const QPointF &end)
set a quadratic bezier curve (3 control points)
QVector< QPointF > points
list with all control points of the bezier curve
Definition jkqtpgeolines.h:582
JKQTPGeoBezierCurve(JKQTBasePlotter *parent, const QPointF &start, const QPointF &control1, const QPointF &end)
class constructor with start, end and one control point (i.e. a quadratic bezier curve)
void setPoints(const QVector< QPointF > &__value)
list with all control points of the bezier curve
QPointF getControl1() const
get the control point 1 of the curve
void setCubic(const QPointF &start, const QPointF &control1, const QPointF &control2, const QPointF &end)
set a cubic bezier curve (4 control points)
JKQTPGeoBezierCurve(JKQTPlotter *parent)
class constructor
JKQTPGeoBezierCurve(JKQTBasePlotter *parent)
class constructor
virtual bool getXMinMax(double &minx, double &maxx, double &smallestGreaterZero) override
get the maximum and minimum x-value of the graph
QPointF getEnd() const
get the end point of the curve
JKQTPGeoBezierCurve(JKQTBasePlotter *parent, const QPointF &start, const QPointF &control1, const QPointF &control2, const QPointF &end)
class constructor with start, end and two control points (i.e. a cubic bezier curve)
JKQTPGeoBezierCurve(JKQTPlotter *parent, const QPointF &start, const QPointF &control1, const QPointF &end)
class constructor with start, end and one control point (i.e. a quadratic bezier curve)
virtual void draw(JKQTPEnhancedPainter &painter) override
plots the graph to the plotter object specified as parent
JKQTPGeoBezierCurve(JKQTPlotter *parent, const QPointF &start, const QPointF &control1, const QPointF &control2, const QPointF &end)
class constructor with start, end and two control points (i.e. a cubic bezier curve)
QPointF getControl2() const
get the control point 2 of the curve
virtual bool getYMinMax(double &miny, double &maxy, double &smallestGreaterZero) override
get the maximum and minimum y-value of the graph
void setQuartic(const QPointF &start, const QPointF &control1, const QPointF &control2, const QPointF &control3, const QPointF &end)
set a cubic bezier curve (5 control points)
int getDegree() const
get the degree of the curve (number of points -1)
void setLine(const QPointF &start, const QPointF &end)
set a linear bezier curve (2 control points)
int getNumberOfCOntrolPoints() const
get the number of control points (including start and end)
This JKQTPGeometricPlotElement is used to draw an infinite line.
Definition jkqtpgeolines.h:279
virtual bool getXMinMax(double &minx, double &maxx, double &smallestGreaterZero) override
get the maximum and minimum x-value of the graph
double getX() const
x-coordinate of a point on the line
void setDx(double __value)
x-component of the slope of the line
double getDy() const
y-component of the slope of the line
JKQTPGeoInfiniteLine(JKQTPlotter *parent, double x, double y, double dx, double dy)
class constructor
void setDy(double __value)
y-component of the slope of the line
void setTwoSided(bool __value)
indicates whether the line ends at the given point (false, default), or is infinite in both directio...
double y
y-coordinate of a point on the line
Definition jkqtpgeolines.h:343
double dy
y-component of the slope of the line
Definition jkqtpgeolines.h:347
bool two_sided
indicates whether the line ends at the given point (false, default), or is infinite in both directio...
Definition jkqtpgeolines.h:350
void setP(const QPointF &p)
set point (x,y) on the line as QPointF
virtual bool getYMinMax(double &miny, double &maxy, double &smallestGreaterZero) override
get the maximum and minimum y-value of the graph
QPointF getP() const
return point (x,y) on the line as QPointF
virtual void draw(JKQTPEnhancedPainter &painter) override
plots the graph to the plotter object specified as parent
void setY(double __value)
y-coordinate of a point on the line
bool getTwoSided() const
indicates whether the line ends at the given point (false, default), or is infinite in both directio...
double dx
x-component of the slope of the line
Definition jkqtpgeolines.h:345
JKQTPGeoInfiniteLine(JKQTBasePlotter *parent, double x, double y, double dx, double dy)
class constructor
double getY() const
y-coordinate of a point on the line
double getDx() const
x-component of the slope of the line
double x
x-coordinate of a point on the line
Definition jkqtpgeolines.h:341
void setX(double __value)
x-coordinate of a point on the line
This JKQTPGeometricPlotElement is used to draw a line, optionally line-end decorations (aka arrows) a...
Definition jkqtpgeolines.h:62
QLineF getLine() const
return the line as a QLineF object
double y1
y-coordinate of first point of line
Definition jkqtpgeolines.h:169
double getX2() const
x-coordinate of second point of line
void setX1(double __value)
x-coordinate of first point of line
JKQTPGeoLine(JKQTPlotter *parent, const QLineF &line)
class constructor
double x2
x-coordinate of second point of line
Definition jkqtpgeolines.h:171
virtual bool getYMinMax(double &miny, double &maxy, double &smallestGreaterZero) override
get the maximum and minimum y-value of the graph
JKQTPGeoLine(JKQTBasePlotter *parent, const QPointF &p1, const QPointF &p2)
class constructor
double y2
y-coordinate of second point of line
Definition jkqtpgeolines.h:173
virtual bool getXMinMax(double &minx, double &maxx, double &smallestGreaterZero) override
get the maximum and minimum x-value of the graph
JKQTPGeoLine(JKQTPlotter *parent, double x1, double y1, double x2, double y2)
class constructor
void setY1(double __value)
y-coordinate of first point of line
double getY1() const
y-coordinate of first point of line
QPointF getP2() const
return line-end/head (x2,y2) as QPointF
void setLine(const QLineF &line)
define the line as a QLineF object
double getX1() const
x-coordinate of first point of line
void setY2(double __value)
y-coordinate of second point of line
JKQTPGeoLine(JKQTPlotter *parent, const QPointF &p1, const QPointF &p2)
class constructor
void setX2(double __value)
x-coordinate of second point of line
QPointF getP1() const
return line-start/tail (x1,y1) as QPointF
JKQTPGeoLine(JKQTBasePlotter *parent, const QLineF &line)
class constructor
virtual void draw(JKQTPEnhancedPainter &painter) override
plots the graph to the plotter object specified as parent
double x1
x-coordinate of first point of line
Definition jkqtpgeolines.h:167
JKQTPGeoLine(JKQTBasePlotter *parent, double x1, double y1, double x2, double y2)
class constructor
void setP1(const QPointF &p)
set line-start/tail (x1,y1) as QPointF
void setP2(const QPointF &p)
set line-end/head (x2,y2) as QPointF
double getY2() const
y-coordinate of second point of line
This JKQTPGeometricPlotElement is used to draw a poly line.
Definition jkqtpgeolines.h:378
JKQTPGeoPolyLines(JKQTPlotter *parent, const QVector< QPointF > &points)
class constructor
void removePoint(int i)
deletes the i-the point
virtual void draw(JKQTPEnhancedPainter &painter) override
plots the graph to the plotter object specified as parent
const QPointF & getPoint(int i) const
returns the i-th of point
QVector< QPointF >::iterator pointsBegin()
returns an iterator to the first point
QVector< QPointF >::iterator pointsEnd()
returns an iterator after the last point
QPointF & getPoint(int i)
returns the i-th of point
JKQTPGeoPolyLines(JKQTBasePlotter *parent, const QVector< QPointF > &points)
class constructor
QVector< QPointF >::const_iterator pointsCEnd() const
returns a constant iterator after the last point
void appendPoint(const QPointF &p)
append a point to the polygon
void appendPoint(const double x, const double y)
append a point to the polygon
JKQTPGeoPolyLines(JKQTPlotter *parent)
class constructor
void setPoints(const QVector< QPointF > &__value)
list with all points on the poly-line
QVector< QPointF >::const_iterator pointsCBegin() const
returns a constant iterator to the first point
QVector< QPointF > points
list with all points on the poly-line
Definition jkqtpgeolines.h:451
QVector< QPointF > getPoints() const
list with all points on the poly-line
virtual bool getXMinMax(double &minx, double &maxx, double &smallestGreaterZero) override
get the maximum and minimum x-value of the graph
virtual bool getYMinMax(double &miny, double &maxy, double &smallestGreaterZero) override
get the maximum and minimum y-value of the graph
void setPoint(int i, const QPointF &point)
overwrites the i-th point
int getPointCount() const
returns the number of points
JKQTPGeoPolyLines(JKQTBasePlotter *parent)
class constructor
plotter widget for scientific plots (uses JKQTBasePlotter to do the actual drawing)
Definition jkqtplotter.h:364
#define JKQTPLOTTER_LIB_EXPORT
Definition jkqtplotter_imexport.h:89