52 QPointF top_right_point,
53 QPointF bottom_right_point,
54 QPointF bottom_left_point);
61 void setPoint(
PointSpec point_spec,
double x,
double y);
62 void setPoint(
PointSpec point_spec, QPointF point);
65 void set1D(
double x_range_start,
double x_range_end);
66 void set2D(QPointF top_left,
72 const std::vector<QPointF> &getPoints()
const;
74 QPointF getLeftMostPoint()
const;
75 QPointF getRightMostPoint()
const;
76 QPointF getTopMostPoint()
const;
77 QPointF getBottomMostPoint()
const;
79 QPointF getPoint(
PointSpec point_spec)
const;
81 bool computeMinMaxCoordinates();
82 bool computeMinMaxCoordinates(
double &min_x,
87 double width(
bool &ok)
const;
88 double height(
bool &ok)
const;
90 bool rangeX(
double &range_start,
double &range_end)
const;
91 bool rangeY(
double &range_start,
double &range_end)
const;
92 bool range(
Axis axis,
double &range_start,
double &range_end)
const;
96 bool contains(
const QPointF &tested_point)
const;
105 bool isRectangle()
const;
107 QString toShort4PointsString()
const;
108 QString toString()
const;
112 const QPointF &tested_point);
122 std::vector<QPointF> m_points = {QPointF(std::numeric_limits<double>::min(),
123 std::numeric_limits<double>::max()),
124 QPointF(std::numeric_limits<double>::max(),
125 std::numeric_limits<double>::max()),
126 QPointF(std::numeric_limits<double>::max(),
127 std::numeric_limits<double>::min()),
128 QPointF(std::numeric_limits<double>::min(),
129 std::numeric_limits<double>::min())};
131 double m_minX = std::numeric_limits<double>::min();
132 double m_minY = std::numeric_limits<double>::min();
134 double m_maxX = std::numeric_limits<double>::max();
135 double m_maxY = std::numeric_limits<double>::max();