|
FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
|
This library extents the header-only Vector template library with the memory management capabilities of the MemCore library. More...
Classes | |
| class | Fiber::ArrayInterpolator |
| A field's interpolator is an interface for this specific field. More... | |
| class | Fiber::DimensionalInterpolator< N > |
| Abstract N-dimensional interpolator class. More... | |
| class | Fiber::BaseSpaceDependency |
| A base class for dependencies on a BaseSpace. More... | |
| class | Fiber::BaseSpace |
| Base class for spaces that may be used for mapping domains to fiber spaces. More... | |
| class | Fiber::BinderBase |
| Base class to allow binding a Fiber Bundle data structure to some storage device, similar to swapping data from in and out of memory. More... | |
| struct | Fiber::IJ_CellNamingConvention |
| A naming convention for cell components using "i" and "j". More... | |
| struct | Fiber::Cell< DIMS, Elements, IndexType > |
| A type describing a cell in a cell complex. More... | |
| struct | Fiber::SimplexCell< Dims, IndexType, NamingConvention > |
| A type describing an n-dimensional simplex cell. More... | |
| struct | Fiber::RegularCell< Dims, IndexType, NamingConvention > |
| A type describing an n-dimensional regular cell. More... | |
| class | Fiber::CreativeArray |
| A helper class that keeps objects in memory all time. More... | |
| class | Fiber::SaveableAttributes |
| Attributes with an age that allows to keep track when the attributes had been saved last. More... | |
| class | Fiber::CreativeArrayBase |
| Base class for multidimensional arrays that employ deferred storage, i.e. More... | |
| class | Fiber::DynamicSize |
| A class describing an n-dimensional space at runtime. More... | |
| class | Fiber::SizeInterface |
| An interface telling size and dimensionality of a dataset, a refcounted version of DynamicSize. More... | |
| class | Fiber::Fragment |
| Data structure describing all fields available per fragment, which is a selection of createable data arrays. More... | |
| class | Fiber::FieldCollection |
| A collection of arbitrarily named Field references. More... | |
| class | Fiber::FragmentSelector |
| Abstract base class to select a certain subset from a Field's collection of fragments. More... | |
| class | Fiber::MemArrayProperties |
| Interface class to provide information about multidimensional arrays without need to create the data itself. More... | |
| class | Fiber::MemBase |
| Base class for multidimensional arrays with MemCore memory management. More... | |
| class | Fiber::SaveItem< ItemType > |
| An interface object to signal a processOwner() function that some data item should be saved. More... | |
Typedefs | |
| typedef std::map< string, RefPtr< CreativeArrayBase > > | Fiber::FragmentMap_t |
| Mapping of arbitary names to field fragments. | |
| typedef map< string, RefPtr< Field > > | Fiber::FieldMap_t |
| Mapping of names to fields. | |
Functions | |
| RefPtr< MemBase > | Fiber::pullData (const RefPtr< MemBase > &SourceData, const RefPtr< ChunkBase > &Indirection, const DynamicSize &DestSize, size_t ElementArraySize=1) |
| Create a MemBase from a given MemBase using indirect indexing of the given one, with the result placed into a multidimensional array. | |
| template<Dims_t N> | |
| bool | Fiber::makeSizeInterface (MultiIndex< N > &Dims, const RefPtr< CreativeArrayBase > &DC) |
| Set the size interface of a given data array Creator, based on the associated data (this function will actually CREATE the data - so is slow!). | |
| template<Dims_t N> | |
| bool | Fiber::makeDimensions (MultiIndex< N > &Dims, const RefPtr< CreativeArrayBase > &DC) |
| Given a data creator, retrieve the dimensionality information from the associated data, preferably from the size interface as stored (cached) in the Creator, but if none such exists yet, load the data and get it from there once. | |
| template<Dims_t N> | |
| void | setSizeInterface (const RefPtr< CreativeArrayBase > &CAB, const MultiIndex< N > &FragmentSize) |
| Set the size interface to a CreativeArrayBase. | |
| template<Dims_t N> | |
| void | setSizeInterface (CreativeArrayBase &CAB, const MultiIndex< N > &FragmentSize) |
| Set the size interface to a CreativeArrayBase. | |
| int | getRank (const RefPtr< CreativeArrayBase > &CAB) |
| Get the rank of a CreativeArrayBase. | |
| FIELD_API RefPtr< SizeInterface > | getSize (const CreativeArrayBase &CAB) |
| Get the size interface of a CreativeArrayBase. | |
| RefPtr< SizeInterface > | getSize (const RefPtr< CreativeArrayBase > &CAB) |
| Get the size interface of a CreativeArrayBase. | |
| index_t | getNumberOfElements (const RefPtr< CreativeArrayBase > &CAB) |
| Get the number of elements of a CreativeArrayBase if a SizeInterface is available. | |
| index_t | getNumberOfElements (CreativeArrayBase &CAB) |
| Get the number of elements of a CreativeArrayBase if a SizeInterface is available. | |
| template<Dims_t N> | |
| bool | getDimensions (MultiIndex< N > &MI, const RefPtr< CreativeArrayBase > &CAB) |
| Get the dimensions of CreativeArrayBase, if the rank is already known. | |
| FIELD_API MemCore::memsize_t | getMemoryUsage (const CreativeArrayBase &CAB) |
| Determine memory usage (in bytes) of this CreativeArrayBase object. | |
This library extents the header-only Vector template library with the memory management capabilities of the MemCore library.
It equips e.g. the abstract multidimensional arrays with memory managament and concrete memory layouts.
|
inline |
Given a data creator, retrieve the dimensionality information from the associated data, preferably from the size interface as stored (cached) in the Creator, but if none such exists yet, load the data and get it from there once.
On next call, the size interface will be set and data dont need to be loaded again.
| Dims | Will store the dimensions of this data set, used for output only (return value) |
| DC | The data creator. |
References Fiber::makeSizeInterface().
Referenced by Fiber::FragmentSlicer< Converter, InputTypes >::apply().
|
inline |
Set the size interface of a given data array Creator, based on the associated data (this function will actually CREATE the data - so is slow!).
IF the dimensionality of the data is compatible with the specified multiindex, the dimensions will be returned, and the size interface of the Creator is set to this value.
Note: This function will always inspect the data, even if the Creator might already have size interface defined. If loading data shall be avoided, use the makeDimensions() routine.
Referenced by Fiber::makeDimensions().
| FIELD_API RefPtr< MemBase > Fiber::pullData | ( | const RefPtr< MemBase > & | SourceData, |
| const RefPtr< ChunkBase > & | Indirection, | ||
| const DynamicSize & | DestSize, | ||
| size_t | ElementArraySize = 1 |
||
| ) |
Create a MemBase from a given MemBase using indirect indexing of the given one, with the result placed into a multidimensional array.
| SourceData | A MemArray<N,T>, the multidimensonal input data. Its dimension is of no relevance. |
| Indirection | An array of linear indices, i.e. an array of 32-bit or 64-bit integers, which specifies where to find data elements in the source array for each result element ("pulling" data). |
| DestSize | The multidimensional extent of the result, its number of elements must match the size of the Indirection array. |
References std::to_string().
Referenced by Fiber::Skeleton::createIndirectedField(), and Fiber::EvalFieldOnRepresentation().