9 #ifndef CUBBYFLOW_ARRAY_ACCESSOR3_H 10 #define CUBBYFLOW_ARRAY_ACCESSOR3_H 47 size_t width,
size_t height,
size_t depth, T*
const data);
56 void Reset(
const Size3& size, T*
const data);
59 void Reset(
size_t width,
size_t height,
size_t depth, T*
const data);
65 const T& At(
size_t i)
const;
71 const T& At(
const Point3UI& pt)
const;
74 T& At(
size_t i,
size_t j,
size_t k);
77 const T& At(
size_t i,
size_t j,
size_t k)
const;
80 T*
const begin()
const;
98 size_t Height()
const;
101 size_t Depth()
const;
104 T*
const data()
const;
139 template <
typename Callback>
140 void ForEach(Callback func)
const;
172 template <
typename Callback>
173 void ForEachIndex(Callback func)
const;
195 template <
typename Callback>
196 void ParallelForEach(Callback func);
216 template <
typename Callback>
217 void ParallelForEachIndex(Callback func)
const;
220 size_t Index(
const Point3UI& pt)
const;
223 size_t Index(
size_t i,
size_t j,
size_t k)
const;
226 T& operator[](
size_t i);
229 const T& operator[](
size_t i)
const;
235 const T& operator()(
const Point3UI& pt)
const;
238 T& operator()(
size_t i,
size_t j,
size_t k);
241 const T& operator()(
size_t i,
size_t j,
size_t k)
const;
268 template <
typename T>
285 size_t width,
size_t height,
size_t depth,
const T*
const data);
294 const T& At(
size_t i)
const;
297 const T& At(
const Point3UI& pt)
const;
300 const T& At(
size_t i,
size_t j,
size_t k)
const;
303 const T*
const begin()
const;
306 const T*
const end()
const;
312 size_t Width()
const;
315 size_t Height()
const;
318 size_t Depth()
const;
321 const T*
const data()
const;
353 template <
typename Callback>
354 void ForEach(Callback func)
const;
386 template <
typename Callback>
387 void ForEachIndex(Callback func)
const;
407 template <
typename Callback>
408 void ParallelForEachIndex(Callback func)
const;
411 size_t Index(
const Point3UI& pt)
const;
414 size_t Index(
size_t i,
size_t j,
size_t k)
const;
417 const T& operator[](
size_t i)
const;
420 const T& operator()(
const Point3UI& pt)
const;
423 const T& operator()(
size_t i,
size_t j,
size_t k)
const;
3-D array accessor class.
Definition: ArrayAccessor3.h:31
3-D read-only array accessor class.
Definition: ArrayAccessor3.h:269
3-D point class.
Definition: Point3.h:26
Generic N-dimensional array accessor class interface.
Definition: ArrayAccessor.h:31
Definition: pybind11Utils.h:24
Generic N-dimensional read-only array accessor class interface.
Definition: ArrayAccessor.h:52