HGrid

ostrat.prid.phex.HGrid
trait HGrid extends TGrid with HGridSys

A grid of hexs. The grid may be a regular rectangle of hexs or an irregular grid with variable length rows.

Attributes

Graph
Supertypes
trait HGridSys
trait TGrid
trait TGridSys
class Any
Known subtypes

Members list

Concise view

Side Members

Trait members that operate on the sides of the Hex Grid.

final def bottomSideR: Int

The bottom, lowest or minimum Side Row of this TileGrid. The r value, the row number value.

The bottom, lowest or minimum Side Row of this TileGrid. The r value, the row number value.

Attributes

Inherited from:
TGrid

Foreachs over each inner row of Sides. Users will not normally need to use this method directly.

Foreachs over each inner row of Sides. Users will not normally need to use this method directly.

Attributes

Inherited from:
TGrid
final def numOfSideRows: Int

The number of Rows of Sides.

The number of Rows of Sides.

Attributes

Inherited from:
TGrid

Foreachs over each Row of Sides. Users will not normally need to use this method directly.

Foreachs over each Row of Sides. Users will not normally need to use this method directly.

Attributes

Inherited from:
TGrid
final override def sidesForeach(f: HSide => Unit): Unit

foreach Hex side's coordinate HSide, calls the effectfull function.

foreach Hex side's coordinate HSide, calls the effectfull function.

Attributes

Definition Classes
final def topSideRow: Int

The top, highest or maximum Side Row of this TileGrid. The r value, the row number.

The top, highest or maximum Side Row of this TileGrid. The r value, the row number.

Attributes

Inherited from:
TGrid

Value members

Abstract methods

override def coordCen: HCoord

The TCenOrSide coordinate centre of this tile grid.

The TCenOrSide coordinate centre of this tile grid.

Attributes

Definition Classes

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

The number of tile centre rows where r %% 4 == 0.

The number of tile centre rows where r %% 4 == 0.

Attributes

The number of tile centre rows where r %% 4 == 2.

The number of tile centre rows where r %% 4 == 2.

Attributes

def rowForeach(r: Int)(f: HCen => Unit): Unit

Carries out the procedure function on each HCen hex tile centre coordinate in the given tile row. This method is defined here rather than on TileGrid so it can take the specific narrow HCen parameter to the foreach function.

Carries out the procedure function on each HCen hex tile centre coordinate in the given tile row. This method is defined here rather than on TileGrid so it can take the specific narrow HCen parameter to the foreach function.

Attributes

def rowForeachSide(r: Int)(f: HSide => Unit): Unit

Calls the Foreach procedure on every Hex Side in the row given by the input parameter.

Calls the Foreach procedure on every Hex Side in the row given by the input parameter.

Attributes

def rowLeftCenC(row: Int): Int

The start (or by default left column) of the tile centre of the given row.

The start (or by default left column) of the tile centre of the given row.

Attributes

def rowNumTiles(row: Int): Int

The number of tile centres in the given row.

The number of tile centres in the given row.

Attributes

def rowRightCenC(row: Int): Int

The end (or by default right) column number of the tile centre of the given row.

The end (or by default right) column number of the tile centre of the given row.

Attributes

Concrete methods

final override 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

Definition Classes
final def cenRowEmpty(row: Int): Boolean

Is the specified tile centre row empty?

Is the specified tile centre row empty?

Attributes

override def defaultView(pxScale: Double): HGView

Attributes

Definition Classes
override def findStep(startHC: HCen, endHC: HCen): Option[HDirn]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Definition Classes
override def findStepEnd(startHC: HCen, step: HDirn): Option[HCen]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Definition Classes
override 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

Definition Classes
final override 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

Definition Classes
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

def ghj: TBuff[AnyRef]
override def hCenSteps(hCen: HCen): HDirnArr

Attributes

