- Timestamp:
- 09/22/16 10:58:32 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/domain_algorithm_interpolate.cpp
r915 r933 16 16 #include "mapper.hpp" 17 17 #include "mpi_tag.hpp" 18 #include "domain.hpp" 19 #include "grid_transformation_factory_impl.hpp" 20 #include "interpolate_domain.hpp" 21 #include "grid.hpp" 18 22 19 23 namespace xios { 24 CGenericAlgorithmTransformation* CDomainAlgorithmInterpolate::create(CGrid* gridDst, CGrid* gridSrc, 25 CTransformation<CDomain>* transformation, 26 int elementPositionInGrid, 27 std::map<int, int>& elementPositionInGridSrc2ScalarPosition, 28 std::map<int, int>& elementPositionInGridSrc2AxisPosition, 29 std::map<int, int>& elementPositionInGridSrc2DomainPosition, 30 std::map<int, int>& elementPositionInGridDst2ScalarPosition, 31 std::map<int, int>& elementPositionInGridDst2AxisPosition, 32 std::map<int, int>& elementPositionInGridDst2DomainPosition) 33 { 34 std::vector<CDomain*> domainListDestP = gridDst->getDomains(); 35 std::vector<CDomain*> domainListSrcP = gridSrc->getDomains(); 36 37 CInterpolateDomain* interpolateDomain = dynamic_cast<CInterpolateDomain*> (transformation); 38 int domainDstIndex = elementPositionInGridDst2AxisPosition[elementPositionInGrid]; 39 int domainSrcIndex = elementPositionInGridSrc2AxisPosition[elementPositionInGrid]; 40 41 return (new CDomainAlgorithmInterpolate(domainListDestP[domainDstIndex], domainListSrcP[domainSrcIndex], interpolateDomain)); 42 } 43 44 bool CDomainAlgorithmInterpolate::registerTrans() 45 { 46 CGridTransformationFactory<CDomain>::registerTransformation(TRANS_INTERPOLATE_DOMAIN, create); 47 } 20 48 21 49 CDomainAlgorithmInterpolate::CDomainAlgorithmInterpolate(CDomain* domainDestination, CDomain* domainSource, CInterpolateDomain* interpDomain)
Note: See TracChangeset
for help on using the changeset viewer.