ShapeGen

ostrat.geom.ShapeGen
See theShapeGen companion object
class ShapeGen(val unsafeArray: Array[CurveSeg]) extends Shape with AxisFree

The new version of ShapeGen. Will prioritise easy and simplicity of functionality over efficiency. A generalised implementation of a Shape. A closed sequence of curve segments.

Attributes

Companion:
object
Graph
Supertypes
trait AxisFree
trait Shape
trait Fillable
trait Drawable
trait GeomElem
class Object
trait Matchable
class Any

Members list

Concise view

Type members

Types

override type ThisT = ShapeGen

Value members

Concrete methods

override def attribs: RArr[XANumeric]

Attributes

Definition Classes

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 draw(lineColour: Colour, lineWidth: Double): ShapeDraw

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

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

Attributes

Definition Classes
override def fill(fillColour: Colour): ShapeFill

Returns a fill graphic of this geometric object.

Returns a fill graphic of this geometric object.

Attributes

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

Returns a fill and draw graphic of this geometric object.

Returns a fill and draw graphic of this geometric 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 prolign(matrix: ProlignMatrix): ShapeGen

2D Transformation using a ProlignMatrix on a Shape, returns a Shape. The Return type will be narrowed in sub traits / classes.

2D Transformation using a ProlignMatrix on a Shape, returns a Shape. The Return type will be narrowed in sub traits / classes.

Attributes

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

Reflect 2D geometric transformation across a line, line segment or ray on a Shape, returns a Shape. The Return type will be narrowed in sub traits / classes.

Reflect 2D geometric transformation across a line, line segment or ray on a Shape, returns a Shape. The Return type will be narrowed in sub traits / classes.

Attributes

Definition Classes
override def rotate(angle: AngleVec): ShapeGen

Rotation 2D geometric transformation on a ShapeGen taking the rotation as a scalar measured in radians, returns a Shape. The Return type will be narrowed in sub traits / classes.

Rotation 2D geometric transformation on a ShapeGen taking the rotation as a scalar measured in radians, returns a Shape. The Return type will be narrowed in sub traits / classes.

Attributes

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

Uniform scaling 2D geometric transformation on a ShapeGen returns a Shape. The Return type will be narrowed in sub traits / classes. Use the xyScale method for differential scaling on the X and Y axes.

Uniform scaling 2D geometric transformation on a ShapeGen returns a Shape. The Return type will be narrowed in sub traits / classes. Use the xyScale method for differential scaling on the X and Y axes.

Attributes

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

XY scaling 2D geometric transformation on a ShapeGen returns a Shape. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in sub classes and traits.

XY scaling 2D geometric transformation on a ShapeGen returns a Shape. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in sub classes and traits.

Attributes

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

Shear 2D geometric transformation along the X Axis on a Shape, returns a Shape. The return type will be narrowed in sub classes and traits.

Shear 2D geometric transformation along the X Axis on a Shape, returns a Shape. The return type will be narrowed in sub classes and traits.

Attributes

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

Shear 2D geometric transformation along the Y Axis on a Shape, returns a Shape. The return type will be narrowed in sub classes and traits.

Shear 2D geometric transformation along the Y Axis on a Shape, returns a Shape. The return type will be narrowed in sub classes and traits.

Attributes

Definition Classes
override def slateXY(xDelta: Double, yDelta: Double): ShapeGen

Translate 2D geometric transformation on a ShapeGen returns a Shape. The Return type will be narrowed in sub traits / classes.

Translate 2D geometric transformation on a ShapeGen returns a Shape. The Return type will be narrowed in sub traits / classes.

Attributes

Definition Classes

Inherited methods

Attributes

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

The width of the BoundingRect of this object.

The width of the BoundingRect of this object.

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

Attributes

Inherited from:
BoundedElem

Attributes

Inherited from:
BoundedElem

Concrete fields