|
constexpr | Cell () noexcept |
| Default constructor.
|
|
constexpr Topo | fullHash () const |
| Full stored hash that may contain data from subclasses.
|
|
constexpr | Cell (const Topo hash) noexcept |
| Construct from hash value.
|
|
constexpr | Cell (const HashSize hash, const SlopeSize slope, const AspectSize aspect, const FuelCodeSize &fuel) noexcept |
| Construct based on given attributes.
|
|
constexpr | Cell (const Idx row, const Idx column, const SlopeSize slope, const AspectSize aspect, const FuelCodeSize &fuel) noexcept |
| Constructor.
|
|
constexpr SpreadKey | key () const noexcept |
| A key defining Slope, Aspect, and Fuel, used for determining Cells that spread the same.
|
|
constexpr AspectSize | aspect () const noexcept |
| Aspect (degrees)
|
|
constexpr FuelCodeSize | fuelCode () const noexcept |
| Fuel.
|
|
constexpr SlopeSize | slope () const noexcept |
| Slope (degrees)
|
|
constexpr Topo | topoHash () const noexcept |
| Topo that contains Cell data.
|
|
constexpr Idx | row () const noexcept |
| Row.
|
|
constexpr Idx | column () const noexcept |
| Column.
|
|
constexpr HashSize | hash () const noexcept |
| Hash derived from row and column.
|
|
constexpr bool | operator== (const Position &rhs) const noexcept |
| Equality operator.
|
|
constexpr bool | operator!= (const Position &rhs) const noexcept |
| Inequality operator.
|
|
|
static constexpr Topo | hashCell (const SlopeSize slope, const AspectSize aspect, const FuelCodeSize &fuel) noexcept |
| Hash attributes into a Topo value.
|
|
static constexpr SpreadKey | key (const Topo value) noexcept |
| A key defining Slope, Aspect, and Fuel, used for determining Cells that spread the same.
|
|
static constexpr AspectSize | aspect (const SpreadKey value) noexcept |
| Aspect (degrees)
|
|
static constexpr FuelCodeSize | fuelCode (const SpreadKey value) noexcept |
| Fuel.
|
|
static constexpr SlopeSize | slope (const SpreadKey value) noexcept |
| Slope (degrees)
|
|
static constexpr AspectSize | aspect (const Topo value) noexcept |
| Aspect (degrees)
|
|
static constexpr FuelCodeSize | fuelCode (const Topo value) noexcept |
| Fuel.
|
|
static constexpr SlopeSize | slope (const Topo value) noexcept |
| Slope (degrees)
|
|
static constexpr Topo | topoHash (const Topo value) noexcept |
| Topo that contains Cell data.
|
|
|
static constexpr uint32_t | FuelShift = 32 |
| Shift for fuel bitmask.
|
|
static constexpr uint32_t | FuelBits = std::bit_width<uint32_t>(NUMBER_OF_FUELS) |
| Number of bits in fuel bitmask.
|
|
static constexpr Topo | FuelBitMask = util::bit_mask<FuelBits, Topo>() |
| Bitmask for fuel information in Topo before shift.
|
|
static constexpr Topo | FuelMask = FuelBitMask << FuelShift |
| Bitmask for fuel information in Topo.
|
|
static constexpr uint32_t | AspectShift = FuelBits + FuelShift |
| Shift for aspect bitmask.
|
|
static constexpr uint32_t | AspectBits = std::bit_width<uint32_t>(MAX_ASPECT) |
| Number of bits in aspect bitmask.
|
|
static constexpr Topo | AspectBitMask = util::bit_mask<AspectBits, Topo>() |
| Bitmask for aspect in Topo before shift.
|
|
static constexpr Topo | AspectMask = AspectBitMask << AspectShift |
| Bitmask for aspect in Topo.
|
|
static constexpr uint32_t | SlopeShift = AspectBits + AspectShift |
| Shift for slope bitmask.
|
|
static constexpr uint32_t | SlopeBits = std::bit_width<uint32_t>(MAX_SLOPE_FOR_DISTANCE) |
| Number of bits in slope bitmask.
|
|
static constexpr Topo | SlopeBitMask = util::bit_mask<SlopeBits, Topo>() |
| Bitmask for slope in Topo before shift.
|
|
static constexpr Topo | SlopeMask = SlopeBitMask << SlopeShift |
| Bitmask for slope in Topo.
|
|
static constexpr Topo | CellMask = HashMask | FuelMask | AspectMask | SlopeMask |
| Bitmask for Cell information in Topo.
|
|
static constexpr uint32_t | XYBits |
| Number of bits to use for storing one coordinate of Position data.
|
|
static constexpr uint32_t | PositionBits |
| Number of bits to use for storing Position data.
|
|
static constexpr Topo | ColumnMask |
| Hash mask for bits being used for Position data.
|
|
static constexpr Topo | HashMask |
| Hash mask for bits being used for Position data.
|
|
A Position with a Slope, Aspect, and Fuel.