125 string getUniqueCartesianChart3DName()
const;
127static string getChartName(
const type_info&ChartType,
const string&name);
145 RefPtr<Chart> findChart(uint16_t epsg_code)
const;
146 RefPtr<ChartID> findChartID(uint16_t epsg_code)
const;
149 bool insertSharedChart(
const RefPtr<Chart>&ExistingChart)
152 return myAtlas->insertSharedChart(ExistingChart);
162 RefPtr<Chart> makeCartesianChart(
const string&name = {}, uint16_t epsg_code = 0);
165 RefPtr<Chart> findCartesianChart(
const string&name = {})
const;
169 RefPtr<Representation> getCartesianRepresentation(
const Skeleton&Skel,
const string&ChartName = {} )
const;
173 RefPtr<Representation> getCartesianRepresentation(
const string&ChartName = {} )
const;
180 return getCartesianRepresentation();
193 puts(
"Grid::getTimePolar2DRepresentation(): no Vertex Skeleton found!");
fflush(
stdout);
196 return getTimePolar2DRepresentation(*S);
204 Representation&makeCartesianRepresentation(
int Dims,
const string&name = {}, uint16_t epsg_code = 0);
214 return makeCartesianRepresentation(Dims);
248 return CartesianPositions();
272 using SkeletonMap::operator[];
273 using SkeletonMap::operator();
290 template <
class SkeletonFunctor>
311 using SkeletonMap::iterate_all;
333 const string&fieldname)
const
335 return getField(
theChartID, fieldname, findVertices() );
339 const string&fieldname)
const
342 return getField(
theChart->ID(), fieldname, findVertices() );
350 RefPtr<Field> getPositions(
const RefPtr<ChartID>&theChartID,
351 const RefPtr<Skeleton>&theSkeleton)
const;
354 RefPtr<Field> getPositions(
const string&ChartName = {} )
const
356 RefPtr<Representation> R = getCartesianRepresentation(ChartName);
358 return R->getPositions();
368 RefPtr<Field> getVertexPositions(
const RefPtr<ChartID>&theChartID)
const;
376 RefPtr<Representation> getRepresentation(
const RefPtr<ChartID>&theChartID,
377 const RefPtr<Skeleton>&theSkeleton)
const;
384static RefPtr<Representation> getRepresentation(
const RefPtr<Chart>&theChart,
385 const RefPtr<Skeleton>&theSkeleton);
391 RefPtr<Representation> getRepresentation(
const RefPtr<Chart>&theChart,
392 const SkeletonID&theSkeletonID)
const;
394 RefPtr<Representation> getRepresentation(
const RefPtr<ChartID>&theChartID,
395 const SkeletonID&theSkeletonID)
const;
406 return getRepresentation(
theChartID, findVertices() );
440 if (!
chart)
return {};
442 if (RefPtr<Skeleton> S = findVertices() )
443 return S->getFields( chart, theFieldIdentifiers...);
449 template <is_field_identifier... FieldIdentifiers>
450 auto getVertexFields(uint16_t epsg_code,
451 FieldIdentifiers... theFieldIdentifiers)
const
453 RefPtr<Chart> chart = findChart(epsg_code);
454 return getVertexfields( chart, theFieldIdentifiers...);
458 template <is_field_identifier... FieldIdentifiers>
459 auto getVertexFields(
const type_info&ChartType,
const string&ChartName,
460 FieldIdentifiers... theFieldIdentifiers)
const
462 RefPtr<Chart> chart = findChart(ChartType, ChartName);
463 return getVertexFields( chart, theFieldIdentifiers...);
467 template <is_field_identifier... FieldIdentifiers>
468 auto getCartesianVertexFields(
const string&ChartName,
469 FieldIdentifiers... theFieldIdentifiers)
const
471 RefPtr<Chart> chart = findCartesianChart(ChartName);
472 return getVertexFields( chart, theFieldIdentifiers...);
479 template <is_field_identifier... FieldIdentifiers>
480 auto getVertexFieldCreators(
const RefPtr<FragmentID>&fID,
const RefPtr<Chart> &chart,
481 FieldIdentifiers... theFieldIdentifiers)
const
483 const auto&F = getVertexFields(chart, theFieldIdentifiers...);
484 return getCreators(F, fID);
489 template <is_field_identifier... FieldIdentifiers>
490 auto getVertexFieldCreators(
const RefPtr<FragmentID>&fID, uint16_t epsg_code,
491 FieldIdentifiers... theFieldIdentifiers)
const
493 const auto&F = getVertexFields(epsg_code, theFieldIdentifiers...);
494 return getCreators(F, fID);
498 template <is_field_identifier... FieldIdentifiers>
499 auto getVertexFieldCreators(
const RefPtr<FragmentID>&fID,
const type_info&ChartType,
const string&ChartName,
500 FieldIdentifiers... theFieldIdentifiers)
const
502 const auto&F = getVertexFields(ChartType, ChartName, theFieldIdentifiers...);
503 return getCreators(F, fID);
507 template <is_field_identifier... FieldIdentifiers>
508 auto getCartesianVertexFieldCreators(
const RefPtr<FragmentID>&fID,
const string&ChartName,
509 FieldIdentifiers... theFieldIdentifiers)
const
511 const auto&F = getCartesianVertexFields(ChartName, theFieldIdentifiers...);
512 return getCreators(F, fID);
527 RefPtr<Chart> getGlobalChart(
const type_info&t,
const string&
id)
const;
534 RefPtr<Chart> getGlobalChart(
const vector<char*>&component_names,
535 const type_info&element_type,
536 const string&
id)
const;
547 [[deprecated(
"Avoid using this slow function.")]]
548 RefPtr<Skeleton> findSkeleton(
const RefPtr<FragmentID>&fID);
562 template <
class index_type>
570 using metafilter = FragmentMetaIndirector::MetaInfoProvider_t;
575 template <
class index_type>
588 template <
class index_type>