59 static const int SOM_Z = 0;
60 static const int SOM_A = 1;
61 static const int SOM_B = 2;
62 static const int SOM_C = 3;
64 const int_t som_Z = les_elems(ielem,SOM_Z);
65 const int_t som_A = les_elems(ielem,SOM_A);
66 const int_t som_B = les_elems(ielem,SOM_B);
67 const int_t som_C = les_elems(ielem,SOM_C);
69 double ZA[3], ZB[3], ZC[3], pdtvect[3], pdtscal;
73 ZA[k] = coord_sommets(som_A,k) - coord_sommets(som_Z,k);
74 ZB[k] = coord_sommets(som_B,k) - coord_sommets(som_Z,k);
75 ZC[k] = coord_sommets(som_C,k) - coord_sommets(som_Z,k);
79 pdtvect[0] = ZA[1]*ZB[2] - ZA[2]*ZB[1];
80 pdtvect[1] = ZA[2]*ZB[0] - ZA[0]*ZB[2];
81 pdtvect[2] = ZA[0]*ZB[1] - ZA[1]*ZB[0];
87 pdtscal += pdtvect[k] * ZC[k];
98 return Sens_Orient::INDIRECT;
106 return Sens_Orient::DIRECT;
128 if (dom.type_elem()->
que_suis_je() ==
"Tetraedre" )
135 for (
int_t ielem=0 ; ielem<nb_elems ; ielem++)
145 static const int SOM_Z = 0;
146 static const int SOM_A = 1;
147 static const int SOM_B = 2;
148 static const int SOM_C = 3;
149 const int som_Z = les_elems(ielem,SOM_Z);
150 const int som_A = les_elems(ielem,SOM_A);
151 const int som_B = les_elems(ielem,SOM_B);
152 const int som_C = les_elems(ielem,SOM_C);
153 Process::Journal<<
" somA= "<<som_A<<
" coords= "<<coord_sommets(som_A, 0)<<
" "<<coord_sommets(som_A, 1)<<
" "<<coord_sommets(som_A, 2)<<finl;
154 Process::Journal<<
" somB= "<<som_B<<
" coords= "<<coord_sommets(som_B, 0)<<
" "<<coord_sommets(som_B, 1)<<
" "<<coord_sommets(som_B, 2)<<finl;
155 Process::Journal<<
" somC= "<<som_C<<
" coords= "<<coord_sommets(som_C, 0)<<
" "<<coord_sommets(som_C, 1)<<
" "<<coord_sommets(som_C, 2)<<finl;
156 Process::Journal<<
" somA= "<<som_A<<
" coords= "<<coord_sommets(som_A, 0)<<
" "<<coord_sommets(som_A, 1)<<
" "<<coord_sommets(som_A, 2)<<finl<<finl;
157 Process::Journal<<
" somZ= "<<som_Z<<
" coords= "<<coord_sommets(som_Z, 0)<<
" "<<coord_sommets(som_Z, 1)<<
" "<<coord_sommets(som_Z, 2)<<finl;
158 Process::Journal<<
" somA= "<<som_A<<
" coords= "<<coord_sommets(som_A, 0)<<
" "<<coord_sommets(som_A, 1)<<
" "<<coord_sommets(som_A, 2)<<finl<<finl;
159 Process::Journal<<
" somZ= "<<som_Z<<
" coords= "<<coord_sommets(som_Z, 0)<<
" "<<coord_sommets(som_Z, 1)<<
" "<<coord_sommets(som_Z, 2)<<finl;
160 Process::Journal<<
" somB= "<<som_B<<
" coords= "<<coord_sommets(som_B, 0)<<
" "<<coord_sommets(som_B, 1)<<
" "<<coord_sommets(som_B, 2)<<finl<<finl;
161 Process::Journal<<
" somZ= "<<som_Z<<
" coords= "<<coord_sommets(som_Z, 0)<<
" "<<coord_sommets(som_Z, 1)<<
" "<<coord_sommets(som_Z, 2)<<finl;
162 Process::Journal<<
" somC= "<<som_C<<
" coords= "<<coord_sommets(som_C, 0)<<
" "<<coord_sommets(som_C, 1)<<
" "<<coord_sommets(som_C, 2)<<finl<<finl;
const DoubleTab_t & coord_sommets() const