source: XIOS/trunk/src/node/duplicate_scalar_to_axis.cpp @ 2250

Last change on this file since 2250 was 1314, checked in by ymipsl, 6 years ago

Add 2 new spatial transformations :

  • reduce_scalar_to_scalar : global reduction between scalar
  • duplicate_scalar_to_axis : a scalar value is duplicated on each level of the axis.

YM

  • Property svn:eol-style set to native
File size: 1.7 KB
Line 
1#include "duplicate_scalar_to_axis.hpp"
2#include "type.hpp"
3#include "axis.hpp"
4#include "scalar.hpp"
5
6namespace xios {
7
8  /// ////////////////////// Définitions ////////////////////// ///
9
10  CDuplicateScalarToAxis::CDuplicateScalarToAxis(void)
11    : CObjectTemplate<CDuplicateScalarToAxis>(), CDuplicateScalarToAxisAttributes(), CTransformation<CAxis>()
12  { /* Ne rien faire de plus */ }
13
14  CDuplicateScalarToAxis::CDuplicateScalarToAxis(const StdString & id)
15    : CObjectTemplate<CDuplicateScalarToAxis>(id), CDuplicateScalarToAxisAttributes(), CTransformation<CAxis>()
16  { /* Ne rien faire de plus */ }
17
18  CDuplicateScalarToAxis::~CDuplicateScalarToAxis(void)
19  {}
20
21  CTransformation<CAxis>* CDuplicateScalarToAxis::create(const StdString& id, xml::CXMLNode* node)
22  {
23    CDuplicateScalarToAxis* duplicateScalar = CDuplicateScalarToAxisGroup::get("duplicate_scalar_to_axis_definition")->createChild(id);
24    if (node) duplicateScalar->parse(*node);
25    return static_cast<CTransformation<CAxis>*>(duplicateScalar);
26  }
27
28  bool CDuplicateScalarToAxis::registerTrans()
29  {
30    return registerTransformation(TRANS_DUPLICATE_SCALAR_TO_AXIS, CDuplicateScalarToAxis::create);
31  }
32
33  bool CDuplicateScalarToAxis::_dummyRegistered = CDuplicateScalarToAxis::registerTrans();
34
35  //----------------------------------------------------------------
36
37  StdString CDuplicateScalarToAxis::GetName(void)    { return StdString("duplicate_scalar_to_axis"); }
38  StdString CDuplicateScalarToAxis::GetDefName(void) { return StdString("duplicate_scalar_to_axis"); }
39  ENodeType CDuplicateScalarToAxis::GetType(void)    { return eDuplicateScalarToAxis; }
40
41  void CDuplicateScalarToAxis::checkValid(CAxis* axisDst, CScalar* scalarSrc)
42  {
43   
44  }
45
46}
Note: See TracBrowser for help on using the repository browser.