1#ifndef __FIBEROPERATIONS_SLICE_SELECTION
2#define __FIBEROPERATIONS_SLICE_SELECTION
4#include <vector/MultiArray.hpp>
5#include <vector/MultiCopy.hpp>
7#include <field/MemBase.hpp>
8#include <field/Field.hpp>
10#include <eagle/FixedArray.hpp>
17#include "gridopDllApi.h"
29 void setup(
int orient);
130 template <
class Dest,
class Source,
class Converter>
146#pragma omp parallel for
164 if (Src[
X] > Dst[
X] )
return false;
165 if (Src[
Y] > Dst[
Y] )
return false;
184 template <
class Dest,
class Source,
class Converter>
192 printf(
"extractDataTo3D: src (%dx%dx%d) ==> dst (%dx%dx%d) \n",
200 if (!validDestinationSize(
DestArray.Size(),
204 printf(
"RegularCoordinateSlice::extractDataToOriented3D(): "
205 "Invalid (too small) Destination in slicing src (%dx%dx%d) ==> dst (%dx%dx%d) \n",
221#pragma omp parallel for
233 printf(
"extractDataTo3D: %dx%dx%d ==> %dx%dx%d\n",
234 int(
P[0]),
int(
P[1]),
int(
P[2]),
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
index_t getIndex(index_t i, int c) const
Given a major and a minor index, compute the overall index in the dataset according to.
Definition HyperslabParameters.hpp:176
index_t count() const
Return the number of steps which can be traversed through this ElementIterator.
Definition HyperslabParameters.hpp:147
Iterator< component_t > getComponent(int n) const
Get an iterator that operates on the nth component.
Definition vector/Iterator.hpp:1307
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
IndexTypeConfig< sizeof(void *)>::index_t index_t
Define the index type as according to the size of a pointer, i.e.
Definition Index.hpp:22
Helper class to select a slice from a regular grid.
Definition RegularCoordinateSlice.hpp:26
bool getSliceCornerIndex(MultiIndex< 3 > &I, const MultiIndex< 3 > &DataDims, int CornerX, int CornerY, index_t sliceIndex) const
Given the dimensions of a three-dimensional array, compute the 3D indices of a slice.
Definition RegularCoordinateSlice.hpp:94
bool extractDataToOriented3D(MultiArray< 3, Dest > &DestArray, index_t DestSliceNumber, const MultiArray< 3, Source > &SrcArray, index_t SliceNumber, const Converter &C)
Extract data slice from the source array to the destination array, whereby the destination array must...
Definition RegularCoordinateSlice.hpp:185
void extractData(MultiArray< 2, Dest > &DestArray, const MultiArray< 3, Source > &SrcArray, const index_t &SliceNumber, const Converter &C, const MultiIndex< 3 > &SourceOffset=MIndex(0, 0, 0))
Extract data slice from the source array to a 2D destination array, whereby the destination array mus...
Definition RegularCoordinateSlice.hpp:131