/*============================================================================
*
* Code_Saturne version 1.3
* ------------------------
*
*
* This file is part of the Code_Saturne Kernel, element of the
* Code_Saturne CFD tool.
*
* Copyright (C) 1998-2007 EDF S.A., France
*
* contact: saturne-support@edf.fr
*
* The Code_Saturne Kernel is free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of
* the License, or (at your option) any later version.
*
* The Code_Saturne Kernel is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with the Code_Saturne Kernel; if not, write to the
* Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor,
* Boston, MA 02110-1301 USA
*
*============================================================================*/
#ifndef __CS_MAILLAGE_SELECT_H__
#define __CS_MAILLAGE_SELECT_H__
/*============================================================================
* Structure associée à la sélection d'entités liées à cs_maillage_t
*============================================================================*/
/* includes système */
#include <assert.h>
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
/*============================================================================
* Définitions de types
*============================================================================*/
/* Structure associée à un couplage SYRTHES */
typedef struct _cs_maillage_select_t cs_maillage_select_t;
/*=============================================================================
* Prototypes de fonctions
*============================================================================*/
/*----------------------------------------------------------------------------
* Fonction qui alloue et initialise une structure _cs_maillage_select_t
*----------------------------------------------------------------------------*/
cs_maillage_select_t * cs_maillage_select_cree
(
cs_int_t nbr_couleur,
cs_int_t nbr_groupe,
cs_int_t *couleurs,
char **groupes,
cs_bool_t invsel
);
/*----------------------------------------------------------------------------
* Fonction qui détruit une structure _cs_maillage_select_t
*----------------------------------------------------------------------------*/
cs_maillage_select_t * cs_maillage_select_detruit
(
cs_maillage_select_t *selection
);
/*----------------------------------------------------------------------------
* Fonction qui renvoie le nombre de couleurs dans la sélection
*----------------------------------------------------------------------------*/
cs_int_t cs_maillage_select_ret_nbr_coul
(
const cs_maillage_select_t *selection
);
/*----------------------------------------------------------------------------
* Fonction qui renvoie le nombre de groupes dans la sélection
*----------------------------------------------------------------------------*/
cs_int_t cs_maillage_select_ret_nbr_grp
(
const cs_maillage_select_t *selection
);
/*----------------------------------------------------------------------------
* Fonction qui extrait une liste de faces de bord suivant les critères de
* sélection passés dans la structure cs_maillage_select_t
*----------------------------------------------------------------------------*/
void cs_maillage_select_extrait_fbr
(
const cs_maillage_t *const maillage, /* maillage d'origine */
const cs_maillage_select_t *selection, /* critères de sélection */
cs_int_t *nbr_fbr_select, /* nb de fbr sélectionnées */
cs_int_t **lst_fac_select /* liste des fbr sélectionnées */
);
/*----------------------------------------------------------------------------
* Fonction qui affiche le contenu de la structure _cs_maillage_select_t
*----------------------------------------------------------------------------*/
void cs_maillage_select_dump
(
cs_maillage_select_t *selection
);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __CS_MAILLAGE_SELECT_H__ */
syntax highlighted by Code2HTML, v. 0.9.1