tess 0.4.0
Performance-first tile and path simulation substrate
Loading...
Searching...
No Matches
tess::ShapeTraits< Shape > Struct Template Reference

#include <tess/core/shape.h>

Public Types

using TileKeyStorage = detail::KeyStorage<tile_key_bits>

Static Public Attributes

static constexpr Extent3 size = Shape::size
static constexpr Extent3 chunk = Shape::chunk
static constexpr std::uint64_t chunk_count_x = size.x / chunk.x
static constexpr std::uint64_t chunk_count_y = size.y / chunk.y
static constexpr std::uint64_t chunk_count_z = size.z / chunk.z
static constexpr auto precise_chunk_count = detail::chunk_count(size, chunk)
static constexpr auto precise_local_tile_count = detail::product(chunk)
static constexpr std::uint64_t chunk_count
static constexpr std::uint64_t local_tile_count
static constexpr std::uint32_t local_bits
static constexpr std::uint32_t chunk_bits
static constexpr std::uint32_t tile_key_bits = local_bits + chunk_bits
static constexpr bool single_chunk = chunk_count == 1
static constexpr bool degenerate_x = size.x == 1
static constexpr bool degenerate_y = size.y == 1
static constexpr bool degenerate_z = size.z == 1

Detailed Description

template<typename Shape>
struct tess::ShapeTraits< Shape >

Derived counts, bit widths, and degeneracy flags for a Shape.

Member Data Documentation

◆ chunk_bits

template<typename Shape>
std::uint32_t tess::ShapeTraits< Shape >::chunk_bits
staticconstexpr
Initial value:
=
detail::bits_for_count(precise_chunk_count)

◆ chunk_count

template<typename Shape>
std::uint64_t tess::ShapeTraits< Shape >::chunk_count
staticconstexpr
Initial value:
=
static_cast<std::uint64_t>(precise_chunk_count)

◆ local_bits

template<typename Shape>
std::uint32_t tess::ShapeTraits< Shape >::local_bits
staticconstexpr
Initial value:
=
detail::bits_for_count(precise_local_tile_count)

◆ local_tile_count

template<typename Shape>
std::uint64_t tess::ShapeTraits< Shape >::local_tile_count
staticconstexpr
Initial value:
=
static_cast<std::uint64_t>(precise_local_tile_count)

The documentation for this struct was generated from the following file: