EllipseBased

trait EllipseBased extends GeomElem with WithCentre

Common trait for Ellipse and EArc. The main purpose of this trait is not to share code, but to establish naming conventions for elliptical properties.

trait GeomElem
class Object
trait Matchable
class Any
trait EArc
class EArcImp
trait EArclign
class CArc
trait Ellipse
class Circle

Value members

Abstract methods

The end point of axis 1. By default this is on the right 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 end point of axis 1. By default this is on the right of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt1x: Double

The X component of the end point of axis 1. By default this is on the right 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 end point of axis 1. By default this is on the right of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt1y: Double

The Y component of the end point of axis 1. By default this is on the right 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 end point of axis 1. By default this is on the right 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 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 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.

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.

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.

The start point of axis 1. By default this is on the left 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 start point of axis 1. By default this is on the left of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt3x: Double

The X component of the start point of axis 1. By default this is on the left 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 1. By default this is on the left of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt3y: Double

The Y component of the start point of axis 1. By default this is on the left 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 1. By default this is on the left 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 end point of axis 2. By default this is at the top 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 end point of axis 2. By default this is at the top of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt4x: Double

The X component of the end point of axis 2. By default this is at the top 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 end point of axis 2. By default this is at the top of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def axesPt4y: Double

The Y component of the end point of axis 2. By default this is at the top 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 end point of axis 2. By default this is at the top of the Ellipse. Mathematically this can be referred to as a vertex for the major axis or a co-vertex for the minor axis.

def cenP1: Vec2

The 2D vector Vec2 from the centre point to pAxes1, the end point of axis 1, by default on the right of the Ellipse this arc is based on.

The 2D vector Vec2 from the centre point to pAxes1, the end point of axis 1, by default on the right of the Ellipse this arc is based on.

def cenP2: Vec2

The 2D vector Vec2 from the centre point to pAxes2, the start point of axis 2, by default at the bottom of the Ellipse this arc is based on.

The 2D vector Vec2 from the centre point to pAxes2, the start point of axis 2, by default at the bottom of the Ellipse this arc is based on.

def cenP3: Vec2

The 2D vector Vec2 from the centre point to pAxes3, the start point of axis 1 , by default on the left of the Ellipse this arc is based on.

The 2D vector Vec2 from the centre point to pAxes3, the start point of axis 1 , by default on the left of the Ellipse this arc is based on.

def cenP4: Vec2

The 2D vector Vec2 from the centre point to pAxes4, the end point of axis 2, by default at the top of the Ellipse this arc is based on.

The 2D vector Vec2 from the centre point to pAxes4, the end point of axis 2, by default at the top of the Ellipse this arc is based on.

def radius1: Double

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

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

def radius2: Double

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

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

Concrete methods

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.

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 methods

def cen: Pt2

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

The centre of this geometric / graphical element. The centre will not change if the object type is capable of being rotated and is rotated. The cenDefault on other bounded elements may move relative to points on the object when the object is rotated.

Inherited from
WithCentre
def cenX: Double

The X component of the centre.

The X component of the centre.

Inherited from
WithCentre
def cenY: Double

The Y component of the centre.

The Y component of the centre.

Inherited from
WithCentre

Mirror, reflection 2D geometric transformation across the Y axis by negating X. The return type will be narrowed in sub traits / classes.

Mirror, reflection 2D geometric transformation across the Y axis by negating X. The return type will be narrowed in sub traits / classes.

Inherited from
GeomElem

Mirror, reflection 2D geometric transformation across the X axis by negating y. The return type will be narrowed in sub traits / classes.

Mirror, reflection 2D geometric transformation across the X axis by negating y. The return type will be narrowed in sub traits / classes.

Inherited from
GeomElem

2D Transformation using a ProlignMatrix. The return type will be narrowed in sub classes / traits.

2D Transformation using a ProlignMatrix. The return type will be narrowed in sub classes / traits.

Inherited from
GeomElem
def reflect(lineLike: LineLike): GeomElem

Reflect 2D geometric transformation across a line, line segment or ray on a GeomElem. The return type will be narrowed in sub classes and traits.

Reflect 2D geometric transformation across a line, line segment or ray on a GeomElem. The return type will be narrowed in sub classes and traits.

Inherited from
GeomElem
def rotate(angle: AngleVec): GeomElem

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

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

Inherited from
GeomElem

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

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

Inherited from
GeomElem

Rotation positive or anti clockwise 270 degrees, 2D geometric transformation on a GeomElem, returns 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, returns a GeomElem. The return type will be narrowed in sub classes and traits.

Inherited from
GeomElem

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

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

Inherited from
GeomElem
def scale(operand: Double): GeomElem

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.

Inherited from
GeomElem
def scaleXY(xOperand: Double, yOperand: Double): GeomElem

Scaling X and Y axes independently, 2D geometric transformation on this GeomElem, returns a new GeomElem. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Scaling X and Y axes independently, 2D geometric transformation on this GeomElem, returns a new GeomElem. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Inherited from
GeomElem
def shearX(operand: Double): GeomElem

Shear 2D geometric transformation along the X Axis on a GeomElem. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Shear 2D geometric transformation along the X Axis on a GeomElem. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Inherited from
GeomElem
def shearY(operand: Double): GeomElem

Shear 2D geometric transformation along the Y Axis on a GeomElem. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Shear 2D geometric transformation along the Y Axis on a GeomElem. The return type will be narrowed in sub classes and traits. This is an affine transformation but it is not a similar transformation.

Inherited from
GeomElem
def slateXY(xDelta: Double, yDelta: Double): GeomElem

Translate 2D geometric transformation, taking the xOffset and yOffset as parameters on this GeomElem returning a GeomElem. The Return type will be narrowed in sub traits. End users will often want to use the slate method taking a Pt2 or Vec2 as a parameter, the slateX or the slateY methods. These methods will be offered as extension methods using this method for their implementations.

Translate 2D geometric transformation, taking the xOffset and yOffset as parameters on this GeomElem returning a GeomElem. The Return type will be narrowed in sub traits. End users will often want to use the slate method taking a Pt2 or Vec2 as a parameter, the slateX or the slateY methods. These methods will be offered as extension methods using this method for their implementations.

Inherited from
GeomElem