A mathematical closed polygon. The general case can be instantiated with PolygonGen, but it provides the interface for particular sub sets of polygons such as triangles and square. Mathematically a closed polygon made up of straight line segments. The default convention is to number the vertices in a clockwise direction, with vertex 1 the first vertex that is clockwise from 12 O'Clock. Sides are numbered in a corresponding manner with then end point of side n sdn at vertex n.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait PolygonLikeDbl2[Pt2]trait PolygonLikeDblN[Pt2]trait PolygonValueN[Pt2]trait PolygonLike[Pt2]trait Pt2SeqSpectrait SeqSpecDbl2[Pt2]trait SeqSpecDblN[Pt2]trait SeqSpecValueN[Pt2]trait Pt2SeqLiketrait SeqLikeDbl2[Pt2]trait SeqLikeDblN[Pt2]trait ArrayDblBackedtrait SpecialTtrait SeqLikeValueN[Pt2]trait PointDbl2SeqLike[Pt2]trait PointDblNSeqLike[Pt2]trait PointSeqLike[Pt2]trait Equalstrait Shapetrait BoundedElemtrait Fillabletrait Drawabletrait GeomElemclass AnyShow all
- Known subtypes
-
trait Polygon3Plustrait Polygon4Plustrait Polygon5Plustrait Polygon6Plusclass DoDecligntrait HexRegclass HexRegImptrait Hexlignclass HexParrXclass HexParrYtrait Quadrilateraltrait Rectangletrait PhiRectangleclass PhiRectclass PhiRectYclass PhiRectangleImptrait Rectobject NoBoundsclass RectImpclass Sqlignclass RectangleImptrait Squareclass SquareImptrait Triangleclass TriangleImptrait TriangleIsosclass TriangleEquiclass TriangleIsosGenclass PolygonGentrait PolygonYMirrorShow all
Members list
Type members
Inherited types
Gives the final type of this class.
Value members
Concrete methods
The height of the BoundingRect of this object.
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
Attributes
- Definition Classes
The width of the BoundingRect of this object.
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.
Attributes
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.
Attributes
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
Returns compound polygon graphic with fill, active and Text members. The element parameters being entered in name order.
Returns compound polygon graphic with fill, active and Text members. The element parameters being entered in name order.
Attributes
Returns compound polygon graphic with fill and Text members. The element parameters being entered in name order.
Returns compound polygon graphic with fill and Text members. The element parameters being entered in name order.
Attributes
Approximation for an inner rectangle given a starting centre.
Approximation for an inner rectangle given a starting centre.
Attributes
Insert vertices before the specified insertion vertex.
Insert vertices before the specified insertion vertex.
Attributes
Determines if the parameter point lies inside this Polygon.
Determines if the parameter point lies inside this Polygon.
Attributes
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.
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 of 180 degrees, 2D geometric transformation on a Drawable, returns a Drawable. The return type will be narrowed in sub classes and traits.
Rotation positive or anti clockwise 270 degrees, 2D geometric transformation on a Drawable, returns a Drawable. The return type will be narrowed in sub classes and traits.
Rotation positive or anti clockwise 90 degrees, 2D geometric transformation on a Drawable, returns a Drawable. The return type will be narrowed in sub classes and traits.
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.
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.
The centre or half way point of side 0 of this polygon. Side 0 starts at the vertex v0 and ends at the vertex v1. This can be thought of as vertex 0.5.
The centre or half way point of side 0 of this polygon. Side 0 starts at the vertex v0 and ends at the vertex v1. This can be thought of as vertex 0.5.
Attributes
The X component of the centre or half way point of side 0 of this polygon.
The X component of the centre or half way point of side 0 of this polygon.
Attributes
The Y component of the centre or half way point of side 0 of this polygon.
The Y component of the centre or half way point of side 0 of this polygon.
Attributes
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 Y Axis on a Polygon, returns a Polygon. The return type will be narrowed in sub classes and traits.
Returns a side of the appropriate type for the PolygonLike from the goven index. The index cycles.
Returns a side of the appropriate type for the PolygonLike from the goven index. The index cycles.
Attributes
- Definition Classes
Polygon side 0 from vertex 0 to vertex 1.
Polygon side 0 from vertex 0 to vertex 1.
Attributes
Attributes
- Definition Classes
Attributes
- Definition Classes
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.
Attributes
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.
Attributes
- Definition Classes
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.
Attributes
Vertex v0, will throw on a 0 vertices polygon. By convention the default position for this vertex is at the top or 12 o'clock position of the polygon or the vertex immediately anti clockwise if there is no vertex in this position.
Vertex v0, will throw on a 0 vertices polygon. By convention the default position for this vertex is at the top or 12 o'clock position of the polygon or the vertex immediately anti clockwise if there is no vertex in this position.
Attributes
The X component of vertex v0, will throw on a 0 vertices polygon.
The X component of vertex v0, will throw on a 0 vertices polygon.
Attributes
The Y component of vertex v1, will throw on a 0 vertices polygon.
The Y component of vertex v1, will throw on a 0 vertices polygon.
Attributes
The last vertex. The default convention places this just anti clockwise of 12 o'clock.
The last vertex. The default convention places this just anti clockwise of 12 o'clock.
Attributes
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.
Attributes
Returns the Y component of the vertex of the given number. Will throw an exception if the vertex index is out of range. For maximum efficiency override the implementation in sub classes.
Returns the Y component of the vertex of the given number. Will throw an exception if the vertex index is out of range. For maximum efficiency override the implementation in sub classes.
Attributes
Attributes
- Definition Classes
Maps the vertices of this polygon to an immutable Array like sequence of type B.
Maps the vertices of this polygon to an immutable Array like sequence of type B.
Type parameters
- ArrB
-
The type of the immutable Array like sequence of B.
- B
-
The element type of the returned sequence.
Attributes
- Returns
-
the immutable sequence collection by applying the supplied function to each vertex.
- Definition Classes
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
Attributes
Inherited methods
Builder helper method that provides a longer array, with the underlying array copied into the new extended Array.
Builder helper method that provides a longer array, with the underlying array copied into the new extended Array.
Attributes
- Inherited from:
- SeqSpecDblN
Creates the Array[Double] need to implement the sides method.
Creates the Array[Double] need to implement the sides method.
Attributes
- Definition Classes
- Inherited from:
- PolygonLikeDbl2
The total number of atomic values, Ints, Doubles, Longs etc in the backing Array.
The total number of atomic values, Ints, Doubles, Longs etc in the backing Array.
Attributes
- Inherited from:
- SeqLikeDblN
Attributes
- Inherited from:
- ArrayDblBacked
Attributes
- Inherited from:
- BoundedElem
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
Attributes
- Inherited from:
- BoundedElem
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
Attributes
- Inherited from:
- SeqSpecDbl2
Attributes
- Inherited from:
- SeqSpecDbl2
The number of atomic values, Ints, Doubles, Longs etc that specify / construct an element of this immutable flat Array based collection class.
The number of atomic values, Ints, Doubles, Longs etc that specify / construct an element of this immutable flat Array based collection class.
Attributes
- Definition Classes
- Inherited from:
- SeqLikeDbl2
The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.
Attributes
- Definition Classes
- Inherited from:
- Pt2SeqLike
FlatMaps the vertices of this PolygonLike to a new to PolygonLike class of type BB.
FlatMaps the vertices of this PolygonLike to a new to PolygonLike class of type BB.
Attributes
- Inherited from:
- PolygonLike
Attributes
- Inherited from:
- SeqLikeDblN
Maps the vertices of this PolygonLike to a new to PolygonLike class of type BB.
Maps the vertices of this PolygonLike to a new to PolygonLike class of type BB.
Attributes
- Inherited from:
- PolygonLike
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.
Attributes
- Definition Classes
- Inherited from:
- PolygonValueN
Optionally maps the vertices of this PolygonLike to vertices of a new to PolygonLike class of type BB. If the new PolygonLike has at least 3 vertices returns Some else returns None.
Optionally maps the vertices of this PolygonLike to vertices of a new to PolygonLike class of type BB. If the new PolygonLike has at least 3 vertices returns Some else returns None.
Attributes
- Inherited from:
- PolygonLike
Reverses the order of the elements of the specifying sequence.
Reverses the order of the elements of the specifying sequence.
Attributes
- Definition Classes
- Inherited from:
- SeqSpecDblN
Sets / mutates an element in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Sets / mutates an element in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Attributes
- Definition Classes
- Inherited from:
- SeqLikeDbl2
Sets / mutates elements in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Sets / mutates elements in the Arr. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Attributes
- Inherited from:
- SeqLike
Method for creating new specifying sequence elements from 2 Doubles In the case of ArrDbl2 this will be thee type of the elements of the sequence.
Method for creating new specifying sequence elements from 2 Doubles In the case of ArrDbl2 this will be thee type of the elements of the sequence.
Attributes
- Definition Classes
- Inherited from:
- Pt2SeqSpec
Checks if 2 values of the specifying sequence are equal.
Checks if 2 values of the specifying sequence are equal.
Attributes
- Definition Classes
- Inherited from:
- SeqSpecDbl2
specifying -sequence fold.
Attributes
- Inherited from:
- SeqSpecValueN
Performs a side effecting function on each element of the specifying sequence in order.
Performs a side effecting function on each element of the specifying sequence in order.
Attributes
- Inherited from:
- SeqSpec
Attributes
- Inherited from:
- SeqSpecDbl2
Index with foreach on the data elements. Performs a side effecting function on the index and each element of the data sequence. It takes a function as a parameter. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users. The method has 2 versions / name overloads. The default start for the index is 0 if just the function parameter is passed. The second version name overload takes an Int for the first parameter list, to set the start value of the index. Note the function signature follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods' (accumulator, element) => B signature.
Index with foreach on the data elements. Performs a side effecting function on the index and each element of the data sequence. It takes a function as a parameter. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users. The method has 2 versions / name overloads. The default start for the index is 0 if just the function parameter is passed. The second version name overload takes an Int for the first parameter list, to set the start value of the index. Note the function signature follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods' (accumulator, element) => B signature.
Attributes
- Inherited from:
- SeqSpec
Index with foreach on the the specifying sequence elements. Performs a side effecting function on the index and each element of the specifying sequence. It takes a function as a parameter. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users. The method has 2 versions / name overloads. The default start for the index is 0 if just the function parameter is passed. The second version name overload takes an Int for the first parameter list, to set the start value of the index. Note the function signature follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods' (accumulator, element) => B signature.
Index with foreach on the the specifying sequence elements. Performs a side effecting function on the index and each element of the specifying sequence. It takes a function as a parameter. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users. The method has 2 versions / name overloads. The default start for the index is 0 if just the function parameter is passed. The second version name overload takes an Int for the first parameter list, to set the start value of the index. Note the function signature follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods' (accumulator, element) => B signature.
Attributes
- Inherited from:
- SeqSpec
Accesses the specifying sequence element by a 0 based index.
Accesses the specifying sequence element by a 0 based index.
Attributes
- Definition Classes
- Inherited from:
- SeqSpecDbl2
Foreachs over the inner of the specifying sequence, excludes the first and last element. Performs a side effecting function on each element of the tail of the specifying sequence in order.
Foreachs over the inner of the specifying sequence, excludes the first and last element. Performs a side effecting function on each element of the tail of the specifying sequence in order.
Attributes
- Inherited from:
- SeqSpec
Last element of the specifying sequence.
The number of product elements in this collection. For example in a [[PolygonImp], this is the number of Pt2s in the Polygon
The number of product elements in this collection. For example in a [[PolygonImp], this is the number of Pt2s in the Polygon
Attributes
- Definition Classes
- Inherited from:
- SeqSpecValueN
Performs a side effecting function on each element of the specifying-sequence in reverse order. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users.
Performs a side effecting function on each element of the specifying-sequence in reverse order. The function may return Unit. If it does return a non Unit value it is discarded. The [U] type parameter is there just to avoid warnings about discarded values and can be ignored by method users.
Attributes
- Inherited from:
- SeqSpec
FoldLeft over the tail of the specifying sequence.
Foreachs over the tail of the specifying sequence. Performs a side effecting function on each element of the tail of the specifying sequence in order.
Foreachs over the tail of the specifying sequence. Performs a side effecting function on each element of the tail of the specifying sequence in order.
Attributes
- Inherited from:
- SeqSpec
Attributes
- Inherited from:
- BoundedElem
String specifying the type of this object.
Attributes
- Inherited from:
- SeqSpecDbl2
Reverses the order of the elements in a new Array[Double] which is returned.
Reverses the order of the elements in a new Array[Double] which is returned.
Attributes
- Inherited from:
- SeqSpecDblN
Attributes
- Inherited from:
- SeqLikeDblN
Returns the vertex of the given index. Cycles around if the index is out of range, vert 3 retruns vert 0 on a triangle.
Returns the vertex of the given index. Cycles around if the index is out of range, vert 3 retruns vert 0 on a triangle.
Attributes
- Inherited from:
- PolygonLike
This method should be overridden in final classes.
Checks this polygon has at least 3 vertices.
This method does nothing if the vertNum < 2. Foreach vertex applies the side effecting function to the previous vertex with each vertex. The previous vertex to the first vertex is the last vertex of the PolygonLike. Note the function signature (previous, vertex) => U follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods'(accumulator, element) => B signature.
This method does nothing if the vertNum < 2. Foreach vertex applies the side effecting function to the previous vertex with each vertex. The previous vertex to the first vertex is the last vertex of the PolygonLike. Note the function signature (previous, vertex) => U follows the foreach based convention of putting the collection element 2nd or last as seen for example in fold methods'(accumulator, element) => B signature.
Attributes
- Inherited from:
- PolygonLike