CurveSeg

ostrat.geom.CurveSeg
See theCurveSeg companion object
trait CurveSeg extends Drawable

A segment of a curve that could be used in a closed shape or curve path. The names start and end are used in CurveSeg and its subclasses to provide consistent naming across line segments LSeg2s, circular arcs CArcs, elliptical arcs EArcs and Square and cubic Béziers Beziers, which require different numbers of points in their specification.

Attributes

Companion
object
Graph
Supertypes
trait Drawable
trait Aff2Elem
trait Simil2Elem
trait Axlign2Elem
class Object
trait Matchable
class Any
Show all
Known subtypes
class Bezier
trait EArc
class EArcImp
trait EArclign
class CArc
class EArclignImp
class LSeg2
Show all

Members list

Value members

Abstract methods

def endX: Double

The X component of the end point of this curve segment. Often called x2 on a line or x4 on a cubic bezier in other APIs.

The X component of the end point of this curve segment. Often called x2 on a line or x4 on a cubic bezier in other APIs.

Attributes

def endY: Double

The Y component of the end point of this curve segment. Often called y2 on a line or y4 on a cubic bezier in other APIs.

The Y component of the end point of this curve segment. Often called y2 on a line or y4 on a cubic bezier in other APIs.

Attributes

override def negX: CurveSeg

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.

Attributes

Definition Classes
override def negY: CurveSeg

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.

Attributes

Definition Classes
override def prolign(matrix: AxlignMatrix): CurveSeg

2D Transformation using a AxlignMatrix. The return type will be narrowed in subclasses / traits.

2D Transformation using a AxlignMatrix. The return type will be narrowed in subclasses / traits.

Attributes

Definition Classes
override def reflect(lineLike: LineLike): CurveSeg

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

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

Attributes

Definition Classes
override def rotate(rotation: AngleVec): CurveSeg

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

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

Attributes

Definition Classes
override def rotate180: CurveSeg

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

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

Attributes

Definition Classes
override def rotate270: CurveSeg

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

Attributes

Definition Classes
override def rotate90: CurveSeg

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

Attributes

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

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.

Attributes

Definition Classes
override def scaleXY(xOperand: Double, yOperand: Double): CurveSeg

Scaling X and Y axes independently, 2D geometric transformation on this Aff2Elem, returns a new Aff2Elem. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in subclasses 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 Aff2Elem, returns a new Aff2Elem. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in subclasses and traits. This is an affine transformation, but it is not a similar transformation.

Attributes

Definition Classes
override def shearX(operand: Double): CurveSeg

Shear 2D geometric transformation along the X Axis on a GeomElem. The return type will be narrowed in subclasses 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 subclasses and traits. This is an affine transformation, but it is not a similar transformation.

Attributes

Definition Classes
override def shearY(operand: Double): CurveSeg

Shear 2D geometric transformation along the Y Axis on a GeomElem. The return type will be narrowed in subclasses 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 subclasses and traits. This is an affine transformation, but it is not a similar transformation.

Attributes

Definition Classes
override def slate(operand: VecPt2): CurveSeg

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.

Attributes

Definition Classes
override def slate(xOperand: Double, yOperand: Double): CurveSeg

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.

Attributes

Definition Classes
override def slateX(xOperand: Double): CurveSeg

Translate 2D geometric transformation in the X dimension, returning a GeomElem. The Return type will be narrowed in sub traits.

Translate 2D geometric transformation in the X dimension, returning a GeomElem. The Return type will be narrowed in sub traits.

Attributes

Definition Classes
override def slateY(yOperand: Double): CurveSeg

Translate 2D geometric transformation in the Y dimension, returning a GeomElem. The Return type will be narrowed in sub traits.

Translate 2D geometric transformation in the Y dimension, returning a GeomElem. The Return type will be narrowed in sub traits.

Attributes

Definition Classes
def startX: Double

The X component of the start point of this curve segment often called x1 in other APIs.

The X component of the start point of this curve segment often called x1 in other APIs.

Attributes

def startY: Double

The Y component of the start point of this curve segment, often called y1 in other APIs.

The Y component of the start point of this curve segment, often called y1 in other APIs.

Attributes

Concrete methods

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.

Attributes

final def pStart: Pt2

Start point of this curve segment, often called p1

Start point of this curve segment, often called p1

Attributes

Inherited methods

def fillOrDraw(lineWidth: Double, colour: Colour): Graphic2Elem

If this element is Fillable applies the fill method, ignoring the line width parameter, else applies the draw method.

If this element is Fillable applies the fill method, ignoring the line width parameter, else applies the draw method.

Attributes

Inherited from:
Drawable

Inherited and Abstract methods

def draw(lineWidth: Double, lineColour: Colour): Graphic2Elem

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

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

Attributes

Inherited from:
Drawable