Changeset 887 for XIOS/trunk/src/transformation/grid_generate.hpp
- Timestamp:
- 07/05/16 15:59:02 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/grid_generate.hpp
r775 r887 12 12 #include "xios_spl.hpp" 13 13 #include "transformation_enum.hpp" 14 #include "g eneric_algorithm_transformation.hpp"14 #include "grid_transformation_selector.hpp" 15 15 16 16 namespace xios { … … 25 25 This class only plays a role of interface between XIOS and specific algorithm of auto filling-in and auto distributing on sub-component 26 26 */ 27 class CGridGenerate 27 class CGridGenerate : public CGridTransformationSelector 28 28 { 29 public:30 typedef std::list<std::pair<int,std::pair<ETranformationType,int> > > ListAlgoType;31 32 29 public: 33 30 /** Default constructor */ … … 36 33 37 34 void completeGrid(); 38 ListAlgoType getAlgoList() const {return listAlgos_; }39 35 40 36 protected: 41 void initializeAlgorithms(); 42 void initializeAxisAlgorithms(int axisPositionInGrid); 43 void initializeDomainAlgorithms(int domPositionInGrid); 44 45 void selectAxisAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder); 46 void selectDomainAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder); 47 void selectAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder, bool isDomainAlgo); 48 49 protected: 50 //! Grid source on transformation 51 CGrid* gridSource_; 52 53 //! Grid destination on transformation 54 CGrid* gridDestination_; 55 56 protected: 57 //! List of algorithm types and their order 58 ListAlgoType listAlgos_; 59 // true if domain algorithm and false if axis algorithm (can be replaced by tuple with listAlgos_ 60 std::vector<bool> algoTypes_; 61 62 // Mapping between position of an element in grid and its transformation (if any) 63 std::list<CGenericAlgorithmTransformation*> algoTransformation_; 64 65 //! Position of axis and domain in grid 66 std::map<int, int> elementPosition2AxisPositionInGrid_, elementPosition2DomainPositionInGrid_; 37 virtual void selectScalarAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder); 38 virtual void selectAxisAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder); 39 virtual void selectDomainAlgo(int elementPositionInGrid, ETranformationType transType, int transformationOrder); 67 40 }; 68 41
Note: See TracChangeset
for help on using the changeset viewer.