![]() |
Block-Structured AMR Software Framework
|
Utility that maps flattened point indices back to IntVectND coordinates. More...
#include <AMReX_Box.H>
Public Member Functions | |
| BoxIndexerND (BoxND< dim > const &box) | |
| __host__ __device__ IntVectND< dim > | intVect (std::uint64_t icell) const |
Convert flattened point index icell to its IntVectND coordinate. | |
| __host__ __device__ Dim3 | operator() (std::uint64_t icell) const |
| Functor returning the coordinate padded to Dim3. | |
| __host__ __device__ std::uint64_t | numPts () const |
| Return the number of points covered by the indexed box. | |
Public Attributes | |
| std::uint64_t | npts |
| Math::FastDivmodU64 | fdm [dim-1] |
| IntVectND< dim > | lo |
Utility that maps flattened point indices back to IntVectND coordinates.
The constructor captures a sequence of Math::FastDivmodU64 helpers that implement fast division by the running products of box lengths, so repeated calls to intVect or the Dim3 functor avoid costly integer divisions while walking a BoxND.
| dim | Box dimensionality. |
|
inline |
|
inline |
Convert flattened point index icell to its IntVectND coordinate.
| icell | Zero-based flattened point index. |
|
inline |
Return the number of points covered by the indexed box.
|
inline |
| Math::FastDivmodU64 amrex::BoxIndexerND< dim >::fdm[dim-1] |
| IntVectND<dim> amrex::BoxIndexerND< dim >::lo |
| std::uint64_t amrex::BoxIndexerND< dim >::npts |