UFO 1.0.0
An Efficient Probabilistic 3D Mapping Framework That Embraces the Unknown
Loading...
Searching...
No Matches
ufo::Morton< Dim > Struct Template Reference

Static Public Member Functions

static constexpr std::uint32_t compact32 (std::uint32_t m)
 
static constexpr std::uint32_t compact64 (std::uint64_t m)
 
static constexpr Vec< Dim, std::uint32_t > decode32 (std::uint32_t m)
 
static constexpr std::uint32_t decode32 (std::uint32_t m, std::size_t pos)
 
static constexpr Vec< Dim, std::uint32_t > decode64 (std::uint64_t m)
 
static constexpr std::uint32_t decode64 (std::uint64_t m, std::size_t pos)
 
template<std::convertible_to< std::uint32_t >... Args>
requires (sizeof...(Args) == Dim)
static constexpr std::uint32_t encode32 (Args... args)
 
static constexpr std::uint32_t encode32 (Vec< Dim, std::uint32_t > const &v)
 
template<std::convertible_to< std::uint32_t >... Args>
requires (sizeof...(Args) == Dim)
static constexpr std::uint64_t encode64 (Args... args)
 
static constexpr std::uint64_t encode64 (Vec< Dim, std::uint32_t > const &v)
 
static constexpr std::uint32_t spread32 (std::uint32_t x)
 
static constexpr std::uint64_t spread64 (std::uint32_t x)
 

Static Public Attributes

static constexpr std::size_t LEVELS_32 = 32 / Dim
 
static constexpr std::size_t LEVELS_64 = 64 / Dim
 
static constexpr std::uint32_t X_M_32 = detail::MortonMask<Dim, std::uint32_t, 0>
 
static constexpr std::uint64_t X_M_64 = detail::MortonMask<Dim, std::uint64_t, 0>
 

Detailed Description

template<std::size_t Dim>
struct ufo::Morton< Dim >

Definition at line 212 of file morton.hpp.

Member Function Documentation

◆ compact32()

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::compact32 ( std::uint32_t  m)
inlinestaticconstexpr

Definition at line 277 of file morton.hpp.

◆ compact64()

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::compact64 ( std::uint64_t  m)
inlinestaticconstexpr

Definition at line 282 of file morton.hpp.

◆ decode32() [1/2]

template<std::size_t Dim>
static constexpr Vec< Dim, std::uint32_t > ufo::Morton< Dim >::decode32 ( std::uint32_t  m)
inlinestaticconstexpr

Definition at line 245 of file morton.hpp.

◆ decode32() [2/2]

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::decode32 ( std::uint32_t  m,
std::size_t  pos 
)
inlinestaticconstexpr

Definition at line 250 of file morton.hpp.

◆ decode64() [1/2]

template<std::size_t Dim>
static constexpr Vec< Dim, std::uint32_t > ufo::Morton< Dim >::decode64 ( std::uint64_t  m)
inlinestaticconstexpr

Definition at line 256 of file morton.hpp.

◆ decode64() [2/2]

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::decode64 ( std::uint64_t  m,
std::size_t  pos 
)
inlinestaticconstexpr

Definition at line 261 of file morton.hpp.

◆ encode32() [1/2]

template<std::size_t Dim>
template<std::convertible_to< std::uint32_t >... Args>
requires (sizeof...(Args) == Dim)
static constexpr std::uint32_t ufo::Morton< Dim >::encode32 ( Args...  args)
inlinestaticconstexpr

Definition at line 221 of file morton.hpp.

◆ encode32() [2/2]

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::encode32 ( Vec< Dim, std::uint32_t > const &  v)
inlinestaticconstexpr

Definition at line 227 of file morton.hpp.

◆ encode64() [1/2]

template<std::size_t Dim>
template<std::convertible_to< std::uint32_t >... Args>
requires (sizeof...(Args) == Dim)
static constexpr std::uint64_t ufo::Morton< Dim >::encode64 ( Args...  args)
inlinestaticconstexpr

Definition at line 234 of file morton.hpp.

◆ encode64() [2/2]

template<std::size_t Dim>
static constexpr std::uint64_t ufo::Morton< Dim >::encode64 ( Vec< Dim, std::uint32_t > const &  v)
inlinestaticconstexpr

Definition at line 240 of file morton.hpp.

◆ spread32()

template<std::size_t Dim>
static constexpr std::uint32_t ufo::Morton< Dim >::spread32 ( std::uint32_t  x)
inlinestaticconstexpr

Definition at line 267 of file morton.hpp.

◆ spread64()

template<std::size_t Dim>
static constexpr std::uint64_t ufo::Morton< Dim >::spread64 ( std::uint32_t  x)
inlinestaticconstexpr

Definition at line 272 of file morton.hpp.

Member Data Documentation

◆ LEVELS_32

template<std::size_t Dim>
constexpr std::size_t ufo::Morton< Dim >::LEVELS_32 = 32 / Dim
staticconstexpr

Definition at line 216 of file morton.hpp.

◆ LEVELS_64

template<std::size_t Dim>
constexpr std::size_t ufo::Morton< Dim >::LEVELS_64 = 64 / Dim
staticconstexpr

Definition at line 217 of file morton.hpp.

◆ X_M_32

template<std::size_t Dim>
constexpr std::uint32_t ufo::Morton< Dim >::X_M_32 = detail::MortonMask<Dim, std::uint32_t, 0>
staticconstexpr

Definition at line 213 of file morton.hpp.

◆ X_M_64

template<std::size_t Dim>
constexpr std::uint64_t ufo::Morton< Dim >::X_M_64 = detail::MortonMask<Dim, std::uint64_t, 0>
staticconstexpr

Definition at line 214 of file morton.hpp.


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