FIFE  be64c707dea6b3250bd4355bf5c825d25920087d
FIFE::SquareGrid Class Reference

#include <squaregrid.h>

+ Inheritance diagram for FIFE::SquareGrid:
+ Collaboration diagram for FIFE::SquareGrid:

Public Member Functions

 SquareGrid ()
 
virtual ~SquareGrid ()
 
const std::string & getType () const
 Type of cellgrid. More...
 
const std::string & getName () const
 Name of the cellgrid (DEPRECATED? -jwt) More...
 
bool isAccessible (const ModelCoordinate &curpos, const ModelCoordinate &target)
 Tells if given target point is accessible from curpos only cells adjacent to curpos are considered in the evaluation. More...
 
double getAdjacentCost (const ModelCoordinate &curpos, const ModelCoordinate &target)
 Returns distance const from curpos to target point only cells adjacent to curpos are considered in the evaluation. More...
 
double getHeuristicCost (const ModelCoordinate &curpos, const ModelCoordinate &target)
 Returns distance const from curpos to target point. More...
 
uint32_t getCellSideCount () const
 Gets the count of sides for a single cell. More...
 
ExactModelCoordinate toMapCoordinates (const ExactModelCoordinate &layer_coords)
 Transforms given point from layer coordinates to map coordinates. More...
 
ModelCoordinate toLayerCoordinates (const ExactModelCoordinate &map_coord)
 Transforms given point from map coordinates to layer coordinates. More...
 
ExactModelCoordinate toExactLayerCoordinates (const ExactModelCoordinate &map_coord)
 Transforms given point from map coordinates to layer coordinates. More...
 
ModelCoordinate toLayerCoordinatesFromExactLayerCoordinates (const ExactModelCoordinate &exact_layer_coords)
 Transforms given point from exact layer coordinates to cell precision layer coordinates. More...
 
void getVertices (std::vector< ExactModelCoordinate > &vtx, const ModelCoordinate &cell)
 Fills given point vector with vertices from selected cell. More...
 
std::vector< ModelCoordinatetoMultiCoordinates (const ModelCoordinate &position, const std::vector< ModelCoordinate > &orig, bool reverse)
 Returns point vector with coordinates for a multi object. More...
 
std::vector< ModelCoordinategetCoordinatesInLine (const ModelCoordinate &start, const ModelCoordinate &end)
 Returns point vector with coordinates for a line from start to end. More...
 
CellGridclone ()
 Returns clone of this cellgrid. More...
 
- Public Member Functions inherited from FIFE::CellGrid
 CellGrid ()
 Constructor. More...
 
virtual ~CellGrid ()
 Destructor. More...
 
void getAccessibleCoordinates (const ModelCoordinate &curpos, std::vector< ModelCoordinate > &coordinates)
 Gets the coordinates that are accesible from given point only cells adjacent to given cell are considered in the evaluation. More...
 
ExactModelCoordinate toMapCoordinates (const ModelCoordinate &layer_coords)
 Transforms given point from layer coordinates to map coordinates. More...
 
void setXShift (const double &xshift)
 Set the cellgrid x shift. More...
 
const double getXShift () const
 Get the cellgrid x shift. More...
 
void setYShift (const double yshift)
 Set the cellgrid y shift. More...
 
const double getYShift () const
 Get the cellgrid y shift. More...
 
void setZShift (const double zshift)
 Set the cellgrid z shift. More...
 
const double getZShift () const
 Get the cellgrid z shift. More...
 
void setXScale (const double scale)
 Set the cellgrid x-scaling. More...
 
void setYScale (const double scale)
 Set the cellgrid y-scaling. More...
 
void setZScale (const double scale)
 Set the cellgrid z-scaling. More...
 
const double getXScale () const
 Get the cellgrid x-scaling. More...
 
const double getYScale () const
 Get the cellgrid y-scaling. More...
 
const double getZScale () const
 Get the cellgrid z-scaling. More...
 
