The implementation class for a general Polygon as opposed to a specific Polygon such as a Square or a Rectangle, is encoded as a sequence of plain 2 dimension (mathematical) vectors. Minimum length 3. Clockwise is the default. Polygon may be altered to include a centre.
Attributes
- Companion
- object
- Graph
-
- Supertypes
-
trait Pt2SeqSpectrait PolygonDbl2[Pt2]trait PolygonDblN[Pt2]trait PolygonValueN[Pt2]trait SeqSpecDbl2[Pt2]trait SeqSpecDblN[Pt2]trait SeqSpecValueN[Pt2]trait AffinePreservetrait SimilarPreservetrait ProlignPreservetrait Pt2SeqLiketrait SeqLikeImutDbl2[Pt2]trait SeqLikeDbl2[Pt2]trait SeqLikeImutDblN[Pt2]trait ArrayDblBackedtrait SpecialTtrait SeqLikeImutValueN[Pt2]trait SeqLikeBacked[Pt2]trait SeqLikeValueN[Pt2]trait PointDbl2SeqLike[Pt2]trait PointDblNSeqLike[Pt2]trait PointSeqLike[Pt2]trait Polygontrait PolygonBase[Pt2]trait VertSeqSpec[Pt2]trait Equalstrait Shapetrait BoundedElemtrait Fillabletrait Drawabletrait Aff2Elemtrait Simil2Elemtrait Axlign2Elemclass Objecttrait Matchableclass AnyShow all
Members list
Type members
Types
Gives the final type of this class.
Gives the final type of this class.
Attributes
Value members
Concrete methods
Attributes
- Definition Classes
Insert vertex.
Insert vertices
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 number of vertices.
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
A method to perform all the ProlignPreserve transformations with a function from PT2 => PT2.
A method to perform all the ProlignPreserve transformations with a function from PT2 => PT2.
Attributes
- Definition Classes
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
- Definition Classes
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
- Definition Classes
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
- Definition Classes
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.
Polygon side 0 from vertex 0 to vertex 1.
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
String specifying the type of this object.
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
- Definition Classes
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
- Definition Classes
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
- Definition Classes
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
- Definition Classes
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
- Definition 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 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
- Definition Classes
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- Polygon
Attributes
- Inherited from:
- Polygon
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
Maps the 1st Doubles of each element to a double with one functions and then the second Doubles with a second Double.
Maps the 1st Doubles of each element to a double with one functions and then the second Doubles with a second Double.
Attributes
- Inherited from:
- SeqLikeImutDbl2
Attributes
- Inherited from:
- SeqLikeImutDbl2
Attributes
- Inherited from:
- SeqLikeImutDbl2
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:
- PolygonDbl2
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- SeqLikeImutDbl2
Produces a new Array[Double] of the same size, with the functions acting on the first and second Double of each element.
Produces a new Array[Double] of the same size, with the functions acting on the first and second Double of each element.
Attributes
- Inherited from:
- SeqLikeImutDbl2
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
The height of the BoundingRect of this object.
The height of the BoundingRect of this object.
Attributes
- Definition Classes
- Inherited from:
- Polygon
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
- Inherited from:
- Polygon
The width of the BoundingRect of this object.
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 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
- Inherited from:
- Polygon
This maps from the final type to the final type by just using functions on the underlying Doubles.
This maps from the final type to the final type by just using functions on the underlying Doubles.
Attributes
- Inherited from:
- SeqLikeImutDbl2
Attributes
- Inherited from:
- Polygon
Accesses the specifying sequence element by a 0 based index. For Sequs this will an alternative name for apply.
Accesses the specifying sequence element by a 0 based index. For Sequs this will an alternative name for apply.
Attributes
- Definition Classes
- Inherited from:
- SeqLikeImutDbl2
Attributes
- Inherited from:
- SeqLikeImutDbl2
Attributes
- Inherited from:
- SeqLikeImutDbl2
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:
- SeqLikeDbl2
Attributes
- Definition Classes
- Inherited from:
- Pt2SeqSpec
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
Attributes
- Inherited from:
- SeqSpecValueN
The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.
String for element, can be overridden.
Attributes
- Inherited from:
- Polygon
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
- Inherited from:
- Polygon
Attributes
- Inherited from:
- Polygon
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
- Inherited from:
- Polygon
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
- Inherited from:
- Polygon
Attributes
- Inherited from:
- Polygon
Attributes
- Inherited from:
- Polygon
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
- Inherited from:
- Polygon
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
Approximation for an inner rectangle given a starting centre.
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
Mutates an element in the Arr at the given index. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Mutates an element in the Arr at the given index. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Attributes
- Inherited from:
- SeqLikeBacked
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 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.
Attributes
- Definition Classes
- Inherited from:
- SeqLikeImutDbl2
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
The SVG points attributes for this polygon.
Attributes
- Inherited from:
- Polygon
Determines if the parameter point lies inside this Polygon.
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
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
Sets / mutates an element in the Arr at the given index. 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 at the given index. This method should rarely be needed by end users, but is used by the initialisation and factory methods.
Attributes
- Definition Classes
- Inherited from:
- SeqLikeImutDbl2
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:
- SeqLikeBacked
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
- Inherited from:
- Polygon
Attributes
- Definition Classes
- Inherited from:
- Polygon
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
- Inherited from:
- ProlignPreserve
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
- Inherited from:
- ProlignPreserve
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:
- SeqSpecDbl2
Text centred and sized from the bounding rectangle.
Attributes
- Inherited from:
- BoundedElem
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:
- SeqLikeImutDblN
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
- Inherited from:
- Polygon
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.
Performs the side effecting function on the value of each vertex.
Performs the side effecting function on the value of each vertex.
Attributes
- Definition Classes
- Inherited from:
- PolygonValueN
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 from:
- Polygon
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
Attributes
- Inherited from:
- Pt2SeqSpec
Attributes
- Inherited from:
- Pt2SeqSpec