aether::netcode::detail::spatial_bucket< Point > Struct Template Reference

#include <spatial_index.hh>

Public Types

using component_type = int64_t
 
using point_type = Point
 

Public Member Functions

bool operator== (const spatial_bucket &o) const
 
bool operator!= (const spatial_bucket &o) const
 
size_t hash_value () const
 
boost::geometry::model::box< point_typeto_box () const
 

Static Public Member Functions

static std::optional< component_typediscretize_component (const double f, const size_t _width)
 
static std::optional< spatial_bucketencode_bucket (const aether::vec3f &position, size_t width)
 

Public Attributes

component_type width
 
component_type x
 
component_type y
 
component_type z
 

Member Typedef Documentation

template<typename Point >
using aether::netcode::detail::spatial_bucket< Point >::component_type = int64_t
template<typename Point >
using aether::netcode::detail::spatial_bucket< Point >::point_type = Point

Member Function Documentation

template<typename Point >
static std::optional<component_type> aether::netcode::detail::spatial_bucket< Point >::discretize_component ( const double  f,
const size_t  _width 
)
inlinestatic
template<typename Point >
static std::optional<spatial_bucket> aether::netcode::detail::spatial_bucket< Point >::encode_bucket ( const aether::vec3f &  position,
size_t  width 
)
inlinestatic
template<typename Point >
size_t aether::netcode::detail::spatial_bucket< Point >::hash_value ( ) const
inline
template<typename Point >
bool aether::netcode::detail::spatial_bucket< Point >::operator!= ( const spatial_bucket< Point > &  o) const
inline
template<typename Point >
bool aether::netcode::detail::spatial_bucket< Point >::operator== ( const spatial_bucket< Point > &  o) const
inline
template<typename Point >
boost::geometry::model::box<point_type> aether::netcode::detail::spatial_bucket< Point >::to_box ( ) const
inline

Member Data Documentation

template<typename Point >
component_type aether::netcode::detail::spatial_bucket< Point >::width
template<typename Point >
component_type aether::netcode::detail::spatial_bucket< Point >::x
template<typename Point >
component_type aether::netcode::detail::spatial_bucket< Point >::y
template<typename Point >
component_type aether::netcode::detail::spatial_bucket< Point >::z