FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Public Types | Public Member Functions | Public Attributes | List of all members
Fiber::RangedFloatSlicer Struct Reference

Extract a 2D slice of floating point data from a 3D grid and perform data rescaling using a linear range. More...

#include <RangedFloatSlicer.hpp>

Inheritance diagram for Fiber::RangedFloatSlicer:
Fiber::SlicerBase MemCore::ReferenceBase< SlicerBase > Fiber::RegularCoordinateSlice

Public Types

typedef META::LIST< double, META::LIST< float > > InputTypes_t
 
- Public Types inherited from MemCore::ReferenceBase< SlicerBase >
typedef Object reference_domain_t
 
typedef WeakPtr< Object, Object > SelfPtr_t
 

Public Member Functions

 RangedFloatSlicer (int o, double theCoordinateValue, const Wizt::Range &theRange)
 
void addSlices (const RefPtr< Field > &InputCoordinates, const RefPtr< Field > &InputData) override
 Extract the coordinate and data fields by slices as retrieved from the input coordinates and input data.
 
void addSlicesAsFloat (const RefPtr< Field > &InputCoordinates, const RefPtr< Field > &InputData)
 Provide output slices in floating point precision.
 
void addSlicesAsDouble (const RefPtr< Field > &InputCoordinates, const RefPtr< Field > &InputData)
 Provide output slices in double precision.
 
- Public Member Functions inherited from Fiber::SlicerBase
 SlicerBase (int o, double theCoordinateValue)
 
void setFragmentSelector (const RefPtr< FragmentSelector > &theFragmentSelector)
 
- Public Member Functions inherited from MemCore::ReferenceBase< SlicerBase >
auto getObjectCountID () const noexcept
 
bool isIdentical (const WeakPtr< Object, Object > &PossibleSelf) const noexcept
 
void mkAutoDestructive ()
 
refcount_t refcount () const noexcept
 
 ReferenceBase (Object *that) noexcept
 
const auto & self () const
 
refcount_t wrefcount () const noexcept
 
- 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

Wizt::Range myRange
 
- Public Attributes inherited from Fiber::SlicerBase
const double myCoordinateValue
 
RefPtr< FieldOutputCoordinates
 The output coordinates of the 2D slice.
 
RefPtr< FieldOutputData
 The output coordinates of the 2D slice.
 
RefPtr< FragmentSelectormyFragmentSelector
 
- Public Attributes inherited from Fiber::RegularCoordinateSlice
int X
 
int Y
 
int Z
 

Additional Inherited Members

- Protected Member Functions inherited from MemCore::ReferenceBase< SlicerBase >
virtual void extremeUnction ()
 
ReferenceBaseoperator= (const ReferenceBase &R)
 
void suicide ()
 

Detailed Description

Extract a 2D slice of floating point data from a 3D grid and perform data rescaling using a linear range.

Given a range with min,max, all data values in this range will be scaled linearly to [0.0, 1.0].

Member Function Documentation

◆ addSlices()

void Fiber::RangedFloatSlicer::addSlices ( const RefPtr< Field > &  InputCoordinates,
const RefPtr< Field > &  InputData 
)
overridevirtual

Extract the coordinate and data fields by slices as retrieved from the input coordinates and input data.

This function accumulates slices from all the fragments in the input data.

Implements Fiber::SlicerBase.

References addSlicesAsFloat().