#include "reorder_domain.hpp" #include "domain_algorithm_reorder.hpp" #include "type.hpp" namespace xios { /// ////////////////////// Définitions ////////////////////// /// CReorderDomain::CReorderDomain(void) : CObjectTemplate(), CReorderDomainAttributes(), CTransformation() { /* Ne rien faire de plus */ } CReorderDomain::CReorderDomain(const StdString & id) : CObjectTemplate(id), CReorderDomainAttributes(), CTransformation() { /* Ne rien faire de plus */ } CReorderDomain::~CReorderDomain(void) {} CTransformation* CReorderDomain::create(const StdString& id, xml::CXMLNode* node) { CReorderDomain* reorderDomain = CReorderDomainGroup::get("reorder_domain_definition")->createChild(id); if (node) reorderDomain->parse(*node); return static_cast*>(reorderDomain); } bool CReorderDomain::_dummyRegistered = CReorderDomain::registerTrans(); bool CReorderDomain::registerTrans() { return registerTransformation(TRANS_REORDER_DOMAIN, {create, getTransformation}); } //---------------------------------------------------------------- StdString CReorderDomain::GetName(void) { return StdString("reorder_domain"); } StdString CReorderDomain::GetDefName(void) { return StdString("reorder_domain"); } ENodeType CReorderDomain::GetType(void) { return eReorderDomain; } void CReorderDomain::checkValid(CDomain* domainSrc) { } shared_ptr CReorderDomain::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 CDomainAlgorithmReorder::create(isSource, gridDst, gridSrc, this, elementPositionInGrid, elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); } }