void setRotation (const double rotation)
 Set the cellgrid rotation. More...
 
const double getRotation () const
 Get the cellgrid rotation. More...
 
void setAllowDiagonals (const bool allow_diagonals)
 Set whether diagonal cell access is allowed. More...
 
const bool getAllowDiagonals () const
 Get whether diagonal cell access is allowed. More...
 
- Public Member Functions inherited from FIFE::FifeClass
 FifeClass ()
 
virtual ~FifeClass ()
 
fifeid_t getFifeId ()
 Gets unique id of this instance inside the engine. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FIFE::CellGrid
void updateMatrices ()
 
bool ptInTriangle (const ExactModelCoordinate &pt, const ExactModelCoordinate &pt1, const ExactModelCoordinate &pt2, const ExactModelCoordinate &pt3)
 
- Protected Attributes inherited from FIFE::CellGrid
DoubleMatrix m_matrix
 
DoubleMatrix m_inverse_matrix
 
double m_xshift
 
double m_yshift
 
double m_zshift
 
double m_xscale
 
double m_yscale
 
double m_zscale
 
double m_rotation
 
bool m_allow_diagonals
 

Detailed Description

Definition at line 38 of file squaregrid.h.

Constructor & Destructor Documentation

◆ SquareGrid()

FIFE::SquareGrid::SquareGrid ( )

Definition at line 40 of file squaregrid.cpp.

Referenced by clone().

+ Here is the caller graph for this function:

◆ ~SquareGrid()

FIFE::SquareGrid::~SquareGrid ( )
virtual

Definition at line 57 of file squaregrid.cpp.

Member Function Documentation

◆ clone()

◆ getAdjacentCost()

double FIFE::SquareGrid::getAdjacentCost ( const ModelCoordinate curpos,
const ModelCoordinate target 
)
virtual

Returns distance const from curpos to target point only cells adjacent to curpos are considered in the evaluation.

Parameters
curposposition (coordinates) to evaluate
targettarget coordinate to check
Returns
distance cost from curpos to target

Implements FIFE::CellGrid.

Definition at line 77 of file squaregrid.cpp.

References ABS, FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

◆ getCellSideCount()

uint32_t FIFE::SquareGrid::getCellSideCount ( ) const
inlinevirtual

Gets the count of sides for a single cell.

Returns
count of sides for a single cell

Implements FIFE::CellGrid.

Definition at line 48 of file squaregrid.h.

References clone(), getCoordinatesInLine(), getVertices(), toExactLayerCoordinates(), toLayerCoordinates(), toLayerCoordinatesFromExactLayerCoordinates(), toMapCoordinates(), and toMultiCoordinates().

◆ getCoordinatesInLine()

std::vector< ModelCoordinate > FIFE::SquareGrid::getCoordinatesInLine ( const ModelCoordinate start,
const ModelCoordinate end 
)
virtual

Returns point vector with coordinates for a line from start to end.

Parameters
startThe start position
endThe end position
Returns
vector with points

Implements FIFE::CellGrid.

Definition at line 149 of file squaregrid.cpp.

References ABS, FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

Referenced by getCellSideCount().

+ Here is the caller graph for this function:

◆ getHeuristicCost()

double FIFE::SquareGrid::getHeuristicCost ( const ModelCoordinate curpos,
const ModelCoordinate target 
)
virtual

Returns distance const from curpos to target point.

Parameters
curposposition (coordinates) to evaluate
targettarget coordinate to check
Returns
distance cost from curpos to target

Implements FIFE::CellGrid.

Definition at line 86 of file squaregrid.cpp.

References ABS, FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

◆ getName()

const std::string & FIFE::SquareGrid::getName ( ) const
virtual

Name of the cellgrid (DEPRECATED? -jwt)

Implements FIFE::CellGrid.

Definition at line 95 of file squaregrid.cpp.

◆ getType()

const std::string & FIFE::SquareGrid::getType ( ) const
virtual

Type of cellgrid.

Implements FIFE::CellGrid.

