XIOS
1.0
Xml I/O Server
|
This class creates a grid from scratch, e.g: only global dimension of grid and its type are provided, then the generated grid plays the destination in a transformation. Plus de détails...
#include <grid_generate.hpp>
Fonctions membres publiques | |
CGridGenerate (CGrid *destination, CGrid *source=0) | |
~CGridGenerate () | |
void | completeGrid () |
Fonctions membres publiques inherited from xios::CGridTransformationSelector | |
CGridTransformationSelector (CGrid *destination, CGrid *source, TransformationType type=normal) | |
virtual | ~CGridTransformationSelector () |
ListAlgoType | getAlgoList () const |
int | getNbAlgo () |
const std::vector< StdString > & | getAuxInputs () const |
const std::vector < CGenericAlgorithmTransformation * > & | getAlgos () const |
const std::map< int, int > | getElementPositionInGridSrc2AxisPosition () const |
const std::map< int, int > | getElementPositionInGridSrc2DomainPosition () const |
const std::map< int, int > | getElementPositionInGridSrc2ScalarPosition () const |
const std::map< int, int > | getElementPositionInGridDst2AxisPosition () const |
const std::map< int, int > | getElementPositionInGridDst2DomainPosition () const |
const std::map< int, int > | getElementPositionInGridDst2ScalarPosition () const |
Fonctions membres protégées | |
virtual void | selectScalarAlgo (int elementPositionInGrid, ETranformationType transType, int transformationOrder) |
Select algorithm of an axis correspoding to its transformation type and its position in each element. Plus de détails... | |
virtual void | selectAxisAlgo (int elementPositionInGrid, ETranformationType transType, int transformationOrder) |
Select algorithm of an axis correspoding to its transformation type and its position in each element. Plus de détails... | |
virtual void | selectDomainAlgo (int elementPositionInGrid, ETranformationType transType, int transformationOrder) |
Select algorithm of a domain correspoding to its transformation type and its position in each element. Plus de détails... | |
Fonctions membres protégées inherited from xios::CGridTransformationSelector | |
void | updateElementPosition () |
Update position of elements in grid source and grid destination as well as their positions in element list. Plus de détails... | |
void | initializeAlgorithms () |
Initialize the algorithms (transformations) Plus de détails... | |
void | initializeDomainAlgorithms (int domPositionInGrid) |
Initialize the algorithms corresponding to transformation info contained in each domain. Plus de détails... | |
void | initializeAxisAlgorithms (int axisPositionInGrid) |
Initialize the algorithms corresponding to transformation info contained in each axis. Plus de détails... | |
void | initializeScalarAlgorithms (int scalarPositionInGrid) |
Initialize the algorithms corresponding to transformation info contained in each scalar. Plus de détails... | |
void | initializeTransformations (TransformationType type) |
Initialize the mapping between the first grid source and the original one In a series of transformation, for each step, there is a need to "create" a new grid that plays a role of "temporary" source. Plus de détails... | |
void | selectAlgo (int elementPositionInGrid, ETranformationType transType, int transformationOrder, int algo) |
Select algorithm correspoding to its transformation type and its position in each element. Plus de détails... | |
bool | isSpecialTransformation (ETranformationType transType) |
void | registerTransformations () |
Register transformation to the framework. Plus de détails... | |
Additional Inherited Members | |
Types publics inherited from xios::CGridTransformationSelector | |
typedef std::list< std::pair < int, std::pair < ETranformationType, std::pair< int, int > > > > | ListAlgoType |
Types protégés inherited from xios::CGridTransformationSelector | |
enum | AlgoType { scalarType = 0, axisType = 1, domainType = 2 } |
enum | TransformationType { special = 0, normal = 1 } |
Attributs protégés inherited from xios::CGridTransformationSelector | |
CGrid * | gridSource_ |
Grid source on transformation. Plus de détails... | |
CGrid * | gridDestination_ |
Grid destination on transformation. Plus de détails... | |
bool | isSameGrid_ |
Grid source and grid destination it's the same. Plus de détails... | |
ListAlgoType | listAlgos_ |
List of algorithm types and their order. Plus de détails... | |
int | nbNormalAlgos_ |
Number of normal algorithm. Plus de détails... | |
int | nbSpecialAlgos_ |
Number of special algorithms (such as generate_rectilinear_grid) Plus de détails... | |
std::vector< AlgoType > | algoTypes_ |
std::vector < CGenericAlgorithmTransformation * > | algoTransformation_ |
std::map< int, int > | elementPositionInGridSrc2AxisPosition_ |
Position of scalar, axis and domain in grid. Plus de détails... | |
std::map< int, int > | elementPositionInGridSrc2DomainPosition_ |
std::map< int, int > | elementPositionInGridSrc2ScalarPosition_ |
std::map< int, int > | elementPositionInGridDst2AxisPosition_ |
std::map< int, int > | elementPositionInGridDst2DomainPosition_ |
std::map< int, int > | elementPositionInGridDst2ScalarPosition_ |
std::vector< StdString > | auxInputs_ |
std::set< Time > | timeStamp_ |
This class creates a grid from scratch, e.g: only global dimension of grid and its type are provided, then the generated grid plays the destination in a transformation.
Not only some attributes of grid and its subcomponents are filled in automatically but it also have a distribution which might be different from one of grid source. This class only plays a role of interface between XIOS and specific algorithm of auto filling-in and auto distributing on sub-component
Définition à la ligne 27 du fichier grid_generate.hpp.
Default constructor
Définition à la ligne 15 du fichier grid_generate.cpp.
xios::CGridGenerate::~CGridGenerate | ( | ) |
Définition à la ligne 20 du fichier grid_generate.cpp.
CATCH void xios::CGridGenerate::completeGrid | ( | ) |
Définition à la ligne 101 du fichier grid_generate.cpp.
Références xios::CGridTransformationSelector::listAlgos_, et xios::CGridTransformationSelector::selectAlgo().
Référencé par xios::CGrid::completeGrid().
|
protectedvirtual |
Select algorithm of an axis correspoding to its transformation type and its position in each element.
[in] | elementPositionInGrid | position of element in grid. e.g: a grid has 1 domain and 1 axis, then position of domain is 1 (because it contains 2 basic elements) and position of axis is 2 |
[in] | transType | transformation type, for now we have Zoom_axis, inverse_axis |
[in] | transformationOrder | position of the transformation in an element (an element can have several transformation) |
Implémente xios::CGridTransformationSelector.
Définition à la ligne 46 du fichier grid_generate.cpp.
|
protectedvirtual |
Select algorithm of a domain correspoding to its transformation type and its position in each element.
[in] | elementPositionInGrid | position of element in grid. e.g: a grid has 1 domain and 1 axis, then position of domain is 1 (because it contains 2 basic elements) and position of axis is 2 |
[in] | transType | transformation type, for now we have Zoom_axis, inverse_axis |
[in] | transformationOrder | position of the transformation in an element (an element can have several transformation) |
Implémente xios::CGridTransformationSelector.
Définition à la ligne 61 du fichier grid_generate.cpp.
Références xios::ERROR, et xios::TRANS_GENERATE_RECTILINEAR_DOMAIN.
|
protectedvirtual |
Select algorithm of an axis correspoding to its transformation type and its position in each element.
[in] | elementPositionInGrid | position of element in grid. e.g: a grid has 1 domain and 1 axis, then position of domain is 1 (because it contains 2 basic elements) and position of axis is 2 |
[in] | transType | transformation type, for now we have Zoom_axis, inverse_axis |
[in] | transformationOrder | position of the transformation in an element (an element can have several transformation) |
Implémente xios::CGridTransformationSelector.
Définition à la ligne 31 du fichier grid_generate.cpp.