1#ifndef __FIBER_GRID_SKELETON_HPP
2#define __FIBER_GRID_SKELETON_HPP "Created 27.02.2001 21:42:27 by werner"
5#include <fiber/field/Field.hpp>
6#include <memcore/TypeInfo.hpp>
10#include <fiber/field/BaseSpace.hpp>
11#include "FiberSpace.hpp"
12#include "Representation.hpp"
15#include "SkeletonID.hpp"
21class GRID_API FieldRef;
22class GRID_API SkeletonMap;
37 const string&FieldName,
40 MetaInfoProvider_t provideMetaInfo = {};
47template <
size_t NumberOfFields>
128 if constexpr (
sizeof...(FieldIdentifiers) > 0)
149 void extremeUnction()
override;
151 using RepresentationMap::operator();
158 using FieldIterator_t = Representation::const_iterator_t;
173 int Dims()
const override;
210 RefPtr<Field> getField(
const Representer&R,
const std::string&FieldName
211 ,
const RefPtr<Atlas>&myAtlas =
nullptr
212 ,
const RepresenterList_t&SkipRepresenters = {});
220 return getField(R, FIBER_POSITIONS);
249 return iterate_fields(F,
SE);
255 unsigned iterate_fields(
const RepresentationFieldIterator_t&F, SkeletonExcluder&
SE)
const;
264 return iterate_fields(F,
SE);
307 return getCreators(F, fID);
311using Topology = Skeleton;
333 : SkelPtr(S), Id(
fid), myGridAtlas(
GA)
337 : SkelPtr(S), myGridAtlas(
GA), fieldname(
fname)
378 typedef double value_type;
382 Data->myArray()[0] = Value;
397 (*Rep)[ Id ] = myField;
constexpr complex< _Tp > & operator=(const _Tp &)
constexpr _OI move(_II __first, _II __last, _OI __result)
basic_string< char > string
Base class for spaces that may be used for mapping domains to fiber spaces.
Definition BaseSpace.hpp:38
Base class for multidimensional arrays that employ deferred storage, i.e.
Definition CreativeArrayBase.hpp:75
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Identifier for Fields within a Grid.
Definition FieldID.hpp:53
Context information for creating a field and inserting data.
Definition Skeleton.hpp:325
A Field is a collection of CreativeArrayBase reference pointers which are accessed via FragmentID obj...
Definition Field.hpp:245
Implementation of an Iterator to a sequence of elements, which might be contiguous or a projection of...
Definition vector/Iterator.hpp:525
T & operator[](index_t i) const
Access an element of the array, writeable.
Definition vector/Iterator.hpp:712
Mutable Iterator base class to inspect all representations in a given RepresentationMap.
Definition RepresentationMap.hpp:137
A map that associates Representer objects with Representation instances.
Definition RepresentationMap.hpp:41
int iterate(ConstIterator &) const
Inspect all elements of this map.
Definition RepresentationMap.cpp:185
RefPtr< FragmentIDCollection > getFragmentIDCollection() const override
Get the FragmentIDCollection that is responsible for all fields of this Representation.
Definition RepresentationMap.cpp:304
int size() const
Return the number of representations available here.
Definition RepresentationMap.cpp:68
A Representation is a set of Field objects, each of them accessed via some FieldID identifier.
Definition Representation.hpp:101
Attributes with an age that allows to keep track when the attributes had been saved last.
Definition CreativeArrayBase.hpp:32
Identifier for Skeletons within a Grid.
Definition SkeletonID.hpp:24
std::string Name() const
Create a textual representation of the inherent parameters of the Skeleton ID.
Definition SkeletonID.cpp:138
A Skeleton Map is a unique map from SkeletonID's to Skeletons.
Definition SkeletonMap.hpp:74
A Skeleton is a set of Representation object, each of them accessed by an Representer object.
Definition Skeleton.hpp:102
unsigned iterate_fields(const FieldIterator_t &F) const
Iterate over all fields on all Representations of this Skeleton.
Definition Skeleton.hpp:246
Skeleton()=delete
prevent default construction
void operator=(const Skeleton &)=delete
prevent copy assignment
RefPtr< Field > getPositions(const Representer &R)
Get the positions field in the given representation.
Definition Skeleton.hpp:218
auto getFieldFragmentCreators(const Representer &R, const RefPtr< FragmentID > &fID, FieldIdentifiers... theFieldIdentifiers)
Get a set of array creators at once from a Skeleton and a Representer such as a chart object,...
Definition Skeleton.hpp:303
Skeleton(const Skeleton &)=delete
prevent copy construction
auto getFields(const Representer &R, FieldIdentifiers... theFieldIdentifiers)
Get a number of fields at once from a Skeleton and a Representer such as a chart object:
Definition Skeleton.hpp:280
WeakPtr< Skeleton > wSkeleton
Shortcut for a weak pointer to a Skeleton object.
Definition Skeleton.hpp:317
unsigned iterate_fields(const RepresentationFieldIterator_t &F) const
Iterate over all fields on all Representations of this Skeleton, also providing information on the Re...
Definition Skeleton.hpp:261
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
WeakPtr< BaseSpace > Representer
The type used to reference other objects, which is the anchor of representations of a Skeleton.
Definition RepresentationMap.hpp:28
std::string to_string(const span< char > &s)