1#ifndef __FIBER_FIELD_FRAGMENTID_HPP
2#define __FIBER_FIELD_FRAGMENTID_HPP
5#include <memcore/Interface.hpp>
7#include "CreativeArray.hpp"
20class FIELD_API FragmentIDCollection;
24using FragmentIndex_t = unsigned;
80 return Name(fid, UnfragmentedName);
83 FragmentIndex_t getNumericalID()
const
88 const FragmentIDCollectionWeakPtr&getFragmentIDCollection()
const
90 return myFragmentIDCollection;
103 if (
A ==
B)
return false;
104 if (!
A)
return false;
107 return A->getNumericalID() <
B->getNumericalID();
125template <Dims_t Dims, FragmentProperty TheProperty>
141 FID.addInterface(
FL );
171template <Dims_t Dims>
184template <Dims_t Dims>
195template <Dims_t Dims>
206template <Dims_t Dims>
217template <Dims_t Dims>
227template <Dims_t Dims>
237template <Dims_t Dims>
269 return myFunctor(
Fid, CAB);
273typedef FragmentIterator FieldFragmentIterator;
289 retval += element_to_string(fIDs[0]);
291 for(
size_t i = 1; i<fIDs.size(); i++)
293 retval +=
", " + element_to_string(fIDs[i]);
296 return retval +
" }";
basic_string< char > string
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A collection of fragment identifiers with bijective mapping to an integer fragment number.
Definition FragmentIDCollection.hpp:19
Identification information about a field's fragment.
Definition FragmentID.hpp:42
bool getFragmentOverlapEnd(FragmentID &FID, MultiIndex< Dims > &Value)
Get the overlap end property of a fragment ID.
Definition FragmentID.hpp:238
bool getFragmentOverlapStart(FragmentID &FID, MultiIndex< Dims > &Value)
Get the overlap start property of a fragment ID.
Definition FragmentID.hpp:228
MultiIndex< Dims > & setFragmentOffset(FragmentID &FID, const MultiIndex< Dims > &Offset)
Setting the offset property of a fragment ID.
Definition FragmentID.hpp:207
void setFragmentOverlapEnd(FragmentID &FID, const MultiIndex< Dims > &OverlapEnd)
Set the overlap end property of a fragment ID.
Definition FragmentID.hpp:196
bool getFragmentOffset(FragmentID &FID, MultiIndex< Dims > &Offset)
Get the offset property of a fragment ID.
Definition FragmentID.hpp:218
void setFragmentOverlap(FragmentID &FID, const MultiIndex< Dims > &OverlapStart, const MultiIndex< Dims > &OverlapEnd)
Setting the overlap property of a fragment ID, also known as the size of a field fragment's ghost zon...
Definition FragmentID.hpp:172
void setFragmentOverlapStart(FragmentID &FID, const MultiIndex< Dims > &OverlapStart)
Get the overlap start property of a fragment ID.
Definition FragmentID.hpp:185
const string & Name() const
Text ID of the fragment.
Definition FragmentID.hpp:65
Base class for iterators over the fragments of a field.
Definition FragmentID.hpp:249
virtual bool apply(const RefPtr< FragmentID > &, const RefPtr< CreativeArrayBase > &)=0
Iteration callback function.
Definition FragmentID.hpp:128
A recursively defined multidimensional index.
Definition MultiIndex.hpp:331
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
FragmentProperty
Predefined multidimensional properties on fragments.
Definition FragmentID.hpp:115
string to_string(const Eagle::FixedArray< ElementType, N > &A, const char *OpenBrace="{", const char *CloseBrace="}", const char *Separator=",")
Definition FragmentID.hpp:100
Definition FragmentID.hpp:260
bool apply(const RefPtr< FragmentID > &Fid, const RefPtr< CreativeArrayBase > &CAB)
Iteration callback function.
Definition FragmentID.hpp:267