1#ifndef __FIBER_FIELD_FRAGMENTCREATOR_HPP
2#define __FIBER_FIELD_FRAGMENTCREATOR_HPP
4#include "OnDemandCreator.hpp"
12template <
class FragmentOperator>
15 enum { DataDims = FragmentOperator::DataDims };
30 : FragmentOperator(Op)
33 Op.setupFragment(
fid);
49 if (C.compute(*result, *InputData))
50 result_storage = result;
55 return result_storage;
61template <
class FragmentOperator>
62void SetupNewFragmentCreators(
const RefPtr<Field>&Output,
const RefPtr<Field>&Input, FragmentOperator&Op)
64 struct It : Field::Iterator, FragmentOperator
68 typedef SingleFragmentCompute<FragmentOperator> MyCompute;
70 It(FragmentOperator&Op)
74 bool apply(
const RefPtr<FragmentID>&fid,
const RefPtr<CreativeArrayBase>&CAB)
override
76 RefPtr<CreativeArrayBase>
79 Output->setCreator(NewFragment, fid);
_Expr< _ValFunClos< _ValArray, _Tp >, _Tp > apply(_Tp __func(_Tp)) const
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
static RefPtr< Cache, CacheBase > & MemCache()
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
Definition FragmentCreator.hpp:24
Definition FragmentCreator.hpp:14