20#ifndef PREVIEW_ITEMS_ELLIPSE_GEOMETRY_MANAGER_H
21#define PREVIEW_ITEMS_ELLIPSE_GEOMETRY_MANAGER_H
Plain ellipse / elliptical-arc data.
ELLIPSE< int > GetEllipse() const
Get the ellipse defined by the current geometry (valid after SET_BBOX_C2).
ELLIPSE_STEPS GetStep() const
EDA_ANGLE GetEndAngle() const
Get the first bbox corner (valid after SET_BBOX_C1).
bool setBboxCorner1(const VECTOR2I &aPt)
bool setBboxCorner2(const VECTOR2I &aPt)
bool setEndAngle(const VECTOR2I &aPt)
VECTOR2I GetBboxCorner2() const
bool acceptPoint(const VECTOR2I &aPt) override
< Function that accepts a point for a stage, or rejects it to return to the previous stage
bool setStartAngle(const VECTOR2I &aPt)
EDA_ANGLE GetStartAngle() const
Get the end angle (valid after SET_END_ANGLE). Always > startAngle.
int getMaxStep() const override
The highest step this manager has - used to recognize completion and to clamp the step as it advances...
VECTOR2I GetBboxCorner1() const
Get the second bbox corner (valid after SET_BBOX_C2).
@ SET_START_ANGLE
Waiting to lock in the start angle.
@ SET_BBOX_C1
Waiting to lock in first bbox corner.
@ SET_END_ANGLE
Waiting to lock in the end angle.
@ SET_BBOX_C2
Waiting to lock in second bbox corner.
A geometry manager that works by accepting a sequence of points and advancing though stages of geomet...
static constexpr EDA_ANGLE ANGLE_0
static constexpr EDA_ANGLE ANGLE_360
The Cairo implementation of the graphics abstraction layer.
VECTOR2< int32_t > VECTOR2I