PolygonLL

ostrat.geom.pglobe.PolygonLL
See thePolygonLL companion object
final class PolygonLL(val arrayUnsafe: Array[Double]) extends AnyVal, LatLongSeqSpec, PolygonDbl2[LatLong]

A latitude-longitude polygon. A quasi polygon where the points are stored as points of latitude and longitude.Once the points are converted into a view, ie into pixel positions an actual polygon can be drawn or filled as desired. Do not create Polygons that span an arc of greater than 90 degrees as this may break the algorithms. preferably keep the arcs significantly smaller.

Attributes

Companion
object
Graph
Supertypes

Members list

Type members

Types

type SideT = LineSegLL
type ThisT = PolygonLL

Gives the final type of this class.

Gives the final type of this class.

Attributes

Value members

Concrete methods

override def fromArray(array: Array[Double]): PolygonLL

Attributes

Definition Classes
override def side(index: Int): LineSegLL

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
override def sides: LineSegLLArr

Attributes

Definition Classes
override def sidesForeach[U](f: LineSegLL => U): Unit

Attributes

Definition Classes

maps the vertices of this PolygonBase from LatLongs to PtM3s.

maps the vertices of this PolygonBase from LatLongs to PtM3s.

Attributes

override def typeStr: String

String specifying the type of this object.

String specifying the type of this object.

Attributes

Definition Classes
override def verts: LatLongArr

Attributes

Definition Classes
override def vertsForeach[U](f: LatLong => U): Unit

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

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

Attributes

Definition Classes
override def vertsMap[B, ArrB <: Arr[B]](f: LatLong => B)(implicit builder: BuilderArrMap[B, ArrB]): ArrB

Maps the LatLong values of each vertex to an immutable Array like sequence of type B.

Maps the LatLong values of each vertex to an immutable Array like sequence of type B.

Attributes

Definition Classes
override def vertsPrevForEach[U](f: (LatLong, LatLong) => U): Unit

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

Definition Classes

Inherited methods

def appendArray(appendProductsLength: Int): Array[Double]

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

Maps the 1st Double of each element to a new Array[Double], copies the 2nd elements.

Maps the 1st Double of each element to a new Array[Double], copies the 2nd elements.

Attributes

Inherited from:
SeqLikeImutDbl2

Maps the 2nd Double of each element with the parameter function to a new Array[Double], copies the 1st Double of each element.

Maps the 2nd Double of each element with the parameter function to a new Array[Double], copies the 1st Double of each element.

Attributes

Inherited from:
SeqLikeImutDbl2

Maps the 2 Doubles of each element to a new Array[Double].

Maps the 2 Doubles of each element to a new Array[Double].

Attributes

Inherited from:
SeqLikeImutDbl2
override protected def arrayForSides: Array[Double]

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
final def arrayLen: Int

The length of the backing Array Double.

The length of the backing Array Double.

Attributes

Inherited from:
ArrayDblBacked

Maps the Tuple2[Double, Double]s to Tuple2[Double, Double}.

Maps the Tuple2[Double, Double]s to Tuple2[Double, Double}.

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
def dblsMap(f1: Double => Double, f2: Double => Double): ThisT

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
final override def elem(index: Int): LatLong

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
final override def elemEq(a1: LatLong, a2: LatLong): Boolean

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
final override def elemFromDbls(d1: Double, d2: Double): LatLong

Constructs a Dbl2Elem from 2 Doubles.

Constructs a Dbl2Elem from 2 Doubles.

Attributes

Definition Classes
Inherited from:
LatLongSeqSpec
final override def elemProdSize: Int

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
override def elemsStr: String

The element String allows the composition of toString for the whole collection. The syntax of the output will be reworked.

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:
SeqSpec
final override def fElemStr: LatLong => String

String for element, can be overridden.

String for element, can be overridden.

Attributes

Definition Classes
Inherited from:
LatLongSeqLike
def flatMap[B <: ValueNElem, BB <: PolygonBase[B]](f: LatLong => SeqLike[B])(implicit build: PolygonLikeFlatBuilder[B, BB]): BB

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
def foldLeft[B](initVal: B)(f: (B, LatLong) => B): B

foldLeft over the specifying sequence.

foldLeft over the specifying sequence.

Attributes

Inherited from:
SeqSpec
override def foreach[U](f: LatLong => U): Unit

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

Definition Classes
Inherited from:
SeqSpec
def iForeach[U](initIndex: Int)(f: (Int, LatLong) => U): Unit

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
def iForeach[U](f: (Int, LatLong) => Any): Unit

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
def innerForeach[U](f: LatLong => U): Unit

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
def last: LatLong

Last element of the specifying sequence.

Last element of the specifying sequence.

Attributes

Inherited from:
SeqSpec
def map[B <: ValueNElem, BB <: PolygonBase[B]](f: LatLong => B)(implicit build: PolygonLikeBuilderMap[B, BB]): BB

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
def mapArr[B, ArrB <: Arr[B]](f: LatLong => B)(implicit ev: BuilderArrMap[B, ArrB]): ArrB

Specialised map to an immutable Arr of B. For Sequ dataMap is the same as map, but for other structures it will be different, for example a PolygonLike will map to another PolygonLike.

Specialised map to an immutable Arr of B. For Sequ dataMap is the same as map, but for other structures it will be different, for example a PolygonLike will map to another PolygonLike.

Attributes

Inherited from:
SeqSpec
def mutateElemUnsafe(index: Int, f: LatLong => LatLong): Unit

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
final override def numElems: Int

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
override def numVerts: Int

The number of vertices.

The number of vertices.

Attributes

Definition Classes
Inherited from:
PolygonValueN
def optMap[B <: ValueNElem, BB <: PolygonBase[B]](f: LatLong => Option[B])(implicit build: PolygonLikeBuilderMap[B, BB]): Option[BB]

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
override def reverse: ThisT

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
def reverseForeach[U](f: LatLong => U): Unit

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
override def setElemUnsafe(index: Int, newElem: LatLong): Unit

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
def setElemsUnsafe(index: Int, elems: LatLong*): Unit

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
def tailFold[B](initial: B)(f: (B, LatLong) => B): B

FoldLeft over the tail of the specifying sequence.

FoldLeft over the tail of the specifying sequence.

Attributes

Inherited from:
SeqSpec
def tailForeach[U](f: LatLong => U): Unit

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
def tailForeachPair[U](f: (Double, Double) => U): Unit

Attributes

Inherited from:
SeqSpecDbl2
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
SeqLike -> Any
Inherited from:
SeqLike

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
def unsafeSameSize(length: Int): ThisT

Attributes

Inherited from:
SeqLikeImutDblN
def vert(vertNum: Int): LatLong

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.

This method should be overridden in final classes.

Attributes

Inherited from:
PolygonBase

Checks this polygon has at least 3 vertices.

Checks this polygon has at least 3 vertices.

Attributes

Inherited from:
PolygonBase

Concrete fields