73 if (
domaine.type_elem()->que_suis_je() ==
"Hexaedre")
76 IntTab& les_elems =
domaine.les_elems();
78 IntTab new_elems(6 * oldsz, 4);
79 for (
int i = 0; i < oldsz; i++)
81 int i0 = les_elems(i, 0);
82 int i1 = les_elems(i, 1);
83 int i2 = les_elems(i, 2);
84 int i3 = les_elems(i, 3);
85 int i4 = les_elems(i, 4);
86 int i5 = les_elems(i, 5);
87 int i6 = les_elems(i, 6);
88 int i7 = les_elems(i, 7);
95 new_elems(i + oldsz, 0) = i1;
96 new_elems(i + oldsz, 1) = i2;
97 new_elems(i + oldsz, 2) = i3;
98 new_elems(i + oldsz, 3) = i6;
101 new_elems(i + 2 * oldsz, 0) = i1;
102 new_elems(i + 2 * oldsz, 1) = i2;
103 new_elems(i + 2 * oldsz, 2) = i4;
104 new_elems(i + 2 * oldsz, 3) = i6;
107 new_elems(i + 3 * oldsz, 0) = i3;
108 new_elems(i + 3 * oldsz, 1) = i5;
109 new_elems(i + 3 * oldsz, 2) = i6;
110 new_elems(i + 3 * oldsz, 3) = i7;
113 new_elems(i + 4 * oldsz, 0) = i1;
114 new_elems(i + 4 * oldsz, 1) = i4;
115 new_elems(i + 4 * oldsz, 2) = i5;
116 new_elems(i + 4 * oldsz, 3) = i6;
119 new_elems(i + 5 * oldsz, 0) = i1;
120 new_elems(i + 5 * oldsz, 1) = i3;
121 new_elems(i + 5 * oldsz, 2) = i5;
122 new_elems(i + 5 * oldsz, 3) = i6;
126 les_elems.
ref(new_elems);
130 Cerr <<
"We do not yet know how to Tetraedriser the " <<
domaine.type_elem()->que_suis_je() <<
"s" << finl;
131 Cerr <<
"Try to use Tetraedriser_homogene_compact instead." << finl;
135 for (
auto &itr :
domaine.faces_bord())
137 Faces& les_faces = itr.faces();
138 les_faces.
typer(Type_Face::triangle_3D);
142 for (
auto &itr :
domaine.faces_raccord())
144 Faces& les_faces = itr->faces();
145 les_faces.
typer(Type_Face::triangle_3D);
149 for (
auto &itr :
domaine.bords_int())
151 Faces& les_faces = itr.faces();
152 les_faces.
typer(Type_Face::triangle_3D);
156 for (
auto &itr :
domaine.groupes_faces())
158 Faces& les_faces = itr.faces();
159 les_faces.
typer(Type_Face::triangle_3D);