16#include <Lire_Ideas.h>
21Implemente_instanciable(
Lire_Ideas,
"Lire_Ideas",Interprete_geometrique_base);
53 Cerr <<
"First pass to determine the sizes of arrays" << finl;
56 for (
int ii=0; ii<80; ii++)
58 strcpy(nom_fic2,nom_fic);
59 F77NAME(LIREPREM) (nom_fic2,
69 Cerr <<
"Number of nodes : " << NNOEUDS << finl;
70 Cerr <<
"Number of elements : " << NELEM << finl;
71 Cerr <<
"Number of tetrahedra : " << NTETRA << finl;
72 Cerr <<
"Number of boundary faces : " << NFACB << finl;
73 Cerr <<
"Number of boundary segments : " << NSEG << finl;
74 Cerr <<
"Number of groups : " << NGROUPE << finl;
76 ArrOfInt NGELEM(NGROUPE);
77 ArrOfInt WORK(std::max(NTETRA,NFACB*4));
82 IntTab TETRA(4,NTETRA);
84 IntTab GROUP(NFACB,NGROUPE);
86 ArrOfDouble X(NNOEUDS);
87 ArrOfDouble Y(NNOEUDS);
88 ArrOfDouble Z(NNOEUDS);
89 Cerr <<
"call of LIREIDEAS " << finl;
91 F77NAME(LIREIDEAS)(nom_fic2,
108 Cerr <<
" Reading completed " << finl;
111 dom.type_elem().
typer(
"Tetraedre");
112 dom.type_elem()->associer_domaine(dom);
119 for(
int i=0; i<NNOEUDS; i++)
127 Cerr <<
" Completing the assignment of coordinates of nodes" << finl;
133 for(
int i=0; i<NTETRA; i++)
140 les_elems(i,j)= TETRA(j,i)-1 ;
144 Cerr <<
" Completing the assignment of elements" << finl;
162 Nom nom1=
"nom.groupe";
165 Cerr <<
"Reading of the file : " << nom1 << finl;
180 for(
int k=0; k<NGROUPE; k++)
183 Bord& nouveau=les_bords.add(Bord());
186 nouveau.
faces().
typer(Type_Face::triangle_3D);
191 for (
int j=0; j<NGELEM[k]; j++)
207 Cerr <<
" Completing the assignment of the boundary faces" << finl;
209 Cerr <<
" Exit of Lire_Ideas " << finl;
void associer_domaine(const Domaine_t &)
Associates a domain to all boundaries in the list.
DoubleTab_t & les_sommets()
void fixer_premieres_faces_frontiere()
void typer(const Nom &)
Sets the element type of the domain using the name passed as parameter.
File for reading. This class is to the C++ ifstream class what the Entree class is to the.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void set_check_types(bool flag)
Indicates whether the stream should verify the types of read objects (ints and floating-point numbers...
void typer(const Motcle &)
Sets the type of the faces.
int_t dimensionner(int_t)
(Re-)sizes the faces. The neighbors are resized accordingly.
int_t sommet(int_t, int) const
Returns the number of the j-th vertex of the i-th face.
void nommer(const Nom &) override
Gives a name to the boundary.
void associer_domaine(const Domaine_t &)
Associates the boundary to the domain it belongs to.
const Faces_t & faces() const
void associer_domaine(Nom &nom_dom)
Domaine_t & domaine(int i=0)
Entree & interpreter_(Entree &) override
class Nom: a character string for naming TRUST objects.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static void init_sequential_domain(Domaine_32_64< _SIZE_ > &dom)
Create parallel descriptors for the vertex and element arrays of the domain (necessary because Scatte...
Base class for output streams.
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)