ShapeGen

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.

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

Type members

Types

override type ThisT = ShapeGen

Value members

Concrete methods

override def attribs: Arr[XANumeric]
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

Definition Classes
override def draw(lineColour: Colour, lineWidth: Double): ShapeDraw
Definition Classes
override def fill(fillColour: Colour): ShapeFill
Definition Classes
override def fillDraw(fillColour: Colour, lineColour: Colour, lineWidth: Double): GraphicElem
Definition Classes
override def fillInt(intValue: Int): ShapeFill
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.

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.

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.

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.

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.

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.

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.

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.

Definition Classes

Inherited methods

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

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.

Inherited from
BoundedElem
override def negX: ThisT
Definition Classes
Inherited from
AxisFree
override def negY: ThisT
Definition Classes
Inherited from
AxisFree
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
BoundedElem
Inherited from
BoundedElem

Concrete fields

val unsafeArray: Array[CurveSeg]