Fish - FiberLib for VISH 0.3
Fish - The Fiber Bundle API for the Vish Visualization Shell
Fiber::SliceConstructor< Converter > Struct Template Reference

Helper class for slice constructors. More...

#include <SliceExtractor.hpp>

Inheritance diagram for Fiber::SliceConstructor< Converter >:
Fiber::RegularCoordinateSlice

Public Member Functions

 SliceConstructor (const RegularCoordinateSlice &RCS, index_t theSliceIndex, const MultiIndex< 3 > &theSliceDims, const WeakPtr< CreativeArrayBase > &theFullDomainDataCreator, const Converter &theConverter)
bool canExtract () const
Public Member Functions inherited from Fiber::RegularCoordinateSlice
void setup (int orient)
 RegularCoordinateSlice (int o)
MultiIndex< 3 > getIndex (index_t x, index_t y, index_t z) const
double getComponent (const Eagle::FixedArray< double, 3 > &P) const
bool getRectilinearIndex (double CoordinateValue, const MemCore::RefPtr< MemBase > &CoordValues, double &CoordinateIndex)
 Given a dataset of three-dimensional coordinate values, either uniform or rectilinear, and a coordinate value for this slice selection, compute the coordinate index that corresponds to this coordinate.
bool getRectilinearIndex (double SliceCoordinateValue, const RefPtr< Field > &Coords, const RefPtr< FragmentID > &fid, double &CoordinateIndex)
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.
MemCore::RefPtr< MemBasegetCoordinates (index_t sliceIndex, const MultiIndex< 3 > &DataDims, const RefPtr< Field > &Coords, const RefPtr< FragmentID > &fid)
template<class Dest, class Source, class Converter>
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 must be larger than or equal to the source array.
bool validDestinationSize (const MultiIndex< 3 > &Dst, index_t DestSliceNumber, const MultiIndex< 3 > &Src)
template<class Dest, class Source, class Converter>
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 be larger than or equal to the source array.

Public Attributes

RefPtr< CreativeArrayBasemyFullDomainDataCreator
index_t mySliceIndex
MultiIndex< 3 > mySliceDims
const Converter myConverter
Public Attributes inherited from Fiber::RegularCoordinateSlice
int X
int Y
int Z

Detailed Description

template<class Converter>
struct Fiber::SliceConstructor< Converter >

Helper class for slice constructors.