Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Cell3D[] SplitCell(Cell3D cell)
- {
- //spodni stena
- Point3D mid01 = new Point3D((cell.points[0].x + cell.points[1].x)*0.5,(cell.points[0].y + cell.points[1].y)*0.5,(cell.points[0].z + cell.points[1].z)*0.5);
- double val01 = (cell.values[0] + cell.values[1]) * 0.5;
- int ind01 = (cell.indexy[0] + cell.indexy[1]) >> 1;
- Point3D mid12 = new Point3D((cell.points[1].x + cell.points[2].x)*0.5,(cell.points[1].y + cell.points[2].y)*0.5,(cell.points[1].z + cell.points[2].z)*0.5);
- double val12 = (cell.values[1] + cell.values[2]) * 0.5;
- int ind12 = (cell.indexy[1] + cell.indexy[2]) >> 1;
- Point3D mid23 = new Point3D((cell.points[2].x + cell.points[3].x)*0.5,(cell.points[2].y + cell.points[3].y)*0.5,(cell.points[2].z + cell.points[3].z)*0.5);
- double val23 = (cell.values[2] + cell.values[3]) * 0.5;
- int ind23 = (cell.indexy[2] + cell.indexy[3]) >> 1;
- Point3D mid30 = new Point3D((cell.points[3].x + cell.points[0].x)*0.5,(cell.points[3].y + cell.points[0].y)*0.5,(cell.points[3].z + cell.points[0].z)*0.5);
- double val30 = (cell.values[3] + cell.values[0]) * 0.5;
- int ind30 = (cell.indexy[3] + cell.indexy[0]) >> 1;
- //horni stena
- Point3D mid45 = new Point3D((cell.points[4].x + cell.points[5].x)*0.5,(cell.points[4].y + cell.points[5].y)*0.5,(cell.points[4].z + cell.points[5].z)*0.5);
- double val45 = (cell.values[4] + cell.values[5]) * 0.5;
- int ind45 = (cell.indexy[4] + cell.indexy[5]) >> 1;
- Point3D mid56 = new Point3D((cell.points[5].x + cell.points[6].x)*0.5,(cell.points[5].y + cell.points[6].y)*0.5,(cell.points[5].z + cell.points[6].z)*0.5);
- double val56 = (cell.values[5] + cell.values[6]) * 0.5;
- int ind56 = (cell.indexy[5] + cell.indexy[6]) >> 1;
- Point3D mid67 = new Point3D((cell.points[6].x + cell.points[7].x)*0.5,(cell.points[6].y + cell.points[7].y)*0.5,(cell.points[6].z + cell.points[7].z)*0.5);
- double val67 = (cell.values[6] + cell.values[7]) * 0.5;
- int ind67 = (cell.indexy[6] + cell.indexy[7]) >> 1;
- Point3D mid74 = new Point3D((cell.points[7].x + cell.points[4].x)*0.5,(cell.points[7].y + cell.points[4].y)*0.5,(cell.points[7].z + cell.points[4].z)*0.5);
- double val74 = (cell.values[7] + cell.values[4]) * 0.5;
- int ind74 = (cell.indexy[7] + cell.indexy[4]) >> 1;
- //svisle
- Point3D mid04 = new Point3D((cell.points[0].x + cell.points[4].x)*0.5,(cell.points[0].y + cell.points[4].y)*0.5,(cell.points[0].z + cell.points[4].z)*0.5);
- double val04 = (cell.values[0] + cell.values[4]) * 0.5;
- int ind04 = (cell.indexy[0] + cell.indexy[4]) >> 1;
- Point3D mid15 = new Point3D((cell.points[1].x + cell.points[5].x)*0.5,(cell.points[1].y + cell.points[5].y)*0.5,(cell.points[1].z + cell.points[5].z)*0.5);
- double val15 = (cell.values[1] + cell.values[5]) * 0.5;
- int ind15 = (cell.indexy[1] + cell.indexy[5]) >> 1;
- Point3D mid26 = new Point3D((cell.points[2].x + cell.points[6].x)*0.5,(cell.points[2].y + cell.points[6].y)*0.5,(cell.points[2].z + cell.points[6].z)*0.5);
- double val26 = (cell.values[2] + cell.values[6]) * 0.5;
- int ind26 = (cell.indexy[2] + cell.indexy[6]) >> 1;
- Point3D mid37 = new Point3D((cell.points[3].x + cell.points[7].x)*0.5,(cell.points[3].y + cell.points[7].y)*0.5,(cell.points[3].z + cell.points[7].z)*0.5);
- double val37 = (cell.values[3] + cell.values[7]) * 0.5;
- int ind37 = (cell.indexy[3] + cell.indexy[7]) >> 1;
- //stredy sten
- Point3D mid0347 = new Point3D((mid30.x + mid74.x)*0.5,(mid30.y + mid74.y)*0.5,(mid30.z + mid74.z)*0.5);
- double val0347 = (val30 + val74) * 0.5;
- int ind0347 = (ind30 + ind74) >> 1;
- Point3D mid2367 = new Point3D((mid23.x + mid67.x)*0.5,(mid23.y + mid67.y)*0.5,(mid23.z + mid67.z)*0.5);
- double val2367 = (val23 + val67) * 0.5;
- int ind2367 = (ind23 + ind67) >> 1;
- Point3D mid0123 = new Point3D((mid01.x + mid23.x)*0.5,(mid01.y + mid23.y)*0.5,(mid01.z + mid23.z)*0.5);
- double val0123 = (val01 + val23) * 0.5;
- int ind0123 = (ind01 + ind23) >> 1;
- Point3D mid1256 = new Point3D((mid12.x + mid56.x)*0.5,(mid12.y + mid56.y)*0.5,(mid12.z + mid56.z)*0.5);
- double val1256 = (val12 + val56) * 0.5;
- int ind1256 = (ind12 + ind56) >> 1;
- Point3D mid0145 = new Point3D((mid01.x + mid45.x)*0.5,(mid01.y + mid45.y)*0.5,(mid01.z + mid45.z)*0.5);
- double val0145 = (val01 + val45) * 0.5;
- int ind0145 = (ind01 + ind45) >> 1;
- Point3D mid4567 = new Point3D((mid45.x + mid67.x)*0.5,(mid45.y + mid67.y)*0.5,(mid45.z + mid67.z)*0.5);
- double val4567 = (val45 + val67) * 0.5;
- int ind4567 = (ind45 + ind67) >> 1;
- //prostredek
- Point3D mid01234567 = new Point3D((mid0347.x + mid1256.x)*0.5,(mid0347.y + mid1256.y)*0.5,(mid0347.z + mid1256.z)*0.5);
- double val01234567 = (val0347 + val1256) * 0.5;
- int ind01234567 = (ind0347 + ind1256) >> 1;
- Cell3D A0 = new Cell3D();
- A0.points[0] = cell.points[0];
- A0.values[0] = cell.values[0];
- A0.indexy[0] = cell.indexy[0];
- A0.points[1] = mid01;
- A0.values[1] = val01;
- A0.indexy[1] = ind01;
- A0.points[2] = mid0123;
- A0.values[2] = val0123;
- A0.indexy[2] = ind0123;
- A0.points[3] = mid30;
- A0.values[3]= val30;
- A0.indexy[3] = ind30;
- A0.points[4] = mid04;
- A0.values[4] = val04;
- A0.indexy[4] = ind04;
- A0.points[5] = mid0145;
- A0.values[5] = val0145;
- A0.indexy[5] = ind0145;
- A0.points[6] = mid01234567;
- A0.values[6] = val01234567;
- A0.indexy[6] = ind01234567;
- A0.points[7] = mid0347;
- A0.values[7] = val0347;
- A0.indexy[7] = ind0347;
- Cell3D A1 = new Cell3D();
- A1.points[0] = mid01;
- A1.values[0] = val01;
- A1.indexy[0] = ind01;
- A1.points[1] = cell.points[1];
- A1.values[1] = cell.values[1];
- A1.indexy[1] = cell.indexy[1];
- A1.points[2] = mid12;
- A1.values[2] = val12;
- A1.indexy[2] = ind12;
- A1.points[3] = mid0123;
- A1.values[3] = val0123;
- A1.indexy[3] = ind0123;
- A1.points[4] = mid0145;
- A1.values[4] = val0145;
- A1.indexy[4] = ind0145;
- A1.points[5] = mid15;
- A1.values[5] = val15;
- A1.indexy[5] = ind15;
- A1.points[6] = mid1256;
- A1.values[6] = val1256;
- A1.indexy[6] = ind1256;
- A1.points[7] = mid01234567;
- A1.values[7] = val01234567;
- A1.indexy[7] = ind01234567;
- Cell3D A2 = new Cell3D();
- A2.points[0] = mid0123;
- A2.values[0] = val0123;
- A2.indexy[0] = ind0123;
- A2.points[1] = mid12;
- A2.values[1] = val12;
- A2.indexy[1] = ind12;
- A2.points[2] = cell.points[2];
- A2.values[2] = cell.values[2];
- A2.indexy[2] = cell.indexy[2];
- A2.points[3] = mid23;
- A2.values[3] = val23;
- A2.indexy[3] = ind23;
- A2.points[4] = mid01234567;
- A2.values[4] = val01234567;
- A2.indexy[4] = ind01234567;
- A2.points[5] = mid1256;
- A2.values[5] = val1256;
- A2.indexy[5] = ind1256;
- A2.points[6] = mid26;
- A2.values[6] = val26;
- A2.indexy[6] = ind26;
- A2.points[7] = mid2367;
- A2.values[7] = val2367;
- A2.indexy[7] = ind2367;
- Cell3D A3 = new Cell3D();
- A3.points[0] = mid30;
- A3.values[0] = val30;
- A3.indexy[0] = ind30;
- A3.points[1] = mid0123;
- A3.values[1] = val0123;
- A3.indexy[1] = ind0123;
- A3.points[2] = mid23;
- A3.values[2] = val23;
- A3.indexy[2] = ind23;
- A3.points[3] = cell.points[3];
- A3.values[3] = cell.values[3];
- A3.indexy[3] = cell.indexy[3];
- A3.points[4] = mid0347;
- A3.values[4] = val0347;
- A3.indexy[4] = ind0347;
- A3.points[5] = mid01234567;
- A3.values[5] = val01234567;
- A3.indexy[5] = ind01234567;
- A3.points[6] = mid2367;
- A3.values[6] = val2367;
- A3.indexy[6] = ind2367;
- A3.points[7] = mid37;
- A3.values[7] = val37;
- A3.indexy[7] = ind37;
- Cell3D A4 = new Cell3D();
- A4.points[0] = mid04;
- A4.values[0] = val04;
- A4.indexy[0] = ind04;
- A4.points[1] = mid0145;
- A4.values[1] = val0145;
- A4.indexy[1] = ind0145;
- A4.points[2] = mid01234567;
- A4.values[2] = val01234567;
- A4.indexy[2] = ind01234567;
- A4.points[3] = mid0347;
- A4.values[3] = val0347;
- A4.indexy[3] = ind0347;
- A4.points[4] = cell.points[4];
- A4.values[4] = cell.values[4];
- A4.indexy[4] = cell.indexy[4];
- A4.points[5] = mid45;
- A4.values[5] = val45;
- A4.indexy[5] = ind45;
- A4.points[6] = mid4567;
- A4.values[6] = val4567;
- A4.indexy[6] = ind4567;
- A4.points[7] = mid74;
- A4.values[7] = val74;
- A4.indexy[7] = ind74;
- Cell3D A5 = new Cell3D();
- A5.points[0] = mid0145;
- A5.values[0] = val0145;
- A5.indexy[0] = ind0145;
- A5.points[1] = mid15;
- A5.values[1] = val15;
- A5.indexy[1] = ind15;
- A5.points[2] = mid1256;
- A5.values[2] = val1256;
- A5.indexy[2] = ind1256;
- A5.points[3] = mid01234567;
- A5.values[3] = val01234567;
- A5.indexy[3] = ind01234567;
- A5.points[4] = mid45;
- A5.values[4] = val45;
- A5.indexy[4] = ind45;
- A5.points[5] = cell.points[5];
- A5.values[5] = cell.values[5];
- A5.indexy[5] = cell.indexy[5];
- A5.points[6] = mid56;
- A5.values[6] = val56;
- A5.indexy[6] = ind56;
- A5.points[7] = mid4567;
- A5.values[7] = val4567;
- A5.indexy[7] = ind4567;
- Cell3D A6 = new Cell3D();
- A6.points[0] = mid01234567;
- A6.values[0] = val01234567;
- A6.indexy[0] = ind01234567;
- A6.points[1] = mid1256;
- A6.values[1] = val1256;
- A6.indexy[1] = ind1256;
- A6.points[2] = mid26;
- A6.values[2] = val26;
- A6.indexy[2] = ind26;
- A6.points[3] = mid2367;
- A6.values[3] = val2367;
- A6.indexy[3] = ind2367;
- A6.points[4] = mid4567;
- A6.values[4] = val4567;
- A6.indexy[4] = ind4567;
- A6.points[5] = mid56;
- A6.values[5] = val56;
- A6.indexy[5] = ind56;
- A6.points[6] = cell.points[6];
- A6.values[6] = cell.values[6];
- A6.indexy[6] = cell.indexy[6];
- A6.points[7] = mid67;
- A6.values[7] = val67;
- A6.indexy[7] = ind67;
- Cell3D A7 = new Cell3D();
- A7.points[0] = mid0347;
- A7.values[0] = val0347;
- A7.indexy[0] = ind0347;
- A7.points[1] = mid01234567;
- A7.values[1] = val01234567;
- A7.indexy[1] = ind01234567;
- A7.points[2] = mid2367;
- A7.values[2] = val2367;
- A7.indexy[2] = ind2367;
- A7.points[3] = mid37;
- A7.values[3] = val37;
- A7.indexy[3] = ind37;
- A7.points[4] = mid74;
- A7.values[4] = val74;
- A7.indexy[4] = ind74;
- A7.points[5] = mid4567;
- A7.values[5] = val4567;
- A7.indexy[5] = ind4567;
- A7.points[6] = mid67;
- A7.values[6] = val67;
- A7.indexy[6] = ind67;
- A7.points[7] = cell.points[7];
- A7.values[7] = cell.values[7];
- A7.indexy[7] = cell.indexy[7];
- Cell3D[] cellArray = new Cell3D[8] {A0,A1,A2,A3,A4,A5,A6,A7};
- return cellArray;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement