Polygon3Plus

trait Polygon3Plus extends Polygon

A Polygon with at least 3 vertices. The PolygonNPlus traits include values for the vertices and the x and y components of the vertices. The X and Y components are included because Graphics implementation APIs use them.

trait Polygon
trait Approx[Double]
trait Equals
trait Shape
trait Fillable
trait Drawable
trait GeomElem
class Object
trait Matchable
class Any

Value members

Abstract methods

def sd1Cen: Pt2

The centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

The centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

def sd1CenX: Double

The X component of the centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

The X component of the centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

def sd1CenY: Double

The Y component of the centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

The Y component of the centre or half way point of side 1 of this polygon. Side 1 starts at the vLast vertex and ends at the v1 vertex. This can be thought of as vertex 0.5.

def sd2Cen: Pt2

The centre or half way point of side 2 of this polygon. Side 2 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5

The centre or half way point of side 2 of this polygon. Side 2 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5

def sd2CenX: Double

The X component of the centre or half way point of side 2 of this polygon. Side 2 starts at the v1 vertex and ends at the v1 vertex. This can be thought of as vertex 1.5.

The X component of the centre or half way point of side 2 of this polygon. Side 2 starts at the v1 vertex and ends at the v1 vertex. This can be thought of as vertex 1.5.

def sd2CenY: Double

The Y component of the centre or half way point of side 3 of this polygon. Side 2 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5.

The Y component of the centre or half way point of side 3 of this polygon. Side 2 starts at the v1 vertex and ends at the v2 vertex. This can be thought of as vertex 1.5.

def sd3Cen: Pt2

The centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

The centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

def sd3CenX: Double

The X component of the centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

The X component of the centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

def sd3CenY: Double

The Y component of the centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

The Y component of the centre or half way point of side 3 of this polygon. Side 3 starts at the v2 vertex and ends at the v3 vertex. This can be thought of as vertex 2.5.

def v2: Pt2

The 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

def v2x: Double

The X component of the 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The X component of the 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

def v2y: Double

The Y component of the 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The Y component of the 2nd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

def v3: Pt2

The 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

def v3x: Double

The X component of the 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The X component of the 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

def v3y: Double

The Y component of the 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

The Y component of the 3rd Vertex. The default convention is for the vertices to be numbered in a clockwise direction with the 1st vertex immediately clockwise from 12 o'clock.

Concrete methods

Polygon side 1 from the last vertex to Vertex 1.

Polygon side 1 from the last vertex to Vertex 1.

Polygon side 2 from vertex 1 to vertex 2.

Polygon side 2 from vertex 1 to vertex 2.

Polygon side 3 from v2 to v3.

Polygon side 3 from v2 to v3.

override
def vLast: Pt2

The last vertex.

The last vertex.

Definition Classes

Inherited methods

def active(id: Any): PolygonActive
Inherited from
Polygon
Inherited from
Polygon
override
def approx(that: Any, precision: Double): Boolean
Definition Classes
Inherited from
Polygon
override
Definition Classes
Inherited from
Polygon
Inherited from
BoundedElem
@inline
final

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

Currently throws, not sure if that is the correct behaviour. Creates a bounding rectangle for a collection of 2d points

Currently throws, not sure if that is the correct behaviour. Creates a bounding rectangle for a collection of 2d points

Definition Classes
Inherited from
Polygon
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
def cenPt: Pt2

The centre point of this Polygon. The default centre for Polygons is the centre of the bounding rectangle.

The centre point of this Polygon. The default centre for Polygons is the centre of the bounding rectangle.

Inherited from
Polygon
Inherited from
Polygon
override
def draw(lineColour: Colour, lineWidth: Double): PolygonDraw
Definition Classes
Inherited from
Polygon
def drawActive(lineColour: Colour, lineWidth: Double, pointerID: Any): PolygonCompound
Inherited from
Polygon
override
def fill(fillColour: Colour): PolygonFill
Definition Classes
Inherited from
Polygon
def fillActive(fillColour: Colour, pointerID: Any): PolygonCompound
Inherited from
Polygon
def fillActiveDraw(fillColour: Colour, pointerID: Any, lineColour: Colour, lineWidth: Double): PolygonCompound

Creates a PolygonCompound graphic that is active with a simple 1 colour fill and has a draw graphic for the Polygon. The default values for the draw area line width of 2 and a colour of Black.

Creates a PolygonCompound graphic that is active with a simple 1 colour fill and has a draw graphic for the Polygon. The default values for the draw area line width of 2 and a colour of Black.

Inherited from
Polygon
override
def fillDraw(fillColour: Colour, lineColour: Colour, lineWidth: Double): PolygonCompound
Definition Classes
Inherited from
Polygon
def fillDrawActive(fillColour: Colour, pointerID: Any, lineWidth: Double, lineColour: Colour): PolygonCompound
Inherited from
Polygon
def fillDrawText(fillColour: Colour, str: String, fontSize: Int, lineColour: Colour, lineWidth: Double): PolygonCompound
Inherited from
Polygon
def fillDrawTextActive(fillColour: Colour, pointerID: Any, str: String, fontSize: Int, lineWidth: Double, lineColour: Colour, align: TextAlign): PolygonCompound
Inherited from
Polygon
override
def fillInt(intValue: Int): PolygonFill
Definition Classes
Inherited from
Polygon
def fillText(fillColour: Colour, str: String, fontSize: Int, textColour: Colour, layer: Int): PolygonCompound
Inherited from
Polygon
def fillTextActive(fillColour: Colour, pointerEv: Any, str: String, fontSize: Int, fontColour: Colour, align: TextAlign): PolygonCompound
Inherited from
Polygon
def foreachSide(f: LineSeg => Unit): Unit

foreachs over the sides or edges of the Polygon These are of type LineSeg.

foreachs over the sides or edges of the Polygon These are of type LineSeg.

Inherited from
Polygon
def foreachVertPairTail[U](f: (Double, Double) => U): Unit

Foreach vertex excluding vertex 1, perform the side effecting function on the Tuple2 of the x and y values of the vertex.

Foreach vertex excluding vertex 1, perform the side effecting function on the Tuple2 of the x and y values of the vertex.

Inherited from
Polygon
def foreachVertTail[U](f: Pt2 => U): Unit

Performs the side effecting function on the Pt2 value of each vertex, excluding vertex v1.

Performs the side effecting function on the Pt2 value of each vertex, excluding vertex v1.

Inherited from
Polygon
def iForeachSide(initCount: Int)(f: (LineSeg, Int) => Unit): Unit

foreachs over the sides or edges of the Polygon These are of type LineSeg.

foreachs over the sides or edges of the Polygon These are of type LineSeg.

Inherited from
Polygon
def insVert(insertionPoint: Int, newVec: Pt2): Polygon

Insert vertex.

Insert vertex.

Inherited from
Polygon
def insVerts(insertionPoint: Int, newVecs: Pt2*): Polygon

Insert vertices before the specified insertion vertex.

Insert vertices before the specified insertion vertex.

Inherited from
Polygon
def map[B <: ElemValueN, BB <: PolygonLike[B]](f: Pt2 => B)(implicit build: PolygonBuilder[B, BB]): BB

Map this collection of data elements to PolygonLike class of type BB.

Map this collection of data elements to PolygonLike class of type BB.

Inherited from
PolygonLike
override

Mirror, reflection transformation of Polygon across the Y axis, returns a Polygon.

Mirror, reflection transformation of Polygon across the Y axis, returns a Polygon.

Definition Classes
Inherited from
Polygon
override

Mirror, reflection transformation of a Polygon across the X axis, returns a Polygon.

Mirror, reflection transformation of a Polygon across the X axis, returns a Polygon.

Definition Classes
Inherited from
Polygon
def parentFillText(pointerID: Any, fillColour: Colour, str: String, fontSize: Int, textColour: Colour, align: TextAlign): PolygonCompound
Inherited from
Polygon
@inline
Inherited from
Polygon
def precisionDefault: Double
Inherited from
Polygon
override

Prolign 2d transformations, similar transformations that retain alignment with the axes.

Prolign 2d transformations, similar transformations that retain alignment with the axes.

Definition Classes
Inherited from
Polygon
def ptInside(pt: Pt2): Boolean

Determines if the parameter point lies inside this Polygon.

Determines if the parameter point lies inside this Polygon.

Inherited from
Polygon
override
def reflect(lineLike: LineLike): Polygon

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

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

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

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

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

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

Uniform scaling against both X and Y axes transformation on a polygon returning a Polygon. Use the xyScale method for differential scaling. The return type of this method will be narrowed further in descendant traits / classes.

Uniform scaling against both X and Y axes transformation on a polygon returning a Polygon. Use the xyScale method for differential scaling. The return type of this method will be narrowed further in descendant traits / classes.

Definition Classes
Inherited from
Polygon
override
def scaleXY(xOperand: Double, yOperand: Double): Polygon

XY scaling 2D geometric transformation on a Polygon returns a Polygon. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in some, but not all descendant Polygon types.

XY scaling 2D geometric transformation on a Polygon returns a Polygon. This allows different scaling factors across X and Y dimensions. The return type will be narrowed in some, but not all descendant Polygon types.

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

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

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

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

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

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

Definition Classes
Inherited from
Polygon
@inline
def side(index: Int): LineSeg
Inherited from
Polygon
def sidesFold[A](init: A)(f: (A, LineSeg) => A): A
Inherited from
Polygon
def sidesIFlatMap[AA <: ArrBase[_]](initCount: Int)(f: (LineSeg, Int) => AA)(implicit build: ArrFlatBuilder[AA]): AA

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

Inherited from
Polygon
def sidesIMap[A, AA <: ArrBase[A]](initCount: Int)(f: (LineSeg, Int) => A)(implicit build: ArrBuilder[A, AA]): AA

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

maps with a integer counter over the sides or edges of the Polygon These are of type LineSeg.

Inherited from
Polygon
def sidesMap[A, AA <: ArrBase[A]](f: LineSeg => A)(implicit build: ArrBuilder[A, AA]): AA

maps over the sides or edges of the Polygon These are of type LineSeg.

maps over the sides or edges of the Polygon These are of type LineSeg.

Inherited from
Polygon
def slate(offset: Vec2Like): Polygon

Translate geometric transformation on a Polygon returns a Polygon. The return type of this method will be narrowed further in most descendant traits / classes. The exceptions being those classes where the centring of the geometry at the origin is part of the type.

Translate geometric transformation on a Polygon returns a Polygon. The return type of this method will be narrowed further in most descendant traits / classes. The exceptions being those classes where the centring of the geometry at the origin is part of the type.

Inherited from
Polygon
override
def slateXY(xDelta: Double, yDelta: Double): Polygon

Translate geometric transformation on a Polygon returns a Polygon. The return type of this method will be narrowed further in most descendant traits / classes. The exceptions being those classes where the centring of the geometry at the origin is part of the type.

Translate geometric transformation on a Polygon returns a Polygon. The return type of this method will be narrowed further in most descendant traits / classes. The exceptions being those classes where the centring of the geometry at the origin is part of the type.

Definition Classes
Inherited from
Polygon
def sline(index: Int): LineSeg
Inherited from
Polygon
Inherited from
BoundedElem
Inherited from
BoundedElem
def v1: Pt2

The 1st vertex, will throw on a 0 vertices polygon.

The 1st vertex, will throw on a 0 vertices polygon.

Inherited from
Polygon
def v1x: Double

The X component of the 1st vertex, will throw on a 0 vertices polygon.

The X component of the 1st vertex, will throw on a 0 vertices polygon.

Inherited from
Polygon
def v1y: Double

The Y component of the 1st vertex, will throw on a 0 vertices polygon.

The Y component of the 1st vertex, will throw on a 0 vertices polygon.

Inherited from
Polygon
def vert(index: Int): Pt2

Returns the vertex of the given index. Throws if the index is out of range, if it less than 1 or greater than the number of vertices.

Returns the vertex of the given index. Throws if the index is out of range, if it less than 1 or greater than the number of vertices.

Inherited from
Polygon
def vertsArray: Array[Double]

The vertices of this Polygon in an Array of Doubles.

The vertices of this Polygon in an Array of Doubles.

Inherited from
Polygon
def vertsArrayX: Array[Double]

The X component of the vertices of this Polygon in an Array of Doubles.

The X component of the vertices of this Polygon in an Array of Doubles.

Inherited from
Polygon
def vertsArrayY: Array[Double]

The Y component of the vertices of this Polygon in an Array of Doubles.

The Y component of the vertices of this Polygon in an Array of Doubles.

Inherited from
Polygon
def vertsFlatMap[BB <: ArrBase[_]](f: Pt2 => BB)(implicit build: ArrFlatBuilder[BB]): BB

flatMap to an immutable Arr.

flatMap to an immutable Arr.

Inherited from
Polygon
override
def vertsFold[B](init: B)(f: (B, Pt2) => B): B
Definition Classes
Inherited from
Polygon
def vertsForAll(f: Pt2 => Boolean): Boolean

This method should be overridden in final classes.

This method should be overridden in final classes.

Inherited from
PolygonLike
def vertsForeach[U](f: Pt2 => U): Unit

Performs the side effecting function on the Pt2 value of each vertex.

Performs the side effecting function on the Pt2 value of each vertex.

Inherited from
Polygon
def vertsIFlatMap[BB <: ArrBase[_]](iInit: Int)(f: (Pt2, Int) => BB)(implicit build: ArrFlatBuilder[BB]): BB

flatMap with index to an immutable Arr.

flatMap with index to an immutable Arr.

Inherited from
Polygon
override
def vertsIForeach[U](f: (Pt2, Int) => U): Unit
Definition Classes
Inherited from
Polygon
override
def vertsMap[B, ArrB <: ArrBase[B]](f: Pt2 => B)(implicit build: ArrBuilder[B, ArrB]): ArrB
Definition Classes
Inherited from
Polygon
def vertsNum: Int

The number of vertices and also the number of sides in this Polygon.

The number of vertices and also the number of sides in this Polygon.

Inherited from
PolygonLike

A function that takes a 2D geometric transformation on a Pt2 as a parameter and performs the transformation on all the vertices returning a new transformed Polygon

A function that takes a 2D geometric transformation on a Pt2 as a parameter and performs the transformation on all the vertices returning a new transformed Polygon

Inherited from
Polygon
def xVert(index: Int): Double

Returns the X component of the vertex of the given number. Will throw an exception if the vertex index is out of range.

Returns the X component of the vertex of the given number. Will throw an exception if the vertex index is out of range.

Inherited from
Polygon
def yVert(index: Int): Double

Returns the Y component of the vertex of the given number. Will throw an exception if the vertex index is out of range.

Returns the Y component of the vertex of the given number. Will throw an exception if the vertex index is out of range.

Inherited from
Polygon