CurveTail

ostrat.geom.CurveTail
case class CurveTail(iMatch: Double, xC1: Double, yC1: Double, xUses: Double, yUses: Double, xEnd: Double, yEnd: Double) extends Dbl7Elem, AffinePreserve

A CurveSeg can be a line segment or an arc segment or a bezier segment without its starting point, which is supplied by the previous curveTail. It takes its start point from the pEnd of the previous segment. There is no CurveSeg companion object as the LineSeg, ArcSeg and BezierSeg all have their own factory object apply methods.

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait GeomElem
trait Dbl7Elem
trait DblNElem
trait ValueNElem
trait SpecialT
class Object
trait Matchable
class Any
Show all

Members list

Type members

Types

override type ThisT = CurveTail

The most narrow type preserved in some 2d geometric transformations.

The most narrow type preserved in some 2d geometric transformations.

Attributes

Value members

Concrete methods

def arcCen: Pt2

Assuming this is Arc Segment tail.

Assuming this is Arc Segment tail.

Attributes

def arcControlPt(startPt: Pt2): Pt2

Assuming this is Arc Segment

Assuming this is Arc Segment

Attributes

Assuming this is Arc Segment

Assuming this is Arc Segment

Attributes

Assuming this is Arc Segment, not sure about this.

Assuming this is Arc Segment, not sure about this.

Attributes

def arcStartAngle(pStart: Pt2): Angle

Assuming this is Arc Segment

Assuming this is Arc Segment

Attributes

override def canEqual(other: Any): Boolean

Attributes

Definition Classes
override def dbl1: Double

Attributes

Definition Classes
override def dbl2: Double

Attributes

Definition Classes
override def dbl3: Double

Attributes

Definition Classes
override def dbl4: Double

Attributes

Definition Classes
override def dbl5: Double

Attributes

Definition Classes
override def dbl6: Double

Attributes

Definition Classes
override def dbl7: Double

Attributes

Definition Classes

Assuming this is ArcSeg, calculates ControlPt and then passes controlPt.x, controlPt.y, XENd, yEnd, radius to f

Assuming this is ArcSeg, calculates ControlPt and then passes controlPt.x, controlPt.y, XENd, yEnd, radius to f

Attributes

def fSeg[A](fLineSeg: Pt2 => A, fArcSeg: (Pt2, Pt2) => A, fBezierSeg: (Pt2, Pt2, Pt2) => A): A
def fSeg[A](fLineSeg: (Double, Double) => A, fArcSeg: (Double, Double, Double, Double) => A, fBezierSeg: (Double, Double, Double, Double, Double, Double) => A): A
def pC1: Pt2

This is control point 1 in a Bezier segment, it not used an arc segment, but first Double set to NaN, it is not nused in a straight Line Segment but the first Double is set to Infinity

This is control point 1 in a Bezier segment, it not used an arc segment, but first Double set to NaN, it is not nused in a straight Line Segment but the first Double is set to Infinity

Attributes

def pEnd: Pt2

The end point. Often called p2 on a line or p4 on a cubic bezier.

The end point. Often called p2 on a line or p4 on a cubic bezier.

Attributes

def pUses: Pt2

This is control point 2 in a Bezier segment, the centre point in an arc segment and unused in a straight Line Segment

This is control point 2 in a Bezier segment, the centre point in an arc segment and unused in a straight Line Segment

Attributes

override def ptsTrans(f: Pt2 => Pt2): CurveTail

A method to perform all the ProlignPreserve transformations with a function from PT2 => PT2.

A method to perform all the ProlignPreserve transformations with a function from PT2 => PT2.

Attributes

Definition Classes
def segDo(fLineSeg: CurveTail => Unit, fArcSeg: CurveTail => Unit, fBezierSeg: CurveTail => Unit): Unit

Inherited methods

override def dblBufferAppend(buffer: ArrayBuffer[Double]): Unit

Utility method to append this as an element to an ArrayBuffer[Double]. End users should rarely need to use this method.

Utility method to append this as an element to an ArrayBuffer[Double]. End users should rarely need to use this method.

Attributes

Definition Classes
Inherited from:
Dbl7Elem
override def dblForeach(f: Double => Unit): Unit

Performs the side effecting function on each Double in this Product element.

Performs the side effecting function on each Double in this Product element.

Attributes

Definition Classes
Inherited from:
Dbl7Elem
override def negX: ThisT

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
Inherited from:
SimilarPreserve
override def negY: ThisT

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
Inherited from:
SimilarPreserve

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product
override def prolign(matrix: ProlignMatrix): ThisT

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.

Attributes

Definition Classes
Inherited from:
ProlignPreserve
override def reflect(lineLike: LineLike): ThisT

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.

Attributes

Definition Classes
Inherited from:
SimilarPreserve
override def rotate(angle: AngleVec): ThisT

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.

Attributes

Definition Classes
Inherited from:
SimilarPreserve
override def rotate180: ThisT

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.

Attributes

Definition Classes
Inherited from:
SimilarPreserve
override def rotate270: ThisT

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.

Attributes

Definition Classes
Inherited from:
SimilarPreserve
override def rotate90: ThisT

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.

Attributes

Definition Classes
Inherited from:
SimilarPreserve
override def scale(operand: Double): ThisT

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
Inherited from:
ProlignPreserve
override def scaleXY(xOperand: Double, yOperand: Double): ThisT

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.

Attributes

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

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.

Attributes

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

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.

Attributes

Definition Classes
Inherited from:
AffinePreserve
override def slateXY(xDelta: Double, yDelta: Double): ThisT

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
Inherited from:
ProlignPreserve