52 m_manager.SetTangentSeed( aStart, aDirection, aDirectionIsAxis );
ARC_DRAW_MODE
Construction sequence used when interactively drawing a circular arc.
void SetTangentSeed(const VECTOR2I &aStart, const VECTOR2D &aDirection, bool aDirectionIsAxis=false) override
Preload the start point and departure direction for ARC_DRAW_MODE::TANGENT.
bool OnProperties(EDA_SHAPE &aShape) override
Called when the user invokes the properties action mid-draw.
void ToggleClockwise() override
Flip arc direction (applies only when the shape has such a concept of directionality,...
ARC_DRAW_BEHAVIOR(const ARC_DRAW_BEHAVIOR &)=delete
ARC_DRAW_BEHAVIOR & operator=(const ARC_DRAW_BEHAVIOR &)=delete
void ApplyToShape(EDA_SHAPE &aShape) const override
Transfer the current geometry to an EDA_SHAPE.
MANAGED_DRAW_BEHAVIOR(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)
void SetArcDrawMode(ARC_DRAW_MODE aMode) override
Select the construction sequence (circular arcs only; no-op for others).
void SetAngleSnap(bool aSnap) override
Enable or disable angle snapping (circular arcs only; no-op for others).
virtual void SetEnd(const VECTOR2I &aEnd)
void SetCenter(const VECTOR2I &aCenter)
virtual void SetArcGeometry(const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd)
Set the three controlling points for an arc.
void SetArcAngleAndEnd(const EDA_ANGLE &aAngle, bool aCheckNegativeAngle=false)
Set the end point from the angle center and start.
virtual void SetStart(const VECTOR2I &aStart)
@ THIRD_POINT
Waiting to lock in the third point.
@ SECOND_POINT
Waiting to lock in the second point.
KIGFX::PREVIEW::ARC_GEOM_MANAGER m_manager
MANAGED_DRAW_BEHAVIOR(const EDA_IU_SCALE &aIuScale, EDA_UNITS aUnits)
static constexpr EDA_ANGLE ANGLE_0
static constexpr EDA_ANGLE ANGLE_90
VECTOR2I mid
The point on the arc halfway along the sweep.
VECTOR2< int32_t > VECTOR2I
VECTOR2< double > VECTOR2D