CArc

class CArc extends EArclign

Circular arc. Has a rotation counter to allow rotation deltas greater than 360 degrees and less than - 360 degrees. The CArc is intended to function as closely as possible to the functioning of CArcTails in a curve path. Hence the decision to store the three points as fields rather using the AngleVec of the arc which would allow less data. This is to avoid calculation /rounding errors in the start and end points, which will be used by other CurveSegs in curve paths.

Companion
object
trait EArclign
trait EArc
trait CurveSeg
trait Drawable
trait GeomElem
class Object
trait Matchable
class Any

Value members

Concrete methods

def addRotations(delta: Int): CArc
override def axesPt1: Pt2

The end of elliptical axis 1. By default this is the right vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The end of elliptical axis 1. By default this is the right vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt1x: Double

The Y component of the end point of axis 1, treating this circular arc as an elliptical arc. Axis1 is specified as horizontal and point 1 is specified as the right of the circle this CArc is based on.

The Y component of the end point of axis 1, treating this circular arc as an elliptical arc. Axis1 is specified as horizontal and point 1 is specified as the right of the circle this CArc is based on.

Definition Classes
override def axesPt1y: Double

The Y component of the end point of axis 1, treating this circular arc as an elliptical arc. Axis1 is specified as horizontal and point 1 is specified as the right of the circle this CArc is based on.

The Y component of the end point of axis 1, treating this circular arc as an elliptical arc. Axis1 is specified as horizontal and point 1 is specified as the right of the circle this CArc is based on.

Definition Classes
override def axesPt2: Pt2

The start of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The start of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt2x: Double

The X component of the start point of axis 2. By default this is at the bottom of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis..

The X component of the start point of axis 2. By default this is at the bottom of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis..

Definition Classes
override def axesPt2y: Double

The y component of the start point of axis 2. By default this is at the bottom of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

The y component of the start point of axis 2. By default this is at the bottom of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

Definition Classes
override def axesPt3: Pt2

The start of elliptical axis 1. By default this is the left vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The start of elliptical axis 1. By default this is the left vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt3x: Double

The X component of the start point of elliptical axis 1. By default this is the left vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The X component of the start point of elliptical axis 1. By default this is the left vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt3y: Double
Definition Classes
override def axesPt4: Pt2

The end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt4x: Double

The X component of the end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The X component of the end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def axesPt4y: Double

The Y component of the end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

The Y component of the end of elliptical axis 2. By default this is the bottom vertex of the Ellipse, so this point on the circle is given although there is no actual vertex there on this circle, which is a special case of an ellipse.

Definition Classes
override def cen: Pt2

The centre of this circular arc.

The centre of this circular arc.

Definition Classes
override def cenP1: Vec2
Definition Classes
override def cenP2: Vec2
Definition Classes
override def cenP3: Vec2
Definition Classes
override def cenP4: Vec2
Definition Classes

The chord of this Arc

The chord of this Arc

The mid point of the chord of this arc.

The mid point of the chord of this arc.

override def draw(lineColour: Colour, lineWidth: Double): CArcDraw

Draws this geometric element to produce a CArcDraw graphical element, that can be displayed or printed.

Draws this geometric element to produce a CArcDraw graphical element, that can be displayed or printed.

Definition Classes
override def negX: CArc

Mirror, reflection 2D geometric transformation across the Y axis by negating Xon this CArc returns a CArc.

Mirror, reflection 2D geometric transformation across the Y axis by negating Xon this CArc returns a CArc.

Definition Classes
override def negY: CArc

Mirror, reflection 2D geometric transformation across the X axis by negating y on this CArc returns a CArc.

Mirror, reflection 2D geometric transformation across the X axis by negating y on this CArc returns a CArc.

Definition Classes
override def prolign(matrix: ProlignMatrix): CArc

2D Transformation using a ProlignMatrix.

2D Transformation using a ProlignMatrix.

Definition Classes
def radius: Double

Radius of the this circular arc.

Radius of the this circular arc.

override def radius1: Double
Definition Classes
override def radius2: Double
Definition Classes
override def reflect(lineLike: LineLike): CArc

Reflect 2D geometric transformation across a line, line segment or ray on a CArc returns a CArc.

Reflect 2D geometric transformation across a line, line segment or ray on a CArc returns a CArc.

Definition Classes
override def rotate(angle: AngleVec): CArc

Rotation 2D geometric transformation on a CArc returns a CArc.

Rotation 2D geometric transformation on a CArc returns a CArc.

Definition Classes
override def rotate180: CArc

Rotation of 180 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Rotation of 180 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Definition Classes
override def rotate270: CArc

Rotation positive or anti clockwise 270 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Rotation positive or anti clockwise 270 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Definition Classes
override def rotate90: CArc

