OmniSciDB
a5dc49c757
|
Go to the source code of this file.
Classes | |
struct | BaseCellRotation |
base cell at a given ijk and required rotations into its system More... | |
Functions | |
EXTENSION_INLINE int | _isBaseCellPentagon (int baseCell) |
Return whether or not the indicated base cell is a pentagon. More... | |
EXTENSION_INLINE int | _faceIjkToBaseCell (const FaceIJK(h)) |
Return whether the indicated base cell is a pentagon where all neighbors are oriented towards it. More... | |
EXTENSION_INLINE int | _faceIjkToBaseCellCCWrot60 (const FaceIJK(h)) |
Find base cell given FaceIJK. More... | |
EXTENSION_INLINE bool | _baseCellIsCwOffset (int baseCell, int testFace) |
Find the FaceIJK given a base cell. More... | |
Variables | |
static DEVICE const BaseCellRotation | faceIjkBaseCells [NUM_ICOSA_FACES][3][3][3] |
Neighboring base cell ID in each IJK direction. More... | |
DEVICE const BaseCellData | baseCellData [NUM_BASE_CELLS] |
Resolution 0 base cell data table. More... | |
EXTENSION_INLINE bool _baseCellIsCwOffset | ( | int | baseCell, |
int | testFace | ||
) |
Find the FaceIJK given a base cell.
Given a base cell and the face it appears on, return the number of 60' ccw rotations for that base cell's coordinate system.
Definition at line 887 of file baseCells.hpp.
References baseCellData, and BaseCellData::cwOffsetPent.
Referenced by _faceIjkToH3().
EXTENSION_INLINE int _faceIjkToBaseCell | ( | const | FaceIJKh | ) |
Return whether the indicated base cell is a pentagon where all neighbors are oriented towards it.
Find base cell given FaceIJK.
Given the face number and a resolution 0 ijk+ coordinate in that face's face-centered ijk coordinate system, return the base cell located at that coordinate.
Valid ijk+ lookup coordinates are from (0, 0, 0) to (2, 2, 2).
Definition at line 842 of file baseCells.hpp.
References BaseCellRotation::baseCell, FACE_INDEX, faceIjkBaseCells, I_INDEX, J_INDEX, and K_INDEX.
Referenced by _faceIjkToH3().
EXTENSION_INLINE int _faceIjkToBaseCellCCWrot60 | ( | const | FaceIJKh | ) |
Find base cell given FaceIJK.
Given the face number and a resolution 0 ijk+ coordinate in that face's face-centered ijk coordinate system, return the number of 60' ccw rotations to rotate into the coordinate system of the base cell at that coordinates.
Valid ijk+ lookup coordinates are from (0, 0, 0) to (2, 2, 2).
Definition at line 854 of file baseCells.hpp.
References BaseCellRotation::ccwRot60, FACE_INDEX, faceIjkBaseCells, I_INDEX, J_INDEX, and K_INDEX.
Referenced by _faceIjkToH3().
EXTENSION_INLINE int _isBaseCellPentagon | ( | int | baseCell | ) |
Return whether or not the indicated base cell is a pentagon.
Invalid number of rotations
Definition at line 824 of file baseCells.hpp.
References baseCellData, and BaseCellData::isPentagon.
Referenced by _faceIjkToH3(), _h3ToFaceIjk(), and _h3ToFaceIjkWithInitializedFijk().
DEVICE const BaseCellData baseCellData[NUM_BASE_CELLS] |
Resolution 0 base cell data table.
For each base cell, gives the "home" face and ijk+ coordinates on that face, whether or not the base cell is a pentagon. Additionally, if the base cell is a pentagon, the two cw offset rotation adjacent faces are given (-1 indicates that no cw offset rotation faces exist for this base cell).
Definition at line 697 of file baseCells.hpp.
Referenced by _baseCellIsCwOffset(), _h3ToFaceIjk(), and _isBaseCellPentagon().
|
static |
Neighboring base cell ID in each IJK direction.
For each base cell, for each direction, the neighboring base cell ID is given. 127 indicates there is no neighbor in that direction.Neighboring base cell rotations in each IJK direction.
For each base cell, for each direction, the number of 60 degree CCW rotations to the coordinate system of the neighbor is given. -1 indicates there is no neighbor in that direction.Resolution 0 base cell lookup table for each face.
Given the face number and a resolution 0 ijk+ coordinate in that face's face-centered ijk coordinate system, gives the base cell located at that coordinate and the number of 60 ccw rotations to rotate into that base cell's orientation.
Valid lookup coordinates are from (0, 0, 0) to (2, 2, 2).
This table can be accessed using the functions _faceIjkToBaseCell
and _faceIjkToBaseCellCCWrot60
Definition at line 308 of file baseCells.hpp.
Referenced by _faceIjkToBaseCell(), and _faceIjkToBaseCellCCWrot60().