EBGeometry
Compact, header-only C++ library for fast evaluation of signed distance functions
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
EBGeometry_SFC.hpp File Reference

Declaration of various space-filling curves. More...

#include <array>
#include <cstdint>
#include <vector>
#include "EBGeometry_Vec.hpp"
#include "EBGeometry_SFCImplem.hpp"
Include dependency graph for EBGeometry_SFC.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  EBGeometry::SFC::Morton
 Implementation of the Morton SFC. More...
 
struct  EBGeometry::SFC::Nested
 Implementation of a nested index SFC. More...
 
struct  EBGeometry::SFC::Hilbert
 Implementation of the 3D Hilbert space-filling curve. More...
 

Namespaces

namespace  EBGeometry
 Namespace containing all of EBGeometry's functionality.
 
namespace  EBGeometry::SFC
 Namespace for space-filling curves (SFCs) used to linearly order 3D grid cells.
 

Typedefs

using EBGeometry::SFC::Code = uint64_t
 Alias for SFC code.
 
using EBGeometry::SFC::Index = std::array< unsigned int, 3 >
 Alias for 3D cell index.
 

Functions

template<class T >
std::vector< IndexEBGeometry::SFC::computeBins (const std::vector< Vec3T< T > > &a_points) noexcept
 Bin a set of points into the space-filling curve's integer grid, normalizing by their own bounding range.
 
template<class Curve = Morton, class T >
std::vector< uint32_tEBGeometry::SFC::order (const std::vector< Vec3T< T > > &a_points) noexcept
 Return the index permutation that orders a_points along a space-filling curve.
 

Detailed Description

Declaration of various space-filling curves.

Author
Robert Marskar