LinePathBase

ostrat.geom.LinePathBase
trait LinePathBase[VT] extends VertSeqSpec[VT], SeqLikeBacked[VT]

A generalisation of a line path where the type of the vertices is not restricted to Pt2.

Attributes

Graph
Supertypes
trait SeqLikeBacked[VT]
trait VertSeqSpec[VT]
trait SeqSpec[VT]
trait SeqLike[VT]
class Any
Known subtypes
trait LinePathDblN[VT]
trait LinePathDbl2[VT]
class LinePathLL
class LinePath
class LinePathFm2
class LinePathKm2
class LinePathM2
class LinePathPm2
trait LinePathDbl3[VT]
class LinePathKm3
class LinePathM3
trait LinePathIntN[VT]
trait LinePathInt2[VT]
class LinePathHC
Show all

Members list

Type members

Types

type LineSegT <: LSegBase[VT]
type PolygonT <: PolygonBase[VT]
type ThisT <: LinePathBase[VT]

Gives the final type of this class.

Gives the final type of this class.

Attributes

Value members

Abstract methods

def %:(operand: VT): ThisT

Prepends a single vertex of type VT. Returns a new extended LinePathBase.

Prepends a single vertex of type VT. Returns a new extended LinePathBase.

Attributes

def %<:(operand: VT): ThisT

Prepends a single vertex of type VT. Returns a new extended LinePathBase.

Prepends a single vertex of type VT. Returns a new extended LinePathBase.

Attributes

def +%(operandPt: VT): ThisT

Appends a single vertex of type VT. Returns a new extended LinePathBase.

Appends a single vertex of type VT. Returns a new extended LinePathBase.

Attributes

def ++(operand: ThisT): ThisT

Appends another LinePathBase of this type. Returns a new extended LinePathBase.

Appends another LinePathBase of this type. Returns a new extended LinePathBase.

Attributes

def ++<(operand: ThisT): ThisT

Appends the reverse vertex order of another LinePathBase of this type. Returns a new extended LinePathBase. The < character after the ++ indicates that is the operand that is being reversed.

Appends the reverse vertex order of another LinePathBase of this type. Returns a new extended LinePathBase. The < character after the ++ indicates that is the operand that is being reversed.

Attributes

def +-+(operand: ThisT): ThisT

Appends the tail (without its first point) of the operand LinePathBase of this type. The ++ indicates to append a sequence. The trailing indicates to drop the first point of the operand.

Appends the tail (without its first point) of the operand LinePathBase of this type. The ++ indicates to append a sequence. The trailing indicates to drop the first point of the operand.

Attributes

def +<+(operand: ThisT): ThisT

Reverses this line path and then appends the operand. The < character between the + characters indicates that it this line path that is reversed.

Reverses this line path and then appends the operand. The < character between the + characters indicates that it this line path that is reversed.

Attributes

def +<+<(operand: ThisT): ThisT

Reverses this line path and then appends the operand. The < character between the + characters indicates that it this line path that is reversed.

Reverses this line path and then appends the operand. The < character between the + characters indicates that it this line path that is reversed.

Attributes

def init: ThisT

This line path with the last vertex removed. This can be useful for borders where the end points may show up in multiple line paths and therefore sometimes need to be excluded when appending.

This line path with the last vertex removed. This can be useful for borders where the end points may show up in multiple line paths and therefore sometimes need to be excluded when appending.

Attributes

def inner: ThisT

This line path with the first and last vertex's removed. This can be useful for borders where the end points may show up in multiple line paths* and therefore sometimes need to be excluded when appending.

This line path with the first and last vertex's removed. This can be useful for borders where the end points may show up in multiple line paths* and therefore sometimes need to be excluded when appending.

Attributes

def tail: ThisT

This line path with the first vertex removed. This can be useful for borders where the end points may show up in multiple line paths and therefore sometimes need to be excluded when appending.

This line path with the first vertex removed. This can be useful for borders where the end points may show up in multiple line paths and therefore sometimes need to be excluded when appending.

Attributes

Closes this LinePathBase into a PolygonBase by adding a LSegBase from the last vertex to the first.

Closes this LinePathBase into a PolygonBase by adding a LSegBase from the last vertex to the first.

Attributes

def |+%|(operandPt: VT): PolygonT

Appends the operand point and closes the path into a PolygonBase of the matching type. +% indicates to append a point. The enclosing '|' characters indicate to close the line path into a polygon.

Appends the operand point and closes the path into a PolygonBase of the matching type. +% indicates to append a point. The enclosing '|' characters indicate to close the line path into a polygon.

Attributes

def |++<|(operand: ThisT): PolygonT

Appends the reverse vertex order of another LinePathBase of this type. Returns a new extended closed PolygonBase. The < after the ++ indicates it is the operand to be reversed.

Appends the reverse vertex order of another LinePathBase of this type. Returns a new extended closed PolygonBase. The < after the ++ indicates it is the operand to be reversed.

Attributes

def |++|(operand: ThisT): PolygonT

Appends the operand LinePathBase of this type and closes the path into a PolygonBase of the matching type. ++ indicates to append a sequence. The enclosing '|' characters indicate to close the line path into a polygon.

Appends the operand LinePathBase of this type and closes the path into a PolygonBase of the matching type. ++ indicates to append a sequence. The enclosing '|' characters indicate to close the line path into a polygon.

Attributes

def |+-+|(operand: ThisT): PolygonT

Appends the tail (without its first point) of the operand LinePathBase of this type, closing the path to a PolygonBase of the matching type. ++ indicates append a sequence. The - between the + characters indicates to drop the first point of the operand. The enclosing '|' characters indicate to close the line path into a polygon.

Appends the tail (without its first point) of the operand LinePathBase of this type, closing the path to a PolygonBase of the matching type. ++ indicates append a sequence. The - between the + characters indicates to drop the first point of the operand. The enclosing '|' characters indicate to close the line path into a polygon.

Attributes

def |+<+|(operand: ThisT): PolygonT

Reverses this line path, appends the operand line path and then closes to a polygon. The < character between the + characters indicates that this line is reversed. The | characters at the begining and the end indicate to close to a polygon.

Reverses this line path, appends the operand line path and then closes to a polygon. The < character between the + characters indicates that this line is reversed. The | characters at the begining and the end indicate to close to a polygon.

Attributes

def |+|[AA >: VT](op: VT): PolygonT

Appends a single vertex of type A. Returns a PolygonBase.

Appends a single vertex of type A. Returns a PolygonBase.

Attributes

def |-++-|(operand: ThisT): PolygonT

Appends the init of another LinePathBase of this type to the init of this LinePathBase, closing the path to return a PolygonBase of the matching type. The - before the ++ indicates to drop the last point of this line path. The - after the ++ indicates to drop the end point of the operand.

Appends the init of another LinePathBase of this type to the init of this LinePathBase, closing the path to return a PolygonBase of the matching type. The - before the ++ indicates to drop the last point of this line path. The - after the ++ indicates to drop the end point of the operand.

Attributes

Concrete methods

def map[B <: ValueNElem, BB <: LinePathBase[B]](f: VT => B)(implicit build: LinePathBuilder[B, BB]): BB

maps to a LinePathBase. This map operates on a single LinePathBase its not to be confused with a map on Arr of LinePathBases.

maps to a LinePathBase. This map operates on a single LinePathBase its not to be confused with a map on Arr of LinePathBases.

Attributes

final def numVerts: Int

The number of vertices.

The number of vertices.

Attributes

Inherited methods

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
def fElemStr: VT => String

String for element, can be overridden.

String for element, can be overridden.

Attributes

Inherited from:
SeqLike
def foldLeft[B](initVal: B)(f: (B, VT) => B): B

foldLeft over the specifying sequence.

foldLeft over the specifying sequence.

Attributes

Inherited from:
SeqSpec
override def foreach[U](f: VT => 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, VT) => 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, VT) => 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: VT => 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: VT

Last element of the specifying sequence.

Last element of the specifying sequence.

Attributes

Inherited from:
SeqSpec
def mapArr[B, ArrB <: Arr[B]](f: VT => 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: VT => VT): 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
def reverseForeach[U](f: VT => 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
def setElemsUnsafe(index: Int, elems: VT*): 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, VT) => 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: VT => 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
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

Inherited and Abstract methods

def elem(index: Int): VT

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

Inherited from:
SeqLike
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

Inherited from:
SeqLike
def setElemUnsafe(index: Int, newElem: VT): 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

Inherited from:
SeqLikeBacked

String specifying the type of this object.

String specifying the type of this object.

Attributes

Inherited from:
SeqLike