00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SUBDIVIV_H_
00024 #define SUBDIVIV_H_
00025
00026 void Act_on_subdivision_partIV(Bo_description* Description,
00027 Calculator_FE* Act,
00028 bool* corners, bool& stop) {
00029 int i;
00030
00031 Edge_Corner_point poi_1, poi_2, poi_3, poi_4;
00032 Edge_Corner_point poi_5, poi_6, poi_7, poi_8, poi_14;
00033 Edge_Corner_point poi_9, poi_10, poi_11, poi_12, poi_13;
00034 Edge_Corner_point poi_A, poi_B, poi_C, poi_D;
00035 Edge_Corner_point poi_A2, poi_B2, poi_C2, poi_D2;
00036 Edge_Corner_point poi_boA, poi_boB, poi_boC, poi_boD;
00037
00038 dir_3D dirA, dirB;
00039 dir_3D sur, suropp;
00040 bool later_stop, LA, LB, LC, LD, LcA, LcB, LcC, LcD, Lsp;
00041 int num_corners;
00042 double h_7, h_9, h_11, h_13;
00043
00044 later_stop = false;
00045
00046
00047 for(i=0;i<6 && !stop;++i) {
00048 sur = (dir_3D)i;
00049 if(i==Wdir || i==Ndir || i==Ddir) {
00050 poi_A.corner = corner_sur(sur,SWdir);
00051 poi_B.corner = corner_sur(sur,SEdir);
00052 poi_C.corner = corner_sur(sur,NWdir);
00053 poi_D.corner = corner_sur(sur,NEdir);
00054 }
00055 else {
00056 poi_A.corner = corner_sur(sur,SWdir);
00057 poi_B.corner = corner_sur(sur,NWdir);
00058 poi_C.corner = corner_sur(sur,SEdir);
00059 poi_D.corner = corner_sur(sur,NEdir);
00060 }
00061
00062 LcA = Description->corner_point(poi_A.corner);
00063 LcB = Description->corner_point(poi_B.corner);
00064 LcC = Description->corner_point(poi_C.corner);
00065 LcD = Description->corner_point(poi_D.corner);
00066
00067 num_corners=0;
00068 if(LcA) ++num_corners;
00069 if(LcB) ++num_corners;
00070 if(LcC) ++num_corners;
00071 if(LcD) ++num_corners;
00072 if(num_corners == 3) {
00073
00074 poi_A.edge_point = corner_poi_typ;
00075 poi_B.edge_point = corner_poi_typ;
00076 poi_C.edge_point = corner_poi_typ;
00077 poi_D.edge_point = corner_poi_typ;
00078
00079 poi_A2.edge_point = corner_poi_typ;
00080 poi_B2.edge_point = corner_poi_typ;
00081 poi_C2.edge_point = corner_poi_typ;
00082 poi_D2.edge_point = corner_poi_typ;
00083
00084 poi_boA.edge_point = edge_poi_typ;
00085 poi_boB.edge_point = edge_poi_typ;
00086 poi_boC.edge_point = edge_poi_typ;
00087 poi_boD.edge_point = edge_poi_typ;
00088 suropp = opposite3D((dir_3D)i);
00089 if(i==Wdir || i==Ndir || i==Ddir) {
00090 poi_A2.corner = corner_sur(suropp,SWdir);
00091 poi_B2.corner = corner_sur(suropp,SEdir);
00092 poi_C2.corner = corner_sur(suropp,NWdir);
00093 poi_D2.corner = corner_sur(suropp,NEdir);
00094
00095 poi_boA.corner = poi_A.corner; poi_boA.d = opposite3D((dir_3D)i);
00096 LA = Description->edge_point(poi_boA);
00097 poi_boB.corner = poi_B.corner; poi_boB.d = opposite3D((dir_3D)i);
00098 LB = Description->edge_point(poi_boB);
00099 poi_boC.corner = poi_C.corner; poi_boC.d = opposite3D((dir_3D)i);
00100 LC = Description->edge_point(poi_boC);
00101 poi_boD.corner = poi_D.corner; poi_boD.d = opposite3D((dir_3D)i);
00102 LD = Description->edge_point(poi_boD);
00103 }
00104 else {
00105 poi_A2.corner = corner_sur(suropp,SWdir);
00106 poi_B2.corner = corner_sur(suropp,NWdir);
00107 poi_C2.corner = corner_sur(suropp,SEdir);
00108 poi_D2.corner = corner_sur(suropp,NEdir);
00109
00110 poi_boA.corner = poi_A.corner; poi_boA.d = opposite3D((dir_3D)i);
00111 LA = Description->edge_point(poi_boA);
00112 poi_boB.corner = poi_B.corner; poi_boB.d = opposite3D((dir_3D)i);
00113 LB = Description->edge_point(poi_boB);
00114 poi_boC.corner = poi_C.corner; poi_boC.d = opposite3D((dir_3D)i);
00115 LC = Description->edge_point(poi_boC);
00116 poi_boD.corner = poi_D.corner; poi_boD.d = opposite3D((dir_3D)i);
00117 LD = Description->edge_point(poi_boD);
00118 }
00119
00120
00121 if(!LcC) {
00122
00123
00124 Lsp = LC;
00125 LC = LD; LD = LB;
00126 LB = LA; LA = Lsp;
00127
00128 poi_1 = poi_C;
00129 poi_C = poi_D; poi_D = poi_B;
00130 poi_B = poi_A; poi_A = poi_1;
00131
00132 poi_1 = poi_C2;
00133 poi_C2 = poi_D2; poi_D2 = poi_B2;
00134 poi_B2 = poi_A2; poi_A2 = poi_1;
00135
00136 poi_1 = poi_boC;
00137 poi_boC = poi_boD; poi_boD = poi_boB;
00138 poi_boB = poi_boA; poi_boA = poi_1;
00139 }
00140 if(!LcD) {
00141
00142
00143 Lsp = LD;
00144 LD = LA; LA = Lsp;
00145 Lsp = LB;
00146 LB = LC; LC = Lsp;
00147
00148 poi_1 = poi_D;
00149 poi_D = poi_A; poi_A = poi_1;
00150 poi_1 = poi_B;
00151 poi_B = poi_C; poi_C = poi_1;
00152
00153 poi_1 = poi_D2;
00154 poi_D2 = poi_A2; poi_A2 = poi_1;
00155 poi_1 = poi_B2;
00156 poi_B2 = poi_C2; poi_C2 = poi_1;
00157
00158 poi_1 = poi_boD;
00159 poi_boD = poi_boA; poi_boA = poi_1;
00160 poi_1 = poi_boB;
00161 poi_boB = poi_boC; poi_boC = poi_1;
00162 }
00163 if(!LcB) {
00164
00165
00166 Lsp = LB;
00167 LB = LD; LD = LC;
00168 LC = LA; LA = Lsp;
00169
00170 poi_1 = poi_B;
00171 poi_B = poi_D; poi_D = poi_C;
00172 poi_C = poi_A; poi_A = poi_1;
00173
00174 poi_1 = poi_B2;
00175 poi_B2 = poi_D2; poi_D2 = poi_C2;
00176 poi_C2 = poi_A2; poi_A2 = poi_1;
00177
00178 poi_1 = poi_boB;
00179 poi_boB = poi_boD; poi_boD = poi_boC;
00180 poi_boC = poi_boA; poi_boA = poi_1;
00181 }
00182
00183
00184
00185
00186
00187 poi_2.edge_point = corner_poi_typ;
00188 poi_3.edge_point = poi_4.edge_point = corner_poi_typ;
00189 poi_5.edge_point = poi_6.edge_point = edge_poi_typ;
00190
00191 poi_2 = poi_C; poi_3 = poi_D;
00192 poi_4 = poi_B;
00193
00194 poi_5.corner = poi_2.corner;
00195 poi_5.d = direction_from_to(poi_C.corner,poi_A.corner);
00196 poi_6.corner = poi_4.corner;
00197 poi_6.d = direction_from_to(poi_B.corner,poi_A.corner);
00198
00199
00200
00201 poi_boA.corner = poi_B2.corner;
00202 poi_boA.d = direction_from_to(poi_B.corner,poi_A.corner);
00203 LA = Description->edge_point(poi_boA);
00204
00205 if(LA && LD && LC && !LB &&
00206 corners[poi_B.corner] && corners[poi_C.corner] &&
00207 corners[poi_D.corner] && corners[poi_B2.corner]) {
00208 corners[poi_B.corner] = corners[poi_C.corner] =
00209 corners[poi_D.corner] = corners[poi_B2.corner] = false;
00210 if(later_stop) {
00211 stop=true;
00212 cout << "\n Achtung:" << endl;
00213 }
00214 later_stop=true;
00215 poi_7.edge_point = poi_9.edge_point = edge_poi_typ;
00216 poi_8.edge_point = corner_poi_typ;
00217 poi_10.edge_point = poi_11.edge_point = edge_poi_typ;
00218
00219
00220 poi_11 = poi_boC; poi_10 = poi_boD;
00221 poi_8 = poi_B2;
00222
00223 poi_7.corner = poi_8.corner;
00224 poi_9.corner = poi_8.corner;
00225 poi_7.d = direction_from_to(poi_B.corner,poi_A.corner);
00226 poi_9.d = direction_from_to(poi_B.corner,poi_D.corner);
00227
00228 poi_12.edge_point = cell_poi_typ;
00229
00230
00231 if(poi_9.d==Wdir || poi_9.d==Edir)
00232 Act->Add_Bo_freedom(D3vector( 0.0,
00233 -0.25+0.5*y1DCoord(poi_4.corner),
00234 -0.25+0.5*z1DCoord(poi_4.corner)));
00235 if(poi_9.d==Ndir || poi_9.d==Sdir)
00236 Act->Add_Bo_freedom(D3vector(-0.25+0.5*x1DCoord(poi_4.corner),
00237 0.0,
00238 -0.25+0.5*z1DCoord(poi_4.corner)));
00239 if(poi_9.d==Tdir || poi_9.d==Ddir)
00240 Act->Add_Bo_freedom(D3vector(-0.25+0.5*x1DCoord(poi_4.corner),
00241 -0.25+0.5*y1DCoord(poi_4.corner),
00242 0.0));
00243
00244
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258 Act->Tetraeder(poi_12,poi_5,poi_6,poi_3);
00259 Act->Tetraeder(poi_12,poi_2,poi_5,poi_3);
00260 Act->Tetraeder(poi_12,poi_6,poi_4,poi_3);
00261
00262
00263 Act->Tetraeder(poi_12,poi_10,poi_4,poi_9);
00264 Act->Tetraeder(poi_12,poi_10,poi_3,poi_4);
00265 Act->Tetraeder(poi_12,poi_8,poi_9,poi_4);
00266
00267
00268 Act->Tetraeder(poi_12,poi_11,poi_5,poi_2);
00269
00270
00271 Act->Tetraeder(poi_12,poi_8,poi_7,poi_9);
00272
00273
00274
00275 dirA = poi_10.d;
00276 dirB = direction_from_to(poi_3.corner,poi_2.corner);
00277 if(Calc_f_type(dirA,dirB)==an) {
00278 Act->Tetraeder(poi_12,poi_10,poi_2,poi_3);
00279 Act->Tetraeder(poi_12,poi_10,poi_11,poi_2);
00280 }
00281 else {
00282 Act->Tetraeder(poi_12,poi_11,poi_3,poi_10);
00283 Act->Tetraeder(poi_12,poi_11,poi_2,poi_3);
00284 }
00285
00286
00287 if(Calc_f_type(dirA,dirB)==an) {
00288 Act->Tetraeder(poi_12,poi_8,poi_4,poi_6);
00289 Act->Tetraeder(poi_12,poi_8,poi_6,poi_7);
00290 }
00291 else {
00292 Act->Tetraeder(poi_12,poi_8,poi_4,poi_7);
00293 Act->Tetraeder(poi_12,poi_7,poi_4,poi_6);
00294 }
00295
00296 Act->Tetraeder(poi_12,poi_7,poi_11,poi_9);
00297 Act->Tetraeder(poi_12,poi_9,poi_11,poi_10);
00298
00299 Act->Tetraeder(poi_12,poi_7,poi_5,poi_11);
00300 Act->Tetraeder(poi_12,poi_7,poi_6,poi_5);
00301 }
00302 poi_boA.corner = poi_C2.corner;
00303 poi_boA.d = direction_from_to(poi_C.corner,poi_A.corner);
00304 LA = Description->edge_point(poi_boA);
00305
00306 if(LA && LD && !LC && LB && !stop &&
00307 corners[poi_B.corner] && corners[poi_C.corner] &&
00308 corners[poi_D.corner] && corners[poi_C2.corner]) {
00309 corners[poi_B.corner] = corners[poi_C.corner] =
00310 corners[poi_D.corner] = corners[poi_C2.corner] = false;
00311 if(later_stop) stop=true;
00312 later_stop=true;
00313 poi_7.edge_point = poi_9.edge_point = edge_poi_typ;
00314 poi_8.edge_point = corner_poi_typ;
00315 poi_10.edge_point = poi_11.edge_point = edge_poi_typ;
00316
00317
00318 poi_8 = poi_C2; poi_10 = poi_boD;
00319 poi_11 = poi_boB;
00320
00321 poi_7.corner = poi_8.corner;
00322 poi_9.corner = poi_8.corner;
00323 poi_7.d = direction_from_to(poi_C.corner,poi_A.corner);
00324 poi_9.d = direction_from_to(poi_C.corner,poi_D.corner);
00325
00326 poi_12.edge_point = cell_poi_typ;
00327
00328 if(poi_9.d==Wdir || poi_9.d==Edir)
00329 Act->Add_Bo_freedom(D3vector( 0.0,
00330 -0.25+0.5*y1DCoord(poi_2.corner),
00331 -0.25+0.5*z1DCoord(poi_2.corner)));
00332 if(poi_9.d==Ndir || poi_9.d==Sdir)
00333 Act->Add_Bo_freedom(D3vector(-0.25+0.5*x1DCoord(poi_2.corner),
00334 0.0,
00335 -0.25+0.5*z1DCoord(poi_2.corner)));
00336 if(poi_9.d==Tdir || poi_9.d==Ddir)
00337 Act->Add_Bo_freedom(D3vector(-0.25+0.5*x1DCoord(poi_2.corner),
00338 -0.25+0.5*y1DCoord(poi_2.corner),
00339 0.0));
00340
00341
00342
00343
00344
00345
00346
00347
00348
00349
00350
00351
00352
00353
00354
00355 Act->Tetraeder(poi_12,poi_5,poi_6,poi_3);
00356 Act->Tetraeder(poi_12,poi_2,poi_5,poi_3);
00357 Act->Tetraeder(poi_12,poi_6,poi_4,poi_3);
00358
00359
00360 Act->Tetraeder(poi_12,poi_10,poi_2,poi_3);
00361 Act->Tetraeder(poi_12,poi_10,poi_9,poi_2);
00362 Act->Tetraeder(poi_12,poi_9,poi_8,poi_2);
00363
00364
00365 Act->Tetraeder(poi_12,poi_11,poi_4,poi_6);
00366
00367
00368 Act->Tetraeder(poi_12,poi_7,poi_8,poi_9);
00369
00370
00371
00372 dirA = poi_10.d;
00373 dirB = direction_from_to(poi_3.corner,poi_4.corner);
00374 if(Calc_f_type(dirA,dirB)==an) {
00375 Act->Tetraeder(poi_12,poi_10,poi_3,poi_4);
00376 Act->Tetraeder(poi_12,poi_10,poi_4,poi_11);
00377 }
00378 else {
00379 Act->Tetraeder(poi_12,poi_11,poi_10,poi_3);
00380 Act->Tetraeder(poi_12,poi_11,poi_3,poi_4);
00381 }
00382
00383
00384
00385 if(Calc_f_type(dirA,dirB)==an) {
00386 Act->Tetraeder(poi_12,poi_8,poi_5,poi_2);
00387 Act->Tetraeder(poi_12,poi_8,poi_7,poi_5);
00388 }
00389 else {
00390 Act->Tetraeder(poi_12,poi_7,poi_2,poi_8);
00391 Act->Tetraeder(poi_12,poi_7,poi_5,poi_2);
00392 }
00393
00394
00395 Act->Tetraeder(poi_12,poi_11,poi_7,poi_9);
00396 Act->Tetraeder(poi_12,poi_11,poi_9,poi_10);
00397
00398
00399
00400
00401 Act->Tetraeder(poi_12,poi_11,poi_6,poi_7);
00402 Act->Tetraeder(poi_12,poi_7,poi_6,poi_5);
00403 }
00404
00405
00406 poi_boA.corner = poi_C2.corner;
00407 poi_boA.d = direction_from_to(poi_C.corner,poi_A.corner);
00408 LA = Description->edge_point(poi_boA);
00409 if(LA && LD && !LC && !LB) {
00410 stop=true;
00411 poi_7.edge_point = poi_9.edge_point = edge_poi_typ;
00412 poi_8.edge_point = corner_poi_typ;
00413 poi_10.edge_point = edge_poi_typ;
00414 poi_12.edge_point = corner_poi_typ;
00415 poi_11.edge_point = poi_13.edge_point = edge_poi_typ;
00416
00417
00418 poi_12 = poi_C2; poi_10 = poi_boD;
00419 poi_8 = poi_B2;
00420
00421 poi_7.corner = poi_8.corner;
00422 poi_9.corner = poi_8.corner;
00423 poi_7.d = direction_from_to(poi_B.corner,poi_A.corner);
00424 poi_9.d = direction_from_to(poi_B.corner,poi_D.corner);
00425
00426 poi_11.corner = poi_12.corner;
00427 poi_13.corner = poi_12.corner;
00428 poi_11.d = direction_from_to(poi_C.corner,poi_D.corner);
00429 poi_13.d = direction_from_to(poi_C.corner,poi_A.corner);
00430
00431 poi_14.edge_point = cell_poi_typ;
00432
00433
00434
00435
00436
00437
00438 Act->Add_Bo_freedom(D3vector(-0.1+0.2*x1DCoord(poi_3.corner),
00439 -0.1+0.2*y1DCoord(poi_3.corner),
00440 -0.1+0.2*z1DCoord(poi_3.corner)));
00441
00442
00443
00444
00445
00446
00447
00448 Act->Tetraeder(poi_14,poi_5,poi_6,poi_3);
00449 Act->Tetraeder(poi_14,poi_2,poi_5,poi_3);
00450 Act->Tetraeder(poi_14,poi_6,poi_4,poi_3);
00451
00452
00453 Act->Tetraeder(poi_14,poi_10,poi_4,poi_9);
00454 Act->Tetraeder(poi_14,poi_10,poi_3,poi_4);
00455 Act->Tetraeder(poi_14,poi_8,poi_9,poi_4);
00456
00457
00458 Act->Tetraeder(poi_14,poi_10,poi_11,poi_2);
00459 Act->Tetraeder(poi_14,poi_10,poi_2,poi_3);
00460 Act->Tetraeder(poi_14,poi_11,poi_12,poi_2);
00461
00462
00463 Act->Tetraeder(poi_14,poi_8,poi_7,poi_9);
00464 Act->Tetraeder(poi_14,poi_13,poi_12,poi_11);
00465
00466
00467
00468 dirA = poi_10.d;
00469 dirB = poi_6.d;
00470 if(Calc_f_type(dirA,dirB)==an) {
00471 Act->Tetraeder(poi_14,poi_8,poi_4,poi_6);
00472 Act->Tetraeder(poi_14,poi_8,poi_6,poi_7);
00473 }
00474 else {
00475 Act->Tetraeder(poi_14,poi_7,poi_8,poi_4);
00476 Act->Tetraeder(poi_14,poi_7,poi_4,poi_6);
00477 }
00478
00479
00480 dirA = poi_10.d;
00481 dirB = poi_5.d;
00482 if(Calc_f_type(dirA,dirB)==an) {
00483 Act->Tetraeder(poi_14,poi_12,poi_5,poi_2);
00484 Act->Tetraeder(poi_14,poi_12,poi_13,poi_5);
00485 }
00486 else {
00487 Act->Tetraeder(poi_14,poi_12,poi_13,poi_2);
00488 Act->Tetraeder(poi_14,poi_13,poi_5,poi_2);
00489 }
00490
00491
00492 Act->Tetraeder(poi_14,poi_9,poi_11,poi_10);
00493
00494 Act->Tetraeder(poi_14,poi_7,poi_5,poi_13);
00495 Act->Tetraeder(poi_14,poi_7,poi_6,poi_5);
00496
00497 h_9 = Description->h(poi_9.corner, poi_9.d);
00498 h_7 = Description->h(poi_7.corner, poi_7.d);
00499 h_11 = Description->h(poi_11.corner, poi_11.d);
00500 h_13 = Description->h(poi_13.corner, poi_13.d);
00501
00502 double H;
00503 double angle_9;
00504 double angle_7;
00505 double angle_11;
00506 double angle_13;
00507
00508 H = Description->Meshsize();
00509
00510 angle_9 = calc_special_angle(h_7,h_9,H-h_11,H-h_9);
00511 angle_7 = calc_special_angle(H-h_13,H-h_7,h_9,h_7);
00512 angle_13 = calc_special_angle(h_11,h_13,H-h_7,H-h_13);
00513 angle_11 = calc_special_angle(H-h_9,H-h_11,h_13,h_11);
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530
00531
00532
00533
00534
00535 if(parallel_version)
00536 Tell_about_round_of_problem(MAX(angle_7,angle_11),
00537 MAX(angle_13,angle_9));
00538 if(MAX(angle_7,angle_11) > MAX(angle_13,angle_9)) {
00539 Act->Tetraeder(poi_14,poi_7,poi_13,poi_11);
00540 Act->Tetraeder(poi_14,poi_7,poi_11,poi_9);
00541 }
00542 else {
00543 Act->Tetraeder(poi_14,poi_7,poi_13,poi_9);
00544 Act->Tetraeder(poi_14,poi_9,poi_13,poi_11);
00545 }
00546 }
00547
00548
00549
00550 poi_boA.corner = poi_C2.corner;
00551 poi_boA.d = direction_from_to(poi_C.corner,poi_A.corner);
00552 LA = Description->edge_point(poi_boA);
00553 if(!LA && LD && !LC && !LB) {
00554 cout << "\n Fall 2.6 Randzelle. Noch nicht getestet! " << endl;
00555
00556 stop=true;
00557 poi_7.edge_point = poi_9.edge_point = edge_poi_typ;
00558 poi_8.edge_point = poi_10.edge_point = corner_poi_typ;
00559 poi_13.edge_point = corner_poi_typ;
00560 poi_11.edge_point = poi_12.edge_point = edge_poi_typ;
00561
00562
00563 poi_13 = poi_C2; poi_9 = poi_boD;
00564 poi_10 = poi_A2; poi_8 = poi_B2;
00565
00566 poi_7.corner = poi_10.corner;
00567 poi_7.d = direction_from_to(poi_B2.corner,poi_B.corner);
00568
00569 poi_11.corner = poi_8.corner;
00570 poi_12.corner = poi_13.corner;
00571 poi_11.d = direction_from_to(poi_B.corner,poi_D.corner);
00572 poi_12.d = direction_from_to(poi_C.corner,poi_D.corner);
00573
00574 poi_14.edge_point = cell_poi_typ;
00575 Act->Add_Bo_freedom(D3vector(0.0,0.0,0.0));
00576
00577
00578 Act->Tetraeder(poi_14,poi_5,poi_6,poi_3);
00579 Act->Tetraeder(poi_14,poi_2,poi_5,poi_3);
00580 Act->Tetraeder(poi_14,poi_6,poi_4,poi_3);
00581
00582
00583 Act->Tetraeder(poi_14,poi_11,poi_9,poi_4);
00584 Act->Tetraeder(poi_14,poi_9,poi_3,poi_4);
00585 Act->Tetraeder(poi_14,poi_8,poi_11,poi_4);
00586
00587
00588 Act->Tetraeder(poi_14,poi_12,poi_10,poi_13);
00589 Act->Tetraeder(poi_14,poi_12,poi_11,poi_10);
00590 Act->Tetraeder(poi_14,poi_11,poi_8,poi_10);
00591
00592
00593 Act->Tetraeder(poi_14,poi_12,poi_2,poi_9);
00594 Act->Tetraeder(poi_14,poi_12,poi_13,poi_2);
00595 Act->Tetraeder(poi_14,poi_9,poi_2,poi_3);
00596
00597
00598 Act->Tetraeder(poi_14,poi_8,poi_6,poi_7);
00599 Act->Tetraeder(poi_14,poi_8,poi_4,poi_6);
00600 Act->Tetraeder(poi_14,poi_8,poi_7,poi_10);
00601
00602
00603 Act->Tetraeder(poi_14,poi_13,poi_7,poi_5);
00604 Act->Tetraeder(poi_14,poi_13,poi_5,poi_2);
00605 Act->Tetraeder(poi_14,poi_13,poi_10,poi_7);
00606
00607
00608 Act->Tetraeder(poi_14,poi_7,poi_6,poi_5);
00609 Act->Tetraeder(poi_14,poi_11,poi_12,poi_9);
00610 }
00611 }
00612 }
00613
00614 }
00615
00616 #endif
00617