ShapeSegs

ostrat.geom.ShapeSegs
See theShapeSegs companion object
trait ShapeSegs extends Shape

The new ShapeSegs trait will prioritise easy and simplicity of functionality over efficiency. A generalised implementation of a Shape. A closed sequence of curve segments. Use ShapeGen for a general implementation of this class,

Attributes

Companion
object
Graph
Supertypes
trait Shape
trait BoundedElem
trait Fillable
trait Drawable
trait Aff2Elem
trait Simil2Elem
trait Axlign2Elem
class Object
trait Matchable
class Any
Show all
Known subtypes
trait RectStad
class ShapeGen

Members list

Value members

Abstract methods

The backing array of ShapeSegs. End users should rarely need to access this field.

The backing array of ShapeSegs. End users should rarely need to access this field.

Attributes

Concrete methods

override def attribs: RArr[XAtt]

Attributes

Definition Classes
override def boundingHeight: Double

The height of the BoundingRect of this object.

The height of the BoundingRect of this object.

Attributes

Definition Classes
override def boundingRect: Rect

The bounding Rectangle provides an initial exclusion test, as to whether the pointer is inside the polygon / shape

The bounding Rectangle provides an initial exclusion test, as to whether the pointer is inside the polygon / shape

Attributes

Definition Classes
override def boundingWidth: Double

The width of the BoundingRect of this object.

The width of the BoundingRect of this object.

Attributes

Definition Classes
override def draw(lineWidth: Double, lineColour: Colour): ShapeDraw

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

Definition Classes
override def fill(fillfacet: FillFacet): ShapeFill

Returns a fill graphic of this geometric object.

Returns a fill graphic of this geometric object.

Attributes

Definition Classes
override def fillActive(fillColour: Colour, pointerID: Any): ShapeCompound

Attributes

Definition Classes
override def fillActiveText(fillColour: Colour, pointerEv: Any, str: String, fontRatio: Double, fontColour: Colour, align: TextAlign, baseLine: BaseLine, minSize: Double): ShapeCompound

ShapeCompound graphic with a FillFacet, a TextFacet and a ShapeActive child.

ShapeCompound graphic with a FillFacet, a TextFacet and a ShapeActive child.

Attributes

Definition Classes
override def fillDraw(fillColour: Colour, lineColour: Colour, lineWidth: Double): ShapeCompound

Graphically fill and draws this object.

Graphically fill and draws this object.

Attributes

Definition Classes
override def fillInt(intValue: Int): ShapeFill

Returns a fill graphic of this geometric object from the Int RGBA value.

Returns a fill graphic of this geometric object from the Int RGBA value.

Attributes

Definition Classes
override def negX: ShapeSegs

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: ShapeSegs

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): ShapeGen

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 ptInside(pt: Pt2): Boolean

Determines if the parameter point lies inside this Circle.

Determines if the parameter point lies inside this Circle.

Attributes

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

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): ShapeSegs

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: ShapeSegs

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: ShapeSegs

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: ShapeSegs

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): ShapeGen

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): ShapeGen

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

The ShapeSegs that make up this Shape.

The ShapeSegs that make up this Shape.

Attributes

override def shearX(operand: Double): ShapeGen

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): ShapeGen

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): ShapeGen

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): ShapeGen

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): ShapeGen

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): ShapeGen

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

Inherited methods

Attributes

Inherited from:
BoundedElem

Attributes

Inherited from:
BoundedElem

Attributes

Inherited from:
BoundedElem
final def boundingCen: Pt2

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

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

Attributes

Inherited from:
BoundedElem

Attributes

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

This canEqual override allow the comparison of Shapes.

This canEqual override allow the comparison of Shapes.

Attributes

Inherited from:
Shape

If the geometric element has a defined centre then the cenDefault uses that, else it defaults to the centre of the bounding rectangle.

If the geometric element has a defined centre then the cenDefault uses that, else it defaults to the centre of the bounding rectangle.

Attributes

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

Attributes

Inherited from:
BoundedElem