L'utilisation de l'API accélérateur pour les matériaux est similaire à l'utilisation sur les entités du maillage. La macro RUNCOMMAND_MAT_ENUMERATE() permet d'itérer sur un milieu IMeshEnvironment ou un matériau IMeshMaterial.
Les valeurs possibles pour cette macro sont:
Type d'itération | Valeur de l'itérateur | Type du conteneur | Description |
---|---|---|---|
EnvAndGlobalCell | EnvAndGlobalCellIteratorValue | IMeshEnvironment EnvCellVectorView | Itération sur un milieu permettant de récupérer pour chaque itération le numéro local de la maille milieu, l'index de l'itération et le numéro local de la maille globale associée |
MatAndGlobalCell | MatAndGlobalCellIteratorValue | IMeshMaterial MatCellVectorView | Itération sur un matériau permettant de récupérer pour chaque itération le numéro local de la maille matériau, l'index de l'itération et le numéro local de la maille globale associée |
AllEnvCell | AllEnvCell | AllEnvCellVectorView | Itération sur les AllEnvCell |
EnvCell | EnvCellLocalId | IMeshEnvironment EnvCellVectorView | Itération sur un milieu permettant de récupérer pour chaque itération uniquement le numéro local de la maille milieu |
MatCell | MatCellLocalId | IMeshMaterial MatCellVectorView | Itération sur un matériau permettant de récupérer pour chaque itération uniquement le numéro local de la maille matériau |
Si on souhaite uniquement accéder aux numéros locaux des mailles matériaux ou milieux il est préférable pour des raisons de performance d'utiliser la version avec EnvCell
ou MatCell
comme type d'itérateur.
Voici un exemple de code pour itérer sur une maille milieu avec l'information de l'index de l'itération et de la maille globale associée
Voici un autre exemple pour itérer sur les AllEnvCell et récupérer les informations sur les milieux et matériaux présents dans chaque AllEnvCell