6 std::vector<Dune::FieldVector<double, 3> >
vertices;
7 std::vector<std::vector< unsigned int> >
tetraeder;
12 this->vertices=cube1.getVertices();
13 this->tetraeder=cube1.getTetraeder();
18 std::vector<cube> cubes;
19 for(
int i=0; i<x; i++){
20 for(
int j=0; j<y; j++){
21 for(
int k=0; k<z; k++){
22 cube cube1(i,j,k); cubes.push_back(cube1);
33 std::vector<Dune::FieldVector<double,3> > verts;
34 std::vector<std::vector<unsigned int> > tet;
35 std::vector<unsigned int> new_ind;
38 std::vector<int> toerase;
39 std::vector<bool> erased(verts.size(),
false);
42 for(
int k=0;k<cubes.size();k++){
44 verts.push_back(cubes[k].getVertices()[i]);
45 new_ind.push_back(k*9+i);
47 for(
int i=0;i<12;i++){
49 cubes[k].getTetraeder()[i][j]+=k*9;
51 tet.push_back(cubes[k].getTetraeder()[i]);
55 for(
unsigned int i=0;i<verts.size();i++){
57 for(
unsigned int j=i+1;j<verts.size();j++){
59 if(sub.two_norm()<pow(10,-12) && !erased[j]){
61 new_ind[j]=new_ind[i];
62 for(
int l=j+1;l<new_ind.size();l++){
63 if(new_ind[l]>new_ind[j]) new_ind[l]-=1;
70 for(
int k=0;k<tet.size();k++){
72 tet[k][l]=new_ind[tet[k][l]];
75 sort(toerase.begin(),toerase.end());
76 for(
int k=toerase.size()-1;k>=0;k--){
77 verts.erase(verts.begin()+toerase[k]);
void createCuboid(std::vector< cube > cubes)
std::vector< std::vector< unsigned int > > & getTets()
cuboid(int x, int y, int z)
std::vector< Dune::FieldVector< double, 3 > > vertices
std::vector< std::vector< unsigned int > > tetraeder
std::vector< Dune::FieldVector< double, 3 > > & getVerts()