#include "arcane/utils/FatalErrorException.h"
#include "arcane/core/materials/MatItem.h"
#include "arcane/core/materials/IEnumeratorTracer.h"
#include "arcane/EnumeratorTraceWrapper.h"
Aller au code source de ce fichier.
Espaces de nommage | |
namespace | Arcane |
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*- | |
namespace | Arcane::Materials |
Active toujours les traces dans les parties Arcane concernant les matériaux. | |
Macros | |
#define | A_TRACE_COMPONENT(_EnumeratorClassName) ::Arcane::Materials::_EnumeratorClassName |
#define | A_ENUMERATE_COMPONENTCELL(_EnumeratorClassName, iname, ...) for( A_TRACE_COMPONENT(_EnumeratorClassName) iname(Arcane::Materials::_EnumeratorClassName::create(__VA_ARGS__) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname ) |
#define | A_ENUMERATE_COMPONENT(_EnumeratorClassName, iname, container) for( A_TRACE_COMPONENT(_EnumeratorClassName) iname((::Arcane::Materials::_EnumeratorClassName)(container) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname ) |
#define | A_ENUMERATE_CELL_COMPONENTCELL(_EnumeratorClassName, iname, component_cell) for( ::Arcane::Materials::_EnumeratorClassName iname((::Arcane::Materials::_EnumeratorClassName)(component_cell)); iname.hasNext(); ++iname ) |
#define | ENUMERATE_COMPONENTITEM(enumerator_class_name, iname, ...) A_ENUMERATE_COMPONENTCELL(ComponentItemEnumeratorTraitsT<enumerator_class_name>::EnumeratorType,iname,__VA_ARGS__) |
Macro générique pour itérer sur les entités d'un matériau ou d'un milieu. | |
#define | ENUMERATE_ALLENVCELL(iname, ...) for( A_TRACE_COMPONENT(AllEnvCellEnumerator) iname( ::Arcane::Materials::AllEnvCellEnumerator::create(__VA_ARGS__) ); iname.hasNext(); ++iname ) |
Macro pour itérer sur toutes les mailles AllEnvCell d'un groupe. | |
#define | ENUMERATE_MATCELL(iname, mat) A_ENUMERATE_COMPONENTCELL(MatCellEnumerator,iname,mat) |
Macro pour itérer sur toutes les mailles d'un matériau. | |
#define | ENUMERATE_ENVCELL(iname, env) A_ENUMERATE_COMPONENTCELL(EnvCellEnumerator,iname,env) |
Macro pour itérer sur toutes les mailles d'un milieu. | |
#define | ENUMERATE_COMPONENTCELL(iname, component) A_ENUMERATE_COMPONENTCELL(ComponentCellEnumerator,iname,component) |
Macro pour itérer sur toutes les mailles d'un composant. | |
#define | ENUMERATE_COMPONENT(icomponent, container) A_ENUMERATE_COMPONENT(ComponentEnumerator,icomponent,container) |
Macro pour itérer sur une liste de composants. | |
#define | ENUMERATE_MAT(imat, container) A_ENUMERATE_COMPONENT(MatEnumerator,imat,container) |
Macro pour itérer sur une liste de matériaux. | |
#define | ENUMERATE_ENV(ienv, container) A_ENUMERATE_COMPONENT(EnvEnumerator,ienv,container) |
Macro pour itérer sur une liste de milieux. | |
#define | ENUMERATE_CELL_COMPONENTCELL(iname, component_cell) A_ENUMERATE_CELL_COMPONENTCELL(CellComponentCellEnumerator,iname,component_cell) |
Macro pour itérer sur tous les composants d'une maille. | |
#define | ENUMERATE_CELL_MATCELL(iname, env_cell) A_ENUMERATE_CELL_COMPONENTCELL(CellMatCellEnumerator,iname,env_cell) |
Macro pour itérer sur tous les matériaux d'une maille. | |
#define | ENUMERATE_CELL_ENVCELL(iname, all_env_cell) A_ENUMERATE_CELL_COMPONENTCELL(CellEnvCellEnumerator,iname,all_env_cell) |
Macro pour itérer sur tous les milieux d'une maille. | |
#define | ENUMERATE_GENERIC_CELL(iname, mat_or_env_or_group) for( auto iname = ::Arcane::Materials::CellGenericEnumerator::create(mat_or_env_or_group); iname.hasNext(); ++iname ) |
Macro pour itérer de manière générique sur les matériaux, milieux ou les mailles. | |
Ce fichier contient les différents types d'itérateur et macros pour itérer sur les mailles matériaux et milieux.
Définition dans le fichier core/materials/MatItemEnumerator.h.
#define A_ENUMERATE_CELL_COMPONENTCELL | ( | _EnumeratorClassName, | |
iname, | |||
component_cell | |||
) | for( ::Arcane::Materials::_EnumeratorClassName iname((::Arcane::Materials::_EnumeratorClassName)(component_cell)); iname.hasNext(); ++iname ) |
Définition à la ligne 540 du fichier core/materials/MatItemEnumerator.h.
#define A_ENUMERATE_COMPONENT | ( | _EnumeratorClassName, | |
iname, | |||
container | |||
) | for( A_TRACE_COMPONENT(_EnumeratorClassName) iname((::Arcane::Materials::_EnumeratorClassName)(container) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname ) |
Définition à la ligne 537 du fichier core/materials/MatItemEnumerator.h.
#define A_ENUMERATE_COMPONENTCELL | ( | _EnumeratorClassName, | |
iname, | |||
... | |||
) | for( A_TRACE_COMPONENT(_EnumeratorClassName) iname(Arcane::Materials::_EnumeratorClassName::create(__VA_ARGS__) A_TRACE_ENUMERATOR_WHERE); iname.hasNext(); ++iname ) |
Définition à la ligne 534 du fichier core/materials/MatItemEnumerator.h.
#define A_TRACE_COMPONENT | ( | _EnumeratorClassName | ) | ::Arcane::Materials::_EnumeratorClassName |
Définition à la ligne 530 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_ALLENVCELL | ( | iname, | |
... | |||
) | for( A_TRACE_COMPONENT(AllEnvCellEnumerator) iname( ::Arcane::Materials::AllEnvCellEnumerator::create(__VA_ARGS__) ); iname.hasNext(); ++iname ) |
Macro pour itérer sur toutes les mailles AllEnvCell d'un groupe.
Il existe deux possibilités pour utiliser cette macro. La première est obsolète et utilise la méthode IMeshMaterialMng::view(). La seconde utilise trois arguments:
iname | nom de l'itérateur, de type AllEnvCellEnumerator. |
matmng | gestionnaire de materiaux de type IMeshMaterialMng. |
igroup | groupe de maille, de type CellGroup. |
Définition à la ligne 570 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_CELL_COMPONENTCELL | ( | iname, | |
component_cell | |||
) | A_ENUMERATE_CELL_COMPONENTCELL(CellComponentCellEnumerator,iname,component_cell) |
Macro pour itérer sur tous les composants d'une maille.
iname | nom de l'itérateur, de type CellComponentCellEnumerator. |
component_cell | maille composant, de type ComponentCell. |
Définition à la ligne 640 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_CELL_ENVCELL | ( | iname, | |
all_env_cell | |||
) | A_ENUMERATE_CELL_COMPONENTCELL(CellEnvCellEnumerator,iname,all_env_cell) |
Macro pour itérer sur tous les milieux d'une maille.
iname | nom de l'itérateur, de type CellEnvCellEnumerator. |
all_env_cell | maille avec infos sur les milieux, de type AllEnvCell. |
Définition à la ligne 658 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_CELL_MATCELL | ( | iname, | |
env_cell | |||
) | A_ENUMERATE_CELL_COMPONENTCELL(CellMatCellEnumerator,iname,env_cell) |
Macro pour itérer sur tous les matériaux d'une maille.
iname | nom de l'itérateur, de type CellMatCellEnumerator. |
env_cell | maille milieu, de type EnvCell. |
Définition à la ligne 649 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_COMPONENT | ( | icomponent, | |
container | |||
) | A_ENUMERATE_COMPONENT(ComponentEnumerator,icomponent,container) |
Macro pour itérer sur une liste de composants.
icomponent nom de l'itérateur. container peut être un objet du type suivant:
Définition à la ligne 607 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_COMPONENTCELL | ( | iname, | |
component | |||
) | A_ENUMERATE_COMPONENTCELL(ComponentCellEnumerator,iname,component) |
Macro pour itérer sur toutes les mailles d'un composant.
iname | nom de l'itérateur, de type EnvCellEnumerator. |
component | composant, de type IMeshComponent* |
Définition à la ligne 597 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_COMPONENTITEM | ( | enumerator_class_name, | |
iname, | |||
... | |||
) | A_ENUMERATE_COMPONENTCELL(ComponentItemEnumeratorTraitsT<enumerator_class_name>::EnumeratorType,iname,__VA_ARGS__) |
Macro générique pour itérer sur les entités d'un matériau ou d'un milieu.
enumerate_class_name | nom de la classe de l'énumérateur |
iname | nom de la variable contenant l'itérateur |
... | Les arguments supplémentaires sont passés à la méthode statique create() de la classe de l'énumérateur. |
Définition à la ligne 554 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_ENV | ( | ienv, | |
container | |||
) | A_ENUMERATE_COMPONENT(EnvEnumerator,ienv,container) |
Macro pour itérer sur une liste de milieux.
ienv est le nom de l'énumérateur. container peut être un objet du type suivant:
Définition à la ligne 631 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_ENVCELL | ( | iname, | |
env | |||
) | A_ENUMERATE_COMPONENTCELL(EnvCellEnumerator,iname,env) |
Macro pour itérer sur toutes les mailles d'un milieu.
iname | nom de l'itérateur, de type EnvCellEnumerator. |
env | milieu, de type IMeshEnvironment* |
Définition à la ligne 588 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_GENERIC_CELL | ( | iname, | |
mat_or_env_or_group | |||
) | for( auto iname = ::Arcane::Materials::CellGenericEnumerator::create(mat_or_env_or_group); iname.hasNext(); ++iname ) |
Macro pour itérer de manière générique sur les matériaux, milieux ou les mailles.
iname | nom de l'itérateur, de type CellEnvCellEnumerator. |
mat_or_env_or_group | un objet qui peut être passé en argument de ENUMERATE_CELL, ENUMERATE_MATCELL ou ENUMERATE_ENVCELL. |
Définition à la ligne 672 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_MAT | ( | imat, | |
container | |||
) | A_ENUMERATE_COMPONENT(MatEnumerator,imat,container) |
Macro pour itérer sur une liste de matériaux.
imat nom de l'itérateur. container peut être un objet du type suivant:
Définition à la ligne 619 du fichier core/materials/MatItemEnumerator.h.
#define ENUMERATE_MATCELL | ( | iname, | |
mat | |||
) | A_ENUMERATE_COMPONENTCELL(MatCellEnumerator,iname,mat) |
Macro pour itérer sur toutes les mailles d'un matériau.
iname | nom de l'itérateur, de type MatCellEnumerator. |
mat | matériau, de type IMeshMaterial* |
Définition à la ligne 579 du fichier core/materials/MatItemEnumerator.h.