A mathematical simple closed polygon, with at least 1 vertex. 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 sd((n - 1) at vertex 0.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait PolygonBase[Pt2]trait VertSeqSpec[Pt2]trait Equalstrait Shapetrait BoundedElemtrait Fillabletrait Drawabletrait Aff2Elemtrait Simil2Elemtrait Axlign2Elemclass AnyShow all
- Known subtypes
-
trait Polygon3Plustrait Polygon4Plustrait Polygon5Plustrait Polygon6Plusclass DoDecligntrait HexRegclass HexRegImptrait Hexlignclass HexParrXclass HexParrYtrait Quadrilateraltrait QuadrilateralFieldsclass QuadrilateralGenclass Trapeziumtrait Rectangletrait PhiRectangletrait PhiRectclass PhiRectHighclass PhiRectWideclass PhiRectangleGentrait Rectobject NoBoundsclass RectGenclass Sqlignclass RectangleGentrait Squareclass SquareGentrait Triangleclass TriangleGentrait TriangleIsosclass TriangleEquiclass TriangleIsosGenclass PolygonGentrait PolygonYMirrorShow all
Members list
Value members
Abstract methods
The X component of the centre or halfway point of side 0 of this polygon.
The X component of the centre or halfway point of side 0 of this polygon.
Attributes
The Y component of the centre or halfway point of side 0 of this polygon.
The Y component of the centre or halfway point of side 0 of this polygon.
Attributes
Polygon side 0 from vertex 0 to vertex 1.
Polygon side 0 from vertex 0 to vertex 1.
Attributes
Attributes
- Definition Classes
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 subclasses.
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 subclasses.
Attributes
Concrete methods
The SVG attributes for this polygon.
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
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
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
The SVG points attributes for this polygon.
The SVG points attributes for this polygon.
Attributes
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
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 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
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
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
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
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
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
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 centre or halfway 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 halfway 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
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 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.
Returns a side of the appropriate type for the PolygonBase from the given index. The index cycles.
Returns a side of the appropriate type for the PolygonBase from the given index. The index cycles.
Attributes
- Definition Classes
Attributes
- Definition Classes
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
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
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
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
Text centred and sized from the bounding rectangle.
Text centred and sized from the bounding rectangle.
Attributes
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
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
Inherited methods
Attributes
- Inherited from:
- BoundedElem
Attributes
- Inherited from:
- BoundedElem
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
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
The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.
FlatMaps the vertices of this PolygonBase to a new to PolygonLike class of type BB.
FlatMaps the vertices of this PolygonBase to a new to PolygonLike class of type BB.
Attributes
- Inherited from:
- PolygonBase
foldLeft over the specifying sequence.
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 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 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
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.
Maps the vertices of this PolygonBase to a new to PolygonLike class of type BB.
Maps the vertices of this PolygonBase to a new to PolygonLike class of type BB.
Attributes
- Inherited from:
- PolygonBase
Optionally maps the vertices of this PolygonBase to vertices of a new to PolygonLike class of type BB. If the new PolygonBase has at least 3 vertices returns Some else returns None.
Optionally maps the vertices of this PolygonBase to vertices of a new to PolygonLike class of type BB. If the new PolygonBase has at least 3 vertices returns Some else returns None.
Attributes
- Inherited from:
- PolygonBase
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
Returns the vertex of the given index. Cycles around if the index is out of range, vert 3 returns vert 0 on a triangle.
Returns the vertex of the given index. Cycles around if the index is out of range, vert 3 returns vert 0 on a triangle.
Attributes
- Inherited from:
- PolygonBase
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 PolygonBase. 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 PolygonBase. 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:
- PolygonBase
Inherited and Abstract methods
The number of data elements in the defining sequence. These collections use underlying mutable Arrays and ArrayBuffers. The length of the underlying Array will be a multiple of this number. For Sequs this will be an alternative name for length.
The number of vertices.