EllipseImp

final case class EllipseImp(cenX: Double, cenY: Double, axesPt1x: Double, axesPt1y: Double, radius2: Double) extends Ellipse with AxisFree

The implementation class for Ellipses that are not Circles. The Ellipse is encoded as 3 Vec2s or 6 scalars although it is possible to encode an ellipse with 5 scalars. Encoding the Ellipse this way greatly helps human visualisation of transformations upon an ellipse.

Companion
object
trait Serializable
trait Product
trait Equals
trait AxisFree
trait Ellipse
trait Shape
trait Fillable
trait Drawable
trait GeomElem
class Object
trait Matchable
class Any

Type members

Types

override type ThisT = EllipseImp

Value members

Concrete methods

override def alignAngle: Angle
Definition Classes
override def area: Double
Definition Classes
override def axesPt2x: Double
Definition Classes
override def axesPt2y: Double
Definition Classes
override def axesPt3x: Double
Definition Classes
override def axesPt3y: Double
Definition Classes
override def axesPt4: Pt2
Definition Classes
override def axesPt4x: Double
Definition Classes
override def axesPt4y: Double
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
override def e: Double
Definition Classes
override def h: Double
Definition Classes
override def rMajor: Double
Definition Classes
override def rMinor: Double
Definition Classes
override def radius1: Double
Definition Classes
override def reflect(lineLike: LineLike): EllipseImp
Definition Classes
override def rotate(angle: AngleVec): EllipseImp
Definition Classes
override def scale(operand: Double): EllipseImp

Uniform scaling 2D geometric transformation, on an EllipseImp, returns an EllipseImp.

Uniform scaling 2D geometric transformation, on an EllipseImp, returns an EllipseImp.

Definition Classes
override def shearX(operand: Double): EllipseImp
Definition Classes
override def shearY(operand: Double): EllipseImp
Definition Classes
override def slateXY(xDelta: Double, yDelta: Double): EllipseImp

Translate 2D geometric transformation, on an EllipseImp, returns an EllipseImp.

Translate 2D geometric transformation, on an EllipseImp, returns an EllipseImp.

Definition Classes

Inherited methods

Inherited from
Ellipse
final def axesPt1: Pt2
Inherited from
Ellipse
final def axesPt2: Pt2
Inherited from
Ellipse
override def axesPt3: Pt2
Definition Classes
Inherited from
Ellipse
Inherited from
BoundedElem
@inline
final def boundCen: Pt2

The centre of the bounding rectangle. consider also using cenDefault.

The centre of the bounding rectangle. consider also using cenDefault.

Inherited from
BoundedElem
def boundingHeight: Double
Inherited from
BoundedElem
def boundingWidth: Double

The width of the BoundingRect of this object.

The width of the BoundingRect of this object.

Inherited from
BoundedElem
Inherited from
BoundedElem
def canEqual(that: Any): Boolean

This canEqual override allow the comparison of Shapes.

This canEqual override allow the comparison of Shapes.

Inherited from
Shape
final override def cen: Pt2
Definition Classes
Inherited from
Ellipse
final override def cenDefault: Pt2

The default centre of this object is the centre. The centre will not change if the object type is capable of being rotated and is rotated.

The default centre of this object is the centre. The centre will not change if the object type is capable of being rotated and is rotated.

Definition Classes
Inherited from
CentredElem
Inherited from
Ellipse
Inherited from
Ellipse
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
override def draw(lineColour: Colour, lineWidth: Double): EllipseDraw
Definition Classes
Inherited from
Ellipse
def fTrans(f: Pt2 => Pt2): Ellipse
Inherited from
Ellipse
override def fill(fillColour: Colour): EllipseFill
Definition Classes
Inherited from
Ellipse
override def fillDraw(fillColour: Colour, lineColour: Colour, lineWidth: Double): GraphicElem
Definition Classes
Inherited from
Ellipse
override def fillInt(intValue: Int): EllipseFill
Definition Classes
Inherited from
Ellipse
override def negX: ThisT
Definition Classes
Inherited from
AxisFree
override def negY: ThisT
Definition Classes
Inherited from
AxisFree
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
override def prolign(matrix: ProlignMatrix): Ellipse
Definition Classes
Inherited from
Ellipse
override def rotate180: ThisT
Definition Classes
Inherited from
AxisFree
override def rotate270: ThisT
Definition Classes
Inherited from
AxisFree
override def rotate90: ThisT
Definition Classes
Inherited from
AxisFree
Inherited from
Ellipse
Inherited from
Ellipse
override def scaleXY(xOperand: Double, yOperand: Double): Ellipse
Definition Classes
Inherited from
Ellipse
Inherited from
BoundedElem
Inherited from
BoundedElem