#include "redistribute_axis.hpp" #include "axis_algorithm_redistribute.hpp" #include "type.hpp" #include "field.hpp" namespace xios { /// ////////////////////// Définitions ////////////////////// /// CRedistributeAxis::CRedistributeAxis(void) : CObjectTemplate(), CRedistributeAxisAttributes(), CTransformation() { /* Ne rien faire de plus */ } CRedistributeAxis::CRedistributeAxis(const StdString & id) : CObjectTemplate(id), CRedistributeAxisAttributes(), CTransformation() { /* Ne rien faire de plus */ } CRedistributeAxis::~CRedistributeAxis(void) {} CTransformation* CRedistributeAxis::create(const StdString& id, xml::CXMLNode* node) { CRedistributeAxis* redistributeAxis = CRedistributeAxisGroup::get("redistribute_axis_definition")->createChild(id); if (node) redistributeAxis->parse(*node); return static_cast*>(redistributeAxis); } bool CRedistributeAxis::registerTrans() { return registerTransformation(TRANS_REDISTRIBUTE_AXIS, {create, getTransformation}); } bool CRedistributeAxis::_dummyRegistered = CRedistributeAxis::registerTrans(); //---------------------------------------------------------------- StdString CRedistributeAxis::GetName(void) { return StdString("redistribute_axis"); } StdString CRedistributeAxis::GetDefName(void) { return StdString("redistribute_axis"); } ENodeType CRedistributeAxis::GetType(void) { return eRedistributeAxis; } void CRedistributeAxis::checkValid(CAxis* axisSrc) { } shared_ptr CRedistributeAxis::createAlgorithm(bool isSource, CGrid* gridDst, CGrid* gridSrc, int elementPositionInGrid, std::map& elementPositionInGridSrc2ScalarPosition, std::map& elementPositionInGridSrc2AxisPosition, std::map& elementPositionInGridSrc2DomainPosition, std::map& elementPositionInGridDst2ScalarPosition, std::map& elementPositionInGridDst2AxisPosition, std::map& elementPositionInGridDst2DomainPosition) { return CAxisAlgorithmRedistribute::create(isSource, gridDst, gridSrc, this, elementPositionInGrid, elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); } }