Definition Classes
final override def iForeach(f: (HCen, Int) => 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

Definition Classes
final override def iForeach(init: Int)(f: (HCen, Int) => 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

Definition Classes
final override 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

Definition Classes
final override def leftSideC: Int

The TSide tile side, with the lowest C column coordinate. This places it on the left most points of the grid.

The TSide tile side, with the lowest C column coordinate. This places it on the left most points of the grid.

Attributes

Definition Classes
final def linksForeach(f: HSide => 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

final override 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

Definition Classes
final override def rightSideC: Int

The TSide tile side, with the highest C column coordinate. This places it on the right most points of the grid.

The TSide tile side, with the highest C column coordinate. This places it on the right most points of the grid.

Attributes

Definition Classes
def rowCombine[A <: AnyRef](data: HCenLayer[A], indexingGrider: HGridSys): RArr[HCenRowTuple[A]]
def rowLeftCoordC(row: Int, c: Int): Int
def rowRightCoordC(row: Int, c: Int): Int

The end (or by default right) column number of the hex coordinate row. So note that for the pruposes of this method 2, 2 is not considered to be in the smae row as 2, 1 and 2, 3, although they have the same c number. Similarly Cen 2, 2 is not condsidered to be in the same row as sides 2, 0 and 2, 6.

The end (or by default right) column number of the hex coordinate row. So note that for the pruposes of this method 2, 2 is not considered to be in the smae row as 2, 1 and 2, 3, although they have the same c number. Similarly Cen 2, 2 is not condsidered to be in the same row as sides 2, 0 and 2, 6.

Attributes

final override 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

Definition Classes
override def unsafeStepEnd(startCen: HCen, step: HDirn): HCen

Attributes

Definition Classes
final override def yCen: Double

The centre of the hex grid along the Y axis after the yRatio has been applied to the r row value.

The centre of the hex grid along the Y axis after the yRatio has been applied to the r row value.

Attributes

Definition Classes

Inherited methods

Attributes

Inherited from:
HGridSys
def arrIndex(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 arrIndex(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:
HGridSys

The bottom or lowest tile centre row, r coordinate.

The bottom or lowest tile centre row, r coordinate.

Attributes

Inherited from:
TGrid
def cCen: Int

The centre of the hex grid in terms of c column coordinates.

The centre of the hex grid in terms of c column coordinates.

Attributes

Inherited from:
TGrid

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
final def edgesMap[B, ArrT <: Arr[B]](f: HSide => B)(implicit build: ArrMapBuilder[B, ArrT]): ArrT

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

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

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
final def findStep(startR: Int, startC: Int, endR: Int, endC: Int): Option[HDirn]

Finds step from Start HCen to target from HCen.

Finds step from Start HCen to target from HCen.

Attributes

Inherited from:
HGridSys
final def flatMap[ArrT <: Arr[_]](f: HCen => ArrT)(implicit build: ArrFlatBuilder[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:
HGridSys
final def flatMapRows[ArrT <: Arr[_]](f: Int => ArrT)(implicit build: ArrFlatBuilder[ArrT]): ArrT

flatMaps over each row number.

flatMaps over each row number.

Attributes

Inherited from:
TGridSys
final def foldRows[B](init: B)(f: (B, Int) => B): B

foldLefts over each row number.

foldLefts over each row number.

Attributes

Inherited from:
TGrid
final def foreachRow(f: Int => Unit): Unit

Foreach grid Row y coordinate.

Foreach grid Row y coordinate.

Attributes

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

Attributes

Inherited from:
TGridSys
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:
HGridSys
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:
HGridSys
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

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

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

Attributes

Inherited from:
HGridSys

The minimum or lowest tile centre column c coordinate in the whole tile grid. This is called c rather than x because in hex grids HGrids there is not a 1 to 1 ratio from column coordinate to the x value in a Pt2.

The minimum or lowest tile centre column c coordinate in the whole tile grid. This is called c rather than x because in hex grids HGrids there is not a 1 to 1 ratio from column coordinate to the x value in a Pt2.

Attributes

Inherited from:
TGrid
final def linksFlatMap[ArrT <: Arr[_]](f: HSide => ArrT)(implicit build: ArrFlatBuilder[ArrT]): ArrT

flatMaps over each inner hex Side's coordinate HSide..

flatMaps over each inner hex Side's coordinate HSide..

Attributes

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

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

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

Attributes

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

OptMaps over each inner hex Side's coordinate HSide.

OptMaps over each inner hex Side's coordinate HSide.

Attributes

Inherited from:
HGridSys
final def map[B, ArrB <: Arr[B]](f: HCen => B)(implicit build: ArrMapBuilder[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:
HGridSys
final def mapRows[B, BB <: Arr[B]](f: Int => B)(implicit build: ArrMapBuilder[B, BB]): BB

maps over each row number.

maps over each row number.

Attributes

Inherited from:
TGridSys
final def newHCenArrLayer[A <: AnyRef](implicit ct: ClassTag[A]): HCenArrLayer[A]

New hex tile data layer of RArr[A].

New hex tile data layer of RArr[A].

Attributes

Inherited from:
HGridSys
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 newHCenLayer[A <: AnyRef](value: A)(implicit ct: ClassTag[A]): HCenLayer[A]

New hex tile data layer.

New hex tile data layer.

Attributes

Inherited from:
HGridSys
final def newHCenOptLayer[A <: AnyRef](implicit ct: ClassTag[A]): HCenOptLayer[A]

New hex tile data layer of optional data for this HGridSys.

New hex tile data layer of optional data for this HGridSys.

Attributes

Inherited from:
HGridSys
def newHCenSubLayer[A <: AnyRef](superGrid: HGridSys, superLayer: HCenLayer[A])(implicit ct: ClassTag[A]): HCenLayer[A]

Creates new data layer for this HGridSys from the master HGridSys's data layer.

Creates new data layer for this HGridSys from the master HGridSys's data layer.

Attributes

Inherited from:
HGridSys

Attributes

Inherited from:
HGridSys
final def numOfVertRows: Int

The number of Rows of vertices.

The number of Rows of vertices.

Attributes

Inherited from:
TGrid

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:
TGrid
final def optMap[B, ArrB <: Arr[B]](f: HCen => Option[B])(implicit build: ArrMapBuilder[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:
HGridSys

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

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

Attributes

Inherited from:
HGridSys

Attributes

Inherited from:
HGridSys
def rCen: Int

The centre of the hex grid in terms of r row coordinates.

The centre of the hex grid in terms of r row coordinates.

Attributes

Inherited from:
TGrid

the Maximum or highest tile centre column c coordinate in the whole tile grid. This is called c rather than x because in hex grids HGrids there is not a 1 to 1 ratio from column coordinate to the x value in a Pt2.

the Maximum or highest tile centre column c coordinate in the whole tile grid. This is called c rather than x because in hex grids HGrids there is not a 1 to 1 ratio from column coordinate to the x value in a Pt2.

Attributes

Inherited from:
TGrid
def sideArrIndex(r: Int, c: Int): Int

Gives the index into an Arr / Array of side data from its tile HSide. 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 HSide. Use arrIndex and vertIndex methods to access Side and Vertex Arr / Array data.

Attributes

Inherited from:
HGridSys
final def sideArrIndex(hc: HSide): Int

Gives the index into an Arr / Array of Tile data from its tile HSide. 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 HSide. 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
final def sides: HSideArr

The HSide hex side coordinates.

The HSide hex side coordinates.

Attributes

Inherited from:
HGridSys
final def sidesFlatMap[ArrT <: Arr[_]](f: HSide => ArrT)(implicit build: ArrFlatBuilder[ArrT]): ArrT

flatMaps over each Hex Side's coordinate HSide.

flatMaps over each Hex Side's coordinate HSide.

Attributes

Inherited from:
HGridSys
final def sidesMap[B, ArrT <: Arr[B]](f: HSide => B)(implicit build: ArrMapBuilder[B, ArrT]): ArrT

maps over each Hex Side's coordinate HSide in the hex grid system.

maps over each Hex Side's coordinate HSide in the hex grid system.

Attributes

Inherited from:
HGridSys

The top of highest tile centre row, r coordinate.

The top of highest tile centre row, r coordinate.

Attributes

Inherited from:
TGrid
final def topSideR: Int

The top or highest centre row, r coordinate.

The top or highest centre row, r coordinate.

Attributes

Inherited from:
TGrid
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: HSide): 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
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
override 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

Definition Classes
Inherited from:
TGrid
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:
HGridSys

Concrete fields

Array of indexs for Side data Arrs giving the index value for the start of each side row.

Array of indexs for Side data Arrs giving the index value for the start of each side row.

Attributes

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