#include "reduce_axis_to_scalar.hpp" #include "scalar_algorithm_reduce_axis.hpp" #include "type.hpp" namespace xios { /// ////////////////////// Définitions ////////////////////// /// CReduceAxisToScalar::CReduceAxisToScalar(void) : CObjectTemplate(), CReduceAxisToScalarAttributes(), CTransformation() { /* Ne rien faire de plus */ } CReduceAxisToScalar::CReduceAxisToScalar(const StdString & id) : CObjectTemplate(id), CReduceAxisToScalarAttributes(), CTransformation() { /* Ne rien faire de plus */ } CReduceAxisToScalar::~CReduceAxisToScalar(void) {} CTransformation* CReduceAxisToScalar::create(const StdString& id, xml::CXMLNode* node) { CReduceAxisToScalar* reduceAxis = CReduceAxisToScalarGroup::get("reduce_axis_to_scalar_definition")->createChild(id); if (node) reduceAxis->parse(*node); return static_cast*>(reduceAxis); } bool CReduceAxisToScalar::registerTrans() { return registerTransformation(TRANS_REDUCE_AXIS_TO_SCALAR, {create, getTransformation}); } bool CReduceAxisToScalar::_dummyRegistered = CReduceAxisToScalar::registerTrans(); //---------------------------------------------------------------- StdString CReduceAxisToScalar::GetName(void) { return StdString("reduce_axis_to_scalar"); } StdString CReduceAxisToScalar::GetDefName(void) { return StdString("reduce_axis_to_scalar"); } ENodeType CReduceAxisToScalar::GetType(void) { return eReduceAxisToScalar; } void CReduceAxisToScalar::checkValid(CScalar* scalarDst) { } CGenericAlgorithmTransformation* CReduceAxisToScalar::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 CScalarAlgorithmReduceAxis::create(isSource, gridDst, gridSrc, this, elementPositionInGrid, elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); } }