24#ifndef ARC_CHORD_PARAMS_H
25#define ARC_CHORD_PARAMS_H
Arc geometry computed from a chord-based coordinate system.
double GetRadius() const
Get the arc radius.
EDA_ANGLE GetEndAngle() const
Get the angle from arc center to the end point.
double GetChordLength() const
Get the chord length (distance from start to end).
double GetSagitta() const
Get the sagitta (perpendicular distance from chord midpoint to arc).
VECTOR2D GetNormalUnitVec() const
Get the unit vector perpendicular to the chord, pointing toward the arc center.
VECTOR2D GetChordMidpoint() const
Get the chord midpoint coordinates.
double m_ny
Unit vector perpendicular to chord, toward arc center.
bool Compute(const VECTOR2I &aStart, const VECTOR2I &aMid, const VECTOR2I &aEnd)
Compute arc geometry from three points defining the arc.
bool IsValid() const
Check if the parameters represent a valid arc.
double GetCenterOffset() const
Get the distance from chord midpoint to arc center along the normal.
double m_midy
Chord midpoint coordinates.
double m_uy
Unit vector along chord (from start to end)
double GetHalfChord() const
Get half the chord length.
VECTOR2D GetCenterPoint() const
Get the arc center point.
double GetArcAngle() const
Get the arc angle (total angle swept by the arc) in radians.
double m_centerOffset
Distance from chord midpoint to arc center along n.
VECTOR2D GetChordUnitVec() const
Get the unit vector along the chord (from start to end).
EDA_ANGLE GetStartAngle() const
Get the angle from arc center to the start point.
VECTOR2< int32_t > VECTOR2I
VECTOR2< double > VECTOR2D