- Timestamp:
- 09/22/16 10:58:32 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/scalar_algorithm_reduce_axis.cpp
r918 r933 12 12 #include "reduce_axis_to_scalar.hpp" 13 13 #include "sum.hpp" 14 #include "grid.hpp" 15 #include "grid_transformation_factory_impl.hpp" 14 16 15 17 namespace xios { 18 CGenericAlgorithmTransformation* CScalarAlgorithmReduceScalar::create(CGrid* gridDst, CGrid* gridSrc, 19 CTransformation<CScalar>* transformation, 20 int elementPositionInGrid, 21 std::map<int, int>& elementPositionInGridSrc2ScalarPosition, 22 std::map<int, int>& elementPositionInGridSrc2AxisPosition, 23 std::map<int, int>& elementPositionInGridSrc2DomainPosition, 24 std::map<int, int>& elementPositionInGridDst2ScalarPosition, 25 std::map<int, int>& elementPositionInGridDst2AxisPosition, 26 std::map<int, int>& elementPositionInGridDst2DomainPosition) 27 { 28 std::vector<CScalar*> scalarListDestP = gridDst->getScalars(); 29 std::vector<CAxis*> axisListSrcP = gridSrc->getAxis(); 30 31 CReduceAxisToScalar* reduceAxis = dynamic_cast<CReduceAxisToScalar*> (transformation); 32 int scalarDstIndex = elementPositionInGridDst2ScalarPosition[elementPositionInGrid]; 33 int axisSrcIndex = elementPositionInGridSrc2AxisPosition[elementPositionInGrid]; 34 35 return (new CScalarAlgorithmReduceScalar(scalarListDestP[scalarDstIndex], axisListSrcP[axisSrcIndex], reduceAxis)); 36 } 37 38 bool CScalarAlgorithmReduceScalar::registerTrans() 39 { 40 CGridTransformationFactory<CScalar>::registerTransformation(TRANS_REDUCE_AXIS_TO_SCALAR, create); 41 } 16 42 17 43 CScalarAlgorithmReduceScalar::CScalarAlgorithmReduceScalar(CScalar* scalarDestination, CAxis* axisSource, CReduceAxisToScalar* algo)
Note: See TracChangeset
for help on using the changeset viewer.