16#include <Trianguler.h>
55 if ((
domaine.type_elem()->que_suis_je() ==
"Rectangle") || (
domaine.type_elem()->que_suis_je() ==
"Quadrangle"))
58 IntTab& les_elems=
domaine.les_elems();
59 const DoubleTab& som =
domaine.les_sommets();
61 IntTab new_elems(2*oldsz, 3);
62 for(
int i=0; i< oldsz; i++)
64 int i0=les_elems(i,0);
65 int i1=les_elems(i,1);
66 int i2=les_elems(i,2);
67 int i3=les_elems(i,3);
73 d1+=(som(i1,dir)-som(i2,dir))*(som(i1,dir)-som(i2,dir));
74 d2+=(som(i3,dir)-som(i0,dir))*(som(i3,dir)-som(i0,dir));
86 new_elems(i+oldsz,0)=i1;
87 new_elems(i+oldsz,1)=i2;
88 new_elems(i+oldsz,2)=i3;
95 new_elems(i+oldsz,0)=i0;
96 new_elems(i+oldsz,1)=i2;
97 new_elems(i+oldsz,2)=i3;
101 les_elems.
ref(new_elems);
105 Cerr <<
"We do not yet know how to Trianguler the "
106 <<
domaine.type_elem()->que_suis_je() <<
"s"<<finl;
Class defining operators and methods for all reading operation in an input flow (file,...
void mettre_a_jour_sous_domaine(Domaine_t &domaine, int_t &elem, int_t num_premier_elem, int_t nb_elem) const
Domaine_t & domaine(int i=0)
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Classe de base des flux de sortie.
virtual void ref(const TRUSTTab &)
_SIZE_ dimension(int d) const
Triangulation_base Classe destinee a factoriser l'action de triangulation des interpretes.
Classe Trianguler Cette classe est un interprete qui sert a lire et executer.
void trianguler(Domaine &) const override
Triangule tous les element d'un domaine: transforme les elements goemetriques du domaine en triangles...