tess 1.0.0
Performance-first tile and path simulation substrate
Loading...
Searching...
No Matches
tess::ResolvedTransitionModel< World, ClassOrTag, Provider > Class Template Reference

#include <tess/topology/transition_model.h>

Public Types

using world_type = World
using shape_type = typename World::shape_type
using class_type = movement::movement_class_of<ClassOrTag>
using step_policy = movement::step_policy_of<class_type>
using provider_type = Provider
using cost_type = std::uint32_t

Public Member Functions

constexpr ResolvedTransitionModel (Provider provider)
template<typename Sink>
constexpr void for_each_forward (const World &world, Coord3 from, std::uint64_t from_index, Sink &&sink) const
template<typename Sink>
constexpr void for_each_reverse (const World &world, Coord3 to, std::uint64_t to_index, Sink &&sink) const
template<typename Sink>
constexpr void for_each_dependency_chunk (const World &world, Coord3 from, Sink &&sink) const
constexpr auto revision () const noexcept -> std::uint64_t

Static Public Member Functions

static constexpr auto is_regular_candidate (Coord3 from, Coord3 to) noexcept -> bool
static constexpr auto regular_availability (const World &world, Coord3 from, Coord3 to) noexcept -> TransitionAvailability
static constexpr auto heuristic (const World &, Coord3 from, Coord3 goal) noexcept -> cost_type

Static Public Attributes

static constexpr auto lattice_identity
static constexpr auto lattice_version
static constexpr auto step_policy_identity = step_policy::identity
static constexpr std::uint32_t cost_scale = step_policy::cost_scale
static constexpr bool preserves_default_connectivity
static constexpr bool has_special_transitions

Detailed Description

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
class tess::ResolvedTransitionModel< World, ClassOrTag, Provider >

Compile-time resolved lattice, movement-class, and step-policy model.

Member Function Documentation

◆ is_regular_candidate()

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
constexpr auto tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::is_regular_candidate ( Coord3 from,
Coord3 to ) -> bool
inlinestaticnodiscardconstexprnoexcept

Returns whether to is a geometric regular-step candidate.

◆ regular_availability()

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
constexpr auto tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::regular_availability ( const World & world,
Coord3 from,
Coord3 to ) -> TransitionAvailability
inlinestaticnodiscardconstexprnoexcept

Classifies static clearance for a geometric regular candidate.

Member Data Documentation

◆ has_special_transitions

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
bool tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::has_special_transitions
staticconstexpr
Initial value:
=
!std::is_same_v<Provider, AdjacentTransitions>

◆ lattice_identity

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
auto tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::lattice_identity
staticconstexpr
Initial value:
=
ShapeTraits<shape_type>::lattice_identity

◆ lattice_version

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
auto tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::lattice_version
staticconstexpr
Initial value:
=
ShapeTraits<shape_type>::lattice_version

◆ preserves_default_connectivity

template<typename World, typename ClassOrTag, typename Provider = AdjacentTransitions>
bool tess::ResolvedTransitionModel< World, ClassOrTag, Provider >::preserves_default_connectivity
staticconstexpr
Initial value:
=
std::is_same_v<typename ShapeTraits<shape_type>::lattice_type,
std::is_same_v<Provider, AdjacentTransitions>
Definition lattice.h:15

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