EGridSys

ostrat.egrid.EGridSys
trait EGridSys extends HGridSys

A hex grid system on the surface of the earth.

Attributes

Graph
Supertypes
trait HGridSys
trait TGridSys
trait HexStruct
trait TCenStruct
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Value members

Abstract methods

def cScale: Length

The length of one column coordinate delta

The length of one column coordinate delta

Attributes

def hCoordLL(hc: HCoord): LatLong

hex coordinate to latitude and longitude.

hex coordinate to latitude and longitude.

Attributes

Concrete methods

override def projection: Panel => HSysProjection

Returns the most appropriate HSysProjection for this HGridSys.

Returns the most appropriate HSysProjection for this HGridSys.

Attributes

Definition Classes

Inherited methods

final def adjTilesOfTile(origin: HCen): HCenArr

Returns a clockwise sequence of adjacent tiles.

Returns a clockwise sequence of adjacent tiles.

Attributes

Inherited from:
HGridSys
def adjTilesOfTile(origR: Int, origC: Int): HCenArr

Returns a clockwise sequence of adjacent tiles.

Returns a clockwise sequence of adjacent tiles.

Attributes

Inherited from:
HGridSys
final def allRsFlatMap[ArrT <: Arr[_]](f: Int => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps over each r row coordinate number.

flatMaps over each r row coordinate number.

Attributes

Inherited from:
TGridSys
final def allRsMap[B, BB <: Arr[B]](f: Int => B)(implicit build: BuilderArrMap[B, BB]): BB

maps over each r row coordinate number.

maps over each r row coordinate number.

Attributes

Inherited from:
TGridSys
def allRsforeach(f: Int => Unit): Unit

For each row of tiles performs side effecting function on the r coordinate of the row.

For each row of tiles performs side effecting function on the r coordinate of the row.

Attributes

Inherited from:
TGridSys
def bottom: Double

The bottom most point in the grid where the value of y is minimum.

The bottom most point in the grid where the value of y is minimum.

Attributes

Inherited from:
TGridSys
final def cenStepEndFind(cenStep: HCenStep): Option[HCen]

Attributes

Inherited from:
HGridSys
def cenVec: Vec2

The centre point as a Vec2. Not sure why this id implemented here.

The centre point as a Vec2. Not sure why this id implemented here.

Attributes

Inherited from:
TGridSys

Attributes

Inherited from:
HGridSys
def cornerLayerArrayIndex(hc: HCen, vertIndex: Int): Int

Gives the index into the unsafe backing Array of a HCornerLayer.

Gives the index into the unsafe backing Array of a HCornerLayer.

Attributes

Inherited from:
HGridSys
def defaultView(pxScale: Double): HGView

Attributes

Inherited from:
HGridSys
def edgesForeach(f: HSep => Unit): Unit

foreach hex edge / outer side's coordinate HSide, calls the effectual function.

foreach hex edge / outer side's coordinate HSide, calls the effectual function.

Attributes

Inherited from:
HGridSys
final def edgesMap[B, ArrT <: Arr[B]](f: HSep => B)(implicit build: BuilderArrMap[B, ArrT]): ArrT

maps over each the grid systems outer side's coordinate HSep.

maps over each the grid systems outer side's coordinate HSep.

Attributes

Inherited from:
HGridSys
def findPath(startCen: HCen, endCen: HCen)(fTerrCost: (HCen, HCen) => OptInt): Option[HCenArr]

Attributes

Inherited from:
HGridSys
def findPathList(startCen: HCen, endCen: HCen)(fTerrCost: (HCen, HCen) => OptInt): Option[List[HCen]]

Finds path from Start hex tile centre to end tile centre given the cost function parameter.

Finds path from Start hex tile centre to end tile centre given the cost function parameter.

Attributes

Inherited from:
HGridSys
def findSepTiles(hs: HSep): Option[(HCen, HCen)]

Attributes

Inherited from:
HGridSys
def flatHCoordToPt2(hCoord: HCoord): Pt2

Gives a flat projection of HCoords to Pt2s. For a simple singular HGrid system this is all that is required to translate between grid coordinates and standard 2 dimensional space. For multi grids it provides a simple way to display all the tiles in the grid system, but a more complex projection may be required for fully meaningful display representation. For Example world grid systems and multi layer square tile games will require their own specialist projections.

Gives a flat projection of HCoords to Pt2s. For a simple singular HGrid system this is all that is required to translate between grid coordinates and standard 2 dimensional space. For multi grids it provides a simple way to display all the tiles in the grid system, but a more complex projection may be required for fully meaningful display representation. For Example world grid systems and multi layer square tile games will require their own specialist projections.

Attributes

Inherited from:
HGridSys
final def flatMap[ArrT <: Arr[_]](f: HCen => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps from all hex tile centre coordinates to an Arr of type ArrT. The elements of this array can not be accessed from this grid class as the TileGrid structure is lost in the flatMap operation.

flatMaps from all hex tile centre coordinates to an Arr of type ArrT. The elements of this array can not be accessed from this grid class as the TileGrid structure is lost in the flatMap operation.

Attributes

Inherited from:
HexStruct
def foreach(f: HCen => Unit): Unit

foreachs over each HCen hex tile centre, applying the side effecting function.

foreachs over each HCen hex tile centre, applying the side effecting function.

Attributes

Inherited from:
HexStruct
def fullDisplayScale(dispWidth: Double, dispHeight: Double, padding: Double): Double

Attributes

Inherited from:
TGridSys
def getHCost(startCen: HCen, endCen: HCen): Int

H cost for A* path finding. To move 1 tile has a cost 2. This is because the G cost or actual cost is the sum of the terrain cost of tile of departure and the tile of arrival.

H cost for A* path finding. To move 1 tile has a cost 2. This is because the G cost or actual cost is the sum of the terrain cost of tile of departure and the tile of arrival.

Attributes

Inherited from:
HGridSys
def hCenExists(r: Int, c: Int): Boolean

Boolean. True if the specified hex centre exists in this hex grid.

Boolean. True if the specified hex centre exists in this hex grid.

Attributes

Inherited from:
HexStruct
final def hCenExists(hc: HCen): Boolean

Boolean. True if the HCen hex centre exists in this hex grid.

Boolean. True if the HCen hex centre exists in this hex grid.

Attributes

Inherited from:
HexStruct
def hCenExistsIfDo(r: Int, c: Int)(proc: => Unit): Unit

If the given HCen exists within this HGridSys, perform the side effecting function.

If the given HCen exists within this HGridSys, perform the side effecting function.

Attributes

Inherited from:
HexStruct
def hCenExistsIfDo(hc: HCen)(proc: => Unit): Unit

If the given HCen exists within this HGridSys, perform the side effecting function.

If the given HCen exists within this HGridSys, perform the side effecting function.

Attributes

Inherited from:
HexStruct
def hCenSteps(hCen: HCen): HStepArr

Attributes

Inherited from:
HGridSys
def hCoordExists(r: Int, c: Int): Boolean

Boolean. True if the specified hex centre exists in this hex grid.

Boolean. True if the specified hex centre exists in this hex grid.

Attributes

Inherited from:
HexStruct
final def hCoordExists(hc: HCoord): Boolean

Boolean. True if the HCen hex centre exists in this hex grid.

Boolean. True if the HCen hex centre exists in this hex grid.

Attributes

Inherited from:
HexStruct
final def height: Double

Height of the tile grid system from furthest tile edge or vertex to furthest tile edge or vertex.

Height of the tile grid system from furthest tile edge or vertex to furthest tile edge or vertex.

Attributes

Inherited from:
TGridSys
def iForeach(init: Int)(f: (Int, HCen) => Unit): Unit

foreachs with index over each HCen hex tile centre, apply the side effecting function.

foreachs with index over each HCen hex tile centre, apply the side effecting function.

Attributes

Inherited from:
HexStruct
def iForeach(f: (Int, HCen) => Unit): Unit

foreachs with index over each HCen hex tile centre, apply the side effecting function.

foreachs with index over each HCen hex tile centre, apply the side effecting function.

Attributes

Inherited from:
HexStruct
final def ifFlatMap[ArrT <: Arr[_]](f1: HCen => Boolean)(f2: HCen => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps from all hex tile centre coordinates to an Arr of type ArrT. The normal flatMap functions is only applied if the condtion of the first function is true.

flatMaps from all hex tile centre coordinates to an Arr of type ArrT. The normal flatMap functions is only applied if the condtion of the first function is true.

Attributes

Inherited from:
HexStruct
final def ifMap[B, ArrB <: Arr[B]](f1: HCen => Boolean)(f2: HCen => B)(implicit build: BuilderArrMap[B, ArrB]): ArrB

Maps each Hcen to an element of type B, only if the predicate function on the HCen is true. Collects the true cases. In some cases this will be easier and more efficient than employing the optMap method.

Maps each Hcen to an element of type B, only if the predicate function on the HCen is true. Collects the true cases. In some cases this will be easier and more efficient than employing the optMap method.

Attributes

Inherited from:
HexStruct

The line segments of the inner separators defined in HCoord vertices.

The line segments of the inner separators defined in HCoord vertices.

Attributes

Inherited from:
HGridSys
def layerArrayIndex(r: Int, c: Int): Int

Gives the index into an Arr / Array of Tile data from its tile HCen. Use sideIndex and vertIndex methods to access Side and Vertex Arr / Array SeqDef data.

Gives the index into an Arr / Array of Tile data from its tile HCen. Use sideIndex and vertIndex methods to access Side and Vertex Arr / Array SeqDef data.

Attributes

Inherited from:
HGridSys
final def layerArrayIndex(hc: HCen): Int

Gives the index into an Arr / Array of Tile data from its tile HCen. Use sideIndex and vertIndex methods to access Side and Vertex Arr / Array data.

Gives the index into an Arr / Array of Tile data from its tile HCen. Use sideIndex and vertIndex methods to access Side and Vertex Arr / Array data.

Attributes

Inherited from:
HexStruct
def left: Double

The left most point in the grid where x is minimum.

The left most point in the grid where x is minimum.

Attributes

Inherited from:
TGridSys
final def linksFlatMap[ArrT <: Arr[_]](f: HSep => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps over each inner hex Separator's coordinate HSep..

flatMaps over each inner hex Separator's coordinate HSep..

Attributes

Inherited from:
HGridSys
def linksForeach(f: HSep => Unit): Unit

foreach hex link / inner side's coordinate HSide, calls the effectual function.

foreach hex link / inner side's coordinate HSide, calls the effectual function.

Attributes

Inherited from:
HGridSys
final def linksMap[B, ArrT <: Arr[B]](f: HSep => B)(implicit build: BuilderArrMap[B, ArrT]): ArrT

maps over each the grid systems link / inner side's coordinate HSep.

maps over each the grid systems link / inner side's coordinate HSep.

Attributes

Inherited from:
HGridSys
final def linksOptMap[B, ArrB <: Arr[B]](f: HSep => Option[B])(implicit build: BuilderArrMap[B, ArrB]): ArrB

OptMaps over each inner hex Side's coordinate HSep.

OptMaps over each inner hex Side's coordinate HSep.

Attributes

Inherited from:
HGridSys
final def map[B, ArrB <: Arr[B]](f: HCen => B)(implicit build: BuilderArrMap[B, ArrB]): ArrB

Maps over the HCen hex centre tile coordinates. B is used rather than A as a type parameter, as this method maps from HCen => B, corresponding to the standard Scala map function of A => B.

Maps over the HCen hex centre tile coordinates. B is used rather than A as a type parameter, as this method maps from HCen => B, corresponding to the standard Scala map function of A => B.

Attributes

Inherited from:
HexStruct
def mapPair[B2](f2: HCen => B2)(implicit build: HCenPairArrMapBuilder[B2]): HCenPairArr[B2]

Maps each HCen of this hex grid system to an HCenPair. The first part of the pair is just the HCen, the second part of the pair is produced by the parameter function.

Maps each HCen of this hex grid system to an HCenPair. The first part of the pair is just the HCen, the second part of the pair is produced by the parameter function.

Attributes

Inherited from:
HexStruct
final def newHCenArrOfBuff[A <: AnyRef](implicit ct: ClassTag[A]): HCenBuffLayer[A]

Creates a new HCenBuffLayer An [[HCen] hex tile centre corresponding Arr of empty ArrayBuffers of the given or inferred type.

Creates a new HCenBuffLayer An [[HCen] hex tile centre corresponding Arr of empty ArrayBuffers of the given or inferred type.

Attributes

Inherited from:
HGridSys
final def numCorners: Int

The number of HCorners in this HGridSys, 6 for each HCen.

The number of HCorners in this HGridSys, 6 for each HCen.

Attributes

Inherited from:
HexStruct

Number of rows of tile centres. This will be different to the number of rows of sides and and will be different to the number of rows of vertices for HexGrids.

Number of rows of tile centres. This will be different to the number of rows of sides and and will be different to the number of rows of vertices for HexGrids.

Attributes

Inherited from:
TGridSys
final def optMap[B, ArrB <: Arr[B]](f: HCen => Option[B])(implicit build: BuilderArrMap[B, ArrB]): ArrB

Maps from all hex tile centre coordinates to an Arr of type ArrT. The elements of this array can not be accessed from this grid class as the TileGrid structure is lost in the flatMap operation.

Maps from all hex tile centre coordinates to an Arr of type ArrT. The elements of this array can not be accessed from this grid class as the TileGrid structure is lost in the flatMap operation.

Attributes

Inherited from:
HexStruct
def optMapPair[B2](f2: HCen => Option[B2])(implicit build: HCenPairArrMapBuilder[B2]): HCenPairArr[B2]

OptMaps each HCen of this hex grid system to an HCenPair.

OptMaps each HCen of this hex grid system to an HCenPair.

Attributes

Inherited from:
HexStruct

The line segments of the outer separators defined in HCoord vertices.

The line segments of the outer separators defined in HCoord vertices.

Attributes

Inherited from:
HGridSys
def right: Double

The right most point in the grid where the value of x is maximum.

The right most point in the grid where the value of x is maximum.

Attributes

Inherited from:
TGridSys
def rowsCombine[A <: AnyRef](layer: LayerHcRefSys[A], indexingGSys: HGridSys): RArr[HCenRowPair[A]]

For each row combine data layer into RArr[HCenRowPair]. May be superceded

For each row combine data layer into RArr[HCenRowPair]. May be superceded

Attributes

Inherited from:
HGridSys
def sepExists(hs: HSep): Boolean

Does the HSep hex tile separator exist within thisHGridSys.

Does the HSep hex tile separator exist within thisHGridSys.

Attributes

Inherited from:
HGridSys
def sepExists(r: Int, c: Int): Boolean

Does the HSep hex tile separator exist within thisHGridSys.

Does the HSep hex tile separator exist within thisHGridSys.

Attributes

Inherited from:
HGridSys
def sepLayerArrayIndex(r: Int, c: Int): Int

Gives the index into an Arr / Array of side data from its tile HSep. Use arrIndex and vertIndex methods to access Side and Vertex Arr / Array data.

Gives the index into an Arr / Array of side data from its tile HSep. Use arrIndex and vertIndex methods to access Side and Vertex Arr / Array data.

Attributes

Inherited from:
HGridSys
final def sepLayerArrayIndex(hc: HSep): Int

Gives the index into an Arr / Array of Tile data from its tile HSep. Use arrIndex and vertIndex methods to access tile centre and Vertex Arr / Array data.

Gives the index into an Arr / Array of Tile data from its tile HSep. Use arrIndex and vertIndex methods to access tile centre and Vertex Arr / Array data.

Attributes

Inherited from:
HGridSys

The line segments of the sides defined in HCoord vertices.

The line segments of the sides defined in HCoord vertices.

Attributes

Inherited from:
HGridSys
def sepOptMapPair[B2](f2: HSep => Option[B2])(implicit build: HSepBuilderArrPairMap[B2]): HSepArrPair[B2]

OptMaps each HSep of this hex grid system to an HSepPair.

OptMaps each HSep of this hex grid system to an HSepPair.

Attributes

Inherited from:
HGridSys

Attributes

Inherited from:
HGridSys
def sepTileLtOpt(hSide: HSep): Option[HCen]

Attributes

Inherited from:
HGridSys
def sepTileLtUnsafe(hSide: HSep): HCen

This method should only be used when you know the hex separator exists.

This method should only be used when you know the hex separator exists.

Attributes

Inherited from:
HGridSys
def sepTileRtOpt(hSide: HSep): Option[HCen]

Attributes

Inherited from:
HGridSys
def sepTileRtUnsafe(hSide: HSep): HCen

This method should only be used when you know the hex separator exists.

This method should only be used when you know the hex separator exists.

Attributes

Inherited from:
HGridSys
final def seps: HSepArr

The HSep hex separator coordinates.

The HSep hex separator coordinates.

Attributes

Inherited from:
HGridSys
final def sepsFlatMap[ArrT <: Arr[_]](f: HSep => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps over each Hex Separator's coordinate HSep.

flatMaps over each Hex Separator's coordinate HSep.

Attributes

Inherited from:
HGridSys
def sepsForeach(f: HSep => Unit): Unit

foreach Hex separator's coordinate HSep, calls the effectual function.

foreach Hex separator's coordinate HSep, calls the effectual function.

Attributes

Inherited from:
HGridSys
final def sepsMap[B, ArrT <: Arr[B]](f: HSep => B)(implicit build: BuilderArrMap[B, ArrT]): ArrT

maps over each Hex Separator's coordinate HSep in the hex grid system.

maps over each Hex Separator's coordinate HSep in the hex grid system.

Attributes

Inherited from:
HGridSys
final def sepsOptMap[B, ArrB <: Arr[B]](f: HSep => Option[B])(implicit build: BuilderArrMap[B, ArrB]): ArrB

Optionally maps over each Hex Separator's coordinate HSep.

Optionally maps over each Hex Separator's coordinate HSep.

Attributes

Inherited from:
HGridSys
def stepEndFind(r: Int, c: Int, step: HStep): Option[HCen]

Optionally returns the destination of an HStep if the destination exists in the HGridSys.

Optionally returns the destination of an HStep if the destination exists in the HGridSys.

Attributes

Inherited from:
HGridSys
def stepEndFind(startHC: HCen, step: HStep): Option[HCen]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Inherited from:
HGridSys
def stepEndGet(startCen: HCen, step: HStep): HCen

Unsafe. Gets the destination HCen from the HStep. Throws exception if no end point,

Unsafe. Gets the destination HCen from the HStep. Throws exception if no end point,

Attributes

Inherited from:
HGridSys
def stepEndOrStart(startHC: HCen, step: HStep): HCen

Finds step from Start HCen to target from HCen if end hex exists, else returns start hex.

Finds step from Start HCen to target from HCen if end hex exists, else returns start hex.

Attributes

Inherited from:
HGridSys
def stepExists(startCen: HCen, endCen: HCen): Boolean

Attributes

Inherited from:
HGridSys
def stepFind(startCen: HCen, endCen: HCen): Option[HStep]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Inherited from:
HGridSys
final def stepFind(startR: Int, startC: Int, endR: Int, endC: Int): Option[HStep]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Inherited from:
HGridSys
def stepLikeEndFind(startHC: HCen, stepLike: HStepLike): Option[HCen]

Finds the end from an HStepLike.

Finds the end from an HStepLike.

Attributes

Inherited from:
HGridSys
def stepsEndFind(startCen: HCen, steps: HStepArr): Option[HCen]

Attributes

Inherited from:
HGridSys
def top: Double

The top most point in the grid where the value of y is maximum.

The top most point in the grid where the value of y is maximum.

Attributes

Inherited from:
TGridSys
def vertArrIndex(r: Int, c: Int): Int

Gives the index into an Arr / Array of side data from its tile HVert. Use arrIndex and vertIndex methods to access tile centre and side Arr / Array data.

Gives the index into an Arr / Array of side data from its tile HVert. Use arrIndex and vertIndex methods to access tile centre and side Arr / Array data.

Attributes

Inherited from:
HGridSys
final def vertArrIndex(hc: HSep): Int

Gives the index into an Arr / Array of Tile data from its tile HVert. Use arrIndex and sideArrIndex methods to access tile centre and side Arr / Array data.

Gives the index into an Arr / Array of Tile data from its tile HVert. Use arrIndex and sideArrIndex methods to access tile centre and side Arr / Array data.

Attributes

Inherited from:
HGridSys
def vertToCoordFind(hVert: HVert, dirn: HVDirn): Option[HCoord]

Finds the HCoord if it exists, by taking the HVDirn from an HVert.

Finds the HCoord if it exists, by taking the HVDirn from an HVert.

Attributes

Inherited from:
HGridSys
final def vertsFlatMap[ArrT <: Arr[_]](f: HVert => ArrT)(implicit build: BuilderArrFlat[ArrT]): ArrT

flatMaps over each Hex vertex's coordinate HVert.

flatMaps over each Hex vertex's coordinate HVert.

Attributes

Inherited from:
HGridSys
def vertsForeach(f: HVert => Unit): Unit

foreach Hex vertex coordinate HVert, calls the effectual function.

foreach Hex vertex coordinate HVert, calls the effectual function.

Attributes

Inherited from:
HGridSys
final def vertsMap[B, ArrT <: Arr[B]](f: HVert => B)(implicit build: BuilderArrMap[B, ArrT]): ArrT

maps over each Hex Separator's coordinate HSep in the hex grid system.

maps over each Hex Separator's coordinate HSep in the hex grid system.

Attributes

Inherited from:
HGridSys
final def width: Double

Width of the tile grid system from furthest tile edge or vertex to furthest tile edge or vertex.

Width of the tile grid system from furthest tile edge or vertex to furthest tile edge or vertex.

Attributes

Inherited from:
TGridSys
def xCen: Double

The centre of this grid in the X axis. this will be equal to the cCen Int value.

The centre of this grid in the X axis. this will be equal to the cCen Int value.

Attributes

Inherited from:
TGridSys
def yCen: Double

The centre of this grid in the y axis. For SqGrids this will be equal to the cCen Int value, but this is not the case for HGrids.

The centre of this grid in the y axis. For SqGrids this will be equal to the cCen Int value, but this is not the case for HGrids.

Attributes

Inherited from:
TGridSys
final override def yRatio: Double

The conversion factor for c column tile grid coordinates. 1.0 / sqrt(3).

The conversion factor for c column tile grid coordinates. 1.0 / sqrt(3).

Attributes

Definition Classes
Inherited from:
HexStruct

Inherited fields

final lazy val numInnerSides: Int

The number of inner sides in the hex grid system.

The number of inner sides in the hex grid system.

Attributes

Inherited from:
HGridSys
final lazy val numOuterSides: Int

The number of outer sides in the hex grid system.

The number of outer sides in the hex grid system.

Attributes

Inherited from:
HGridSys
final lazy val numSides: Int

The number of sides in the hex grid system.

The number of sides in the hex grid system.

Attributes

Inherited from:
HGridSys
final lazy override val numTiles: Int

The total number of tile centres in this tile Grid system.

The total number of tile centres in this tile Grid system.

Attributes

Inherited from:
HGridSys