#include "inverse_axis.hpp" #include "axis_algorithm_inverse.hpp" #include "type.hpp" namespace xios { /// ////////////////////// Définitions ////////////////////// /// CInverseAxis::CInverseAxis(void) : CObjectTemplate(), CInverseAxisAttributes(), CTransformation() { /* Ne rien faire de plus */ } CInverseAxis::CInverseAxis(const StdString & id) : CObjectTemplate(id), CInverseAxisAttributes(), CTransformation() { /* Ne rien faire de plus */ } CInverseAxis::~CInverseAxis(void) {} CTransformation* CInverseAxis::create(const StdString& id, xml::CXMLNode* node) { CInverseAxis* invAxis = CInverseAxisGroup::get("inverse_axis_definition")->createChild(id); if (node) invAxis->parse(*node); return static_cast*>(invAxis); } bool CInverseAxis::registerTrans() { return registerTransformation(TRANS_INVERSE_AXIS, {create, getTransformation}); } bool CInverseAxis::_dummyRegistered = CInverseAxis::registerTrans(); //---------------------------------------------------------------- StdString CInverseAxis::GetName(void) { return StdString("inverse_axis"); } StdString CInverseAxis::GetDefName(void) { return StdString("inverse_axis"); } ENodeType CInverseAxis::GetType(void) { return eInverseAxis; } void CInverseAxis::checkValid(CAxis* axisSrc) {} shared_ptr CInverseAxis::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 CAxisAlgorithmInverse::create(isSource, gridDst, gridSrc, this, elementPositionInGrid, elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition) ; } }