- Timestamp:
- 09/22/16 10:58:32 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/axis_algorithm_interpolate.cpp
r918 r933 8 8 */ 9 9 #include "axis_algorithm_interpolate.hpp" 10 #include "axis.hpp" 11 #include "interpolate_axis.hpp" 10 12 #include <algorithm> 11 13 #include "context.hpp" … … 13 15 #include "utils.hpp" 14 16 #include "grid.hpp" 17 #include "grid_transformation_factory_impl.hpp" 15 18 #include "distribution_client.hpp" 16 19 17 20 namespace xios { 21 CGenericAlgorithmTransformation* CAxisAlgorithmInterpolate::create(CGrid* gridDst, CGrid* gridSrc, 22 CTransformation<CAxis>* transformation, 23 int elementPositionInGrid, 24 std::map<int, int>& elementPositionInGridSrc2ScalarPosition, 25 std::map<int, int>& elementPositionInGridSrc2AxisPosition, 26 std::map<int, int>& elementPositionInGridSrc2DomainPosition, 27 std::map<int, int>& elementPositionInGridDst2ScalarPosition, 28 std::map<int, int>& elementPositionInGridDst2AxisPosition, 29 std::map<int, int>& elementPositionInGridDst2DomainPosition) 30 { 31 std::vector<CAxis*> axisListDestP = gridDst->getAxis(); 32 std::vector<CAxis*> axisListSrcP = gridSrc->getAxis(); 33 34 CInterpolateAxis* interpolateAxis = dynamic_cast<CInterpolateAxis*> (transformation); 35 int axisDstIndex = elementPositionInGridDst2AxisPosition[elementPositionInGrid]; 36 int axisSrcIndex = elementPositionInGridSrc2AxisPosition[elementPositionInGrid]; 37 38 return (new CAxisAlgorithmInterpolate(axisListDestP[axisDstIndex], axisListSrcP[axisSrcIndex], interpolateAxis)); 39 } 40 41 bool CAxisAlgorithmInterpolate::registerTrans() 42 { 43 CGridTransformationFactory<CAxis>::registerTransformation(TRANS_INTERPOLATE_AXIS, create); 44 } 45 18 46 19 47 CAxisAlgorithmInterpolate::CAxisAlgorithmInterpolate(CAxis* axisDestination, CAxis* axisSource, CInterpolateAxis* interpAxis)
Note: See TracChangeset
for help on using the changeset viewer.