Definition at line 90 of file squaregrid.cpp.

◆ getVertices()

void FIFE::SquareGrid::getVertices ( std::vector< ExactModelCoordinate > &  vtx,
const ModelCoordinate cell 
)
virtual

Fills given point vector with vertices from selected cell.

Parameters
vtxvertices for given cell
cellcell to get vertices from

Implements FIFE::CellGrid.

Definition at line 118 of file squaregrid.cpp.

References FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

Referenced by getCellSideCount().

+ Here is the caller graph for this function:

◆ isAccessible()

bool FIFE::SquareGrid::isAccessible ( const ModelCoordinate curpos,
const ModelCoordinate target 
)
virtual

Tells if given target point is accessible from curpos only cells adjacent to curpos are considered in the evaluation.

Parameters
curposposition (coordinates) to evaluate
targettarget coordinate to check
Returns
true, if target is accessible from curpos, false otherwise

Implements FIFE::CellGrid.

Definition at line 60 of file squaregrid.cpp.

References ABS, FIFE::CellGrid::m_allow_diagonals, FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

◆ toExactLayerCoordinates()

ExactModelCoordinate FIFE::SquareGrid::toExactLayerCoordinates ( const ExactModelCoordinate map_coord)
virtual

Transforms given point from map coordinates to layer coordinates.

Returns
point in layer coordinates

Implements FIFE::CellGrid.

Definition at line 104 of file squaregrid.cpp.

References FIFE::CellGrid::m_inverse_matrix.

Referenced by getCellSideCount(), and toLayerCoordinates().

+ Here is the caller graph for this function:

◆ toLayerCoordinates()

ModelCoordinate FIFE::SquareGrid::toLayerCoordinates ( const ExactModelCoordinate map_coord)
virtual

Transforms given point from map coordinates to layer coordinates.

Returns
point in layer coordinates

Implements FIFE::CellGrid.

Definition at line 108 of file squaregrid.cpp.

References toExactLayerCoordinates(), and toLayerCoordinatesFromExactLayerCoordinates().

Referenced by getCellSideCount().

+ Here is the caller graph for this function:

◆ toLayerCoordinatesFromExactLayerCoordinates()

ModelCoordinate FIFE::SquareGrid::toLayerCoordinatesFromExactLayerCoordinates ( const ExactModelCoordinate exact_layer_coords)
virtual

Transforms given point from exact layer coordinates to cell precision layer coordinates.

Returns
point in layer coordinates

Implements FIFE::CellGrid.

Definition at line 113 of file squaregrid.cpp.

References FIFE::PointType3D< T >::x, FIFE::PointType3D< T >::y, and FIFE::PointType3D< T >::z.

Referenced by getCellSideCount(), and toLayerCoordinates().

+ Here is the caller graph for this function:

◆ toMapCoordinates()

ExactModelCoordinate FIFE::SquareGrid::toMapCoordinates ( const ExactModelCoordinate layer_coords)
virtual

Transforms given point from layer coordinates to map coordinates.

Returns
point in map coordinates

Implements FIFE::CellGrid.

Definition at line 100 of file squaregrid.cpp.

References FIFE::CellGrid::m_matrix.

Referenced by getCellSideCount().

+ Here is the caller graph for this function:

◆ toMultiCoordinates()

std::vector< ModelCoordinate > FIFE::SquareGrid::toMultiCoordinates ( const ModelCoordinate position,
const std::vector< ModelCoordinate > &  orig,
bool  reverse 
)
virtual

Returns point vector with coordinates for a multi object.

Parameters
positionThe center position
origThe vector with the original coordinates from object
reverseIf true the orig coordinates are subtracted otherwise they are added

Implements FIFE::CellGrid.

Definition at line 128 of file squaregrid.cpp.

References FIFE::PointType3D< T >::x, and FIFE::PointType3D< T >::y.

Referenced by getCellSideCount().

+ Here is the caller graph for this function:

The documentation for this class was generated from the following files: