#include "redistribute_domain.hpp" #include "domain_algorithm_redistribute.hpp" #include "type.hpp" #include "field.hpp" namespace xios { /// ////////////////////// Définitions ////////////////////// /// CRedistributeDomain::CRedistributeDomain(void) : CObjectTemplate(), CRedistributeDomainAttributes(), CTransformation() { /* Ne rien faire de plus */ } CRedistributeDomain::CRedistributeDomain(const StdString & id) : CObjectTemplate(id), CRedistributeDomainAttributes(), CTransformation() { /* Ne rien faire de plus */ } CRedistributeDomain::~CRedistributeDomain(void) {} CTransformation* CRedistributeDomain::create(const StdString& id, xml::CXMLNode* node) { CRedistributeDomain* redistributeDomain = CRedistributeDomainGroup::get("redistribute_domain_definition")->createChild(id); if (node) redistributeDomain->parse(*node); return static_cast*>(redistributeDomain); } bool CRedistributeDomain::registerTrans() { return registerTransformation(TRANS_REDISTRIBUTE_DOMAIN, {create, getTransformation}); } bool CRedistributeDomain::_dummyRegistered = CRedistributeDomain::registerTrans(); //---------------------------------------------------------------- StdString CRedistributeDomain::GetName(void) { return StdString("redistribute_domain"); } StdString CRedistributeDomain::GetDefName(void) { return StdString("redistribute_domain"); } ENodeType CRedistributeDomain::GetType(void) { return eRedistributeDomain; } void CRedistributeDomain::checkValid(CDomain* domainSrc) { } shared_ptr CRedistributeDomain::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 CDomainAlgorithmRedistribute::create(isSource, gridDst, gridSrc, this, elementPositionInGrid, elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); } }