XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
Référence de la classe xios::CGridGenerate

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>

+ Graphe d'héritage de xios::CGridGenerate:
+ Graphe de collaboration de xios::CGridGenerate:

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
CGridgridSource_
 Grid source on transformation. Plus de détails...
 
CGridgridDestination_
 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< AlgoTypealgoTypes_
 
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< StdStringauxInputs_
 
std::set< TimetimeStamp_
 

Description détaillée

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.

Documentation des constructeurs et destructeur

xios::CGridGenerate::CGridGenerate ( CGrid destination,
CGrid source = 0 
)

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.

Documentation des fonctions membres

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().

+ Voici le graphe d'appel pour cette fonction :

+ Voici le graphe des appelants de cette fonction :

CATCH void xios::CGridGenerate::selectAxisAlgo ( int  elementPositionInGrid,
ETranformationType  transType,
int  transformationOrder 
)
protectedvirtual

Select algorithm of an axis correspoding to its transformation type and its position in each element.

Paramètres
[in]elementPositionInGridposition 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]transTypetransformation type, for now we have Zoom_axis, inverse_axis
[in]transformationOrderposition 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.

CATCH void xios::CGridGenerate::selectDomainAlgo ( int  elementPositionInGrid,
ETranformationType  transType,
int  transformationOrder 
)
protectedvirtual

Select algorithm of a domain correspoding to its transformation type and its position in each element.

Paramètres
[in]elementPositionInGridposition 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]transTypetransformation type, for now we have Zoom_axis, inverse_axis
[in]transformationOrderposition 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.

void xios::CGridGenerate::selectScalarAlgo ( int  elementPositionInGrid,
ETranformationType  transType,
int  transformationOrder 
)
protectedvirtual

Select algorithm of an axis correspoding to its transformation type and its position in each element.

Paramètres
[in]elementPositionInGridposition 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]transTypetransformation type, for now we have Zoom_axis, inverse_axis
[in]transformationOrderposition 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.


La documentation de cette classe a été générée à partir des fichiers suivants :