Rotation of 90 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Rotation of 90 degrees, 2D geometric transformation on a GeomElem. The return type will be narrowed in sub classes and traits.

Definition Classes
override def scale(operand: Double): CArc

Uniform 2D geometric scaling transformation. The scale name was chosen for this operation as it is normally the desired operation and preserves Circles and Squares. Use the xyScale method for differential scaling. The Return type will be narrowed in sub traits / classes.

Uniform 2D geometric scaling transformation. The scale name was chosen for this operation as it is normally the desired operation and preserves Circles and Squares. Use the xyScale method for differential scaling. The Return type will be narrowed in sub traits / classes.

Definition Classes
override def slateXY(xDelta: Double, yDelta: Double): CArc

Translate 2D geometric transformation on this CArc returns a CArc.

Translate 2D geometric transformation on this CArc returns a CArc.

Definition Classes
override def xRadius: Double
Definition Classes
override def yRadius: Double
Definition Classes

Inherited methods

Inherited from
EArc
Inherited from
EArc
Inherited from
EArc
def cenEnd: Vec2

The vector [Vec2] from the centre of the arc to the end point of the arc.

The vector [Vec2] from the centre of the arc to the end point of the arc.

Inherited from
EArc

The vector [Vec2] from the centre of the arc to the start point of the arc.

The vector [Vec2] from the centre of the arc to the start point of the arc.

Inherited from
EArc
final def diameter1: Double

Diameter 1 of the ellipse. By default this is the horizontal axis of the ellipse.This can be the major or minor axis.

Diameter 1 of the ellipse. By default this is the horizontal axis of the ellipse.This can be the major or minor axis.

Inherited from
EllipseBased
final def diameter2: Double

Diameter 2 of this ellipse. By default this is the vertical axis of the ellipse. This can be the major or minor axis.

Diameter 2 of this ellipse. By default this is the vertical axis of the ellipse. This can be the major or minor axis.

Inherited from
EllipseBased

The angle of the end point of the arc, relative to its centre.

The angle of the end point of the arc, relative to its centre.

Inherited from
EArc

The angle of the end point of the arc, relative to its centre.

The angle of the end point of the arc, relative to its centre.

Inherited from
EArc
def endDegs: Double

The value of the angle of the end point of the arc, relative to its centre in degrees.

The value of the angle of the end point of the arc, relative to its centre in degrees.

Inherited from
EArc

The line segment [LineSeg] from the centre of the arc to the end point of the arc.

The line segment [LineSeg] from the centre of the arc to the end point of the arc.

Inherited from
EArc

The line segment [LineSeg] from the centre of the arc to the start point of the arc.

The line segment [LineSeg] from the centre of the arc to the start point of the arc.

Inherited from
EArc
final def pEnd: Pt2

The end point Pt2 of this curve segment. Often called p2 on a line or p4 on a cubic bezier in other APIs.

The end point Pt2 of this curve segment. Often called p2 on a line or p4 on a cubic bezier in other APIs.

Inherited from
CurveSeg
final def pStart: Pt2

Start point of this curve segment, often called p1

Start point of this curve segment, often called p1

Inherited from
CurveSeg
override def scaleXY(xOperand: Double, yOperand: Double): EArc

XY scaling 2D geometric transformation on this EArc returns an EArc.This allows different scaling factors across X and Y dimensions.

XY scaling 2D geometric transformation on this EArc returns an EArc.This allows different scaling factors across X and Y dimensions.

Definition Classes
Inherited from
EArc
override def shearX(operand: Double): EArc

Shear 2D geometric transformation along the X Axis on this EArc returns an EArc.

Shear 2D geometric transformation along the X Axis on this EArc returns an EArc.

Definition Classes
Inherited from
EArc
override def shearY(operand: Double): EArc

Shear 2D geometric transformation along the Y Axis on this EArc, returns an EArc.

Shear 2D geometric transformation along the Y Axis on this EArc, returns an EArc.

Definition Classes
Inherited from
EArc

The angle of the start point of the arc, relative to its centre.

The angle of the start point of the arc, relative to its centre.

Inherited from
EArc

The angle of the start point of the arc, relative to its centre for graphical systems where the Y axis points down.

The angle of the start point of the arc, relative to its centre for graphical systems where the Y axis points down.

Inherited from
EArc
def startDegs: Double

The value of the angle of the start point of the arc, relative to its centre in degrees.

The value of the angle of the start point of the arc, relative to its centre in degrees.

Inherited from
EArc
def startDegsYDown: Double

The value of the angle of the start point of the arc, relative to its centre in degrees.

The value of the angle of the start point of the arc, relative to its centre in degrees.

Inherited from
EArc

Concrete fields

val cenX: Double
val cenY: Double
val counter: Int
val endX: Double
val endY: Double
val startX: Double
val startY: Double