16#ifndef Polyedre_included
17#define Polyedre_included
19#include <Poly_geom_base.h>
27template <
typename _SIZE_>
102template <
typename _SIZE_>
114template <
typename _SIZE_>
128template <
typename _SIZE_>
137 Cerr <<
"Error, a polyhedron has 1 type of faces and not " << i << finl;
149template <
typename _SIZE_>
164template <
typename _SIZE_>
171 return Type_Face::polygone_3D;
173 Cerr <<
"Error, a polyhedron has 1 type of faces and not " << i << finl;
175 return Type_Face::quadrangle_3D;
class Domaine_32_64 A Domain is a mesh composed of a set of geometric elements of the same type.
Class Elem_geom_base This class is the base class for the definition of elements.
class Nom: a character string for naming TRUST objects.
Base class for polyedrons and polygons. Connectivity is stored in descending mode:
int get_nb_som_elem_max() const
int get_nb_face_elem_max() const
Class Polyedre: represents the Polyedre geometric element.
int get_tab_faces_sommets_locaux(IntTab &faces_som_local) const override
Fills the table faces_som_local(i,j), which gives for 0 <= i < nb_faces() and 0 <= j < nb_som_face(i)...
int_t get_somme_nb_faces_elem() const override
int nb_som_face(int=0) const override
Returns the maximum number of vertices of faces of the specified type.
void affecte_connectivite_numero_global(const ArrOfInt_t &Nodes, const ArrOfInt_t &FacesIndex, const ArrOfInt_t &PolyhedronIndex, IntTab_t &les_elems)
int nb_som() const override
Returns the maximum number of vertices of a polyhedron.
const Nom & nom_lml() const override
Returns the LML name of a polyhedron = "POLYEDRE_" + nb_som_max.
void compute_virtual_index() override
DoubleTab_T< _SIZE_ > DoubleTab_t
const ArrOfInt_t & getElemIndex() const override
int contient(const SmallArrOfTID_t &soms, int_t elem) const override
Not yet implemented — always returns 0. Returns 1 if the vertices specified by "pos" are those of ele...
const ArrOfInt_t & getPolyhedronIndex() const
void calculer_centres_gravite(DoubleTab_t &xp) const override
Compute all centers of mass of all elements in the domain.
int get_tab_faces_sommets_locaux(IntTab &faces_som_local, int_t elem) const override
friend class Polyedre_32_64
int face_sommet(int i, int j) const override
Returns the index of the j-th vertex of the i-th face of the element.
DoubleVect_T< _SIZE_ > DoubleVect_t
TRUSTArray< int, _SIZE_ > BigArrOfInt_t
void ajouter_elements(const Elem_geom_base_32_64< _SIZE_ > &new_elem, const IntTab_t &new_elems, IntTab_t &les_elems)
Appends elements of type new_elem to those already present in les_elems and new_elems.
int nb_faces(int=0) const override
Returns the number of faces of the specified type for this geometric element.
const BigArrOfInt_t & getNodes() const
void build_reduced(OWN_PTR(Elem_geom_base_32_64< int >)&type_elem, const ArrOfInt_t &elems_sous_part) const override
SmallArrOfTID_T< _SIZE_ > SmallArrOfTID_t
int contient(const ArrOfDouble &pos, int_t elem) const override
Returns 1 if element "num_poly" of the associated domain contains the point with coordinates given by...
void calculer_un_centre_gravite(const int_t elem, DoubleVect &xp) const override
void remplir_Nodes_glob(ArrOfInt_t &Nodes_glob, const IntTab_t &les_elems) const
ArrOfInt_T< _SIZE_ > ArrOfInt_t
Type_Face type_face(int=0) const override
Returns the i-th face type.
const ArrOfInt_t & getFacesIndex() const
IntTab_T< _SIZE_ > IntTab_t
void set_nb_som_face_max(int s)
Domaine_32_64< _SIZE_ > Domaine_t
int get_nb_som_face_max() const
ArrOfInt_t PolyhedronIndex_
void calculer_volumes(DoubleVect_t &vols) const override
Computes the volumes of the elements of the associated domain.
ArrOfInt_t & getsetPolyhedronIndex()
BigArrOfInt_t & getsetNodes()
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Represents a an array of int/int64/double/... values.