Skip to content
Snippets Groups Projects
Commit 913f8908 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

export transfinite info in unrolled geo

parent 9c47884a
No related branches found
No related tags found
No related merge requests found
...@@ -196,6 +196,20 @@ void GEdge::writeGEO(FILE *fp) ...@@ -196,6 +196,20 @@ void GEdge::writeGEO(FILE *fp)
fprintf(fp, ", p%d + %d", tag(), i); fprintf(fp, ", p%d + %d", tag(), i);
fprintf(fp, ", %d};\n", getEndVertex()->tag()); fprintf(fp, ", %d};\n", getEndVertex()->tag());
} }
if(meshAttributes.Method == MESH_TRANSFINITE){
fprintf(fp, "Transfinite Line {%d} = %d",
tag() * (meshAttributes.typeTransfinite > 0 ? 1 : -1),
meshAttributes.nbPointsTransfinite);
if(meshAttributes.typeTransfinite){
if(std::abs(meshAttributes.typeTransfinite) == 1)
fprintf(fp, " Using Progression ");
else
fprintf(fp, " Using Bump ");
fprintf(fp, "%g", meshAttributes.coeffTransfinite);
}
fprintf(fp, ";\n");
}
} }
bool GEdge::containsParam(double pt) const bool GEdge::containsParam(double pt) const
......
...@@ -307,6 +307,22 @@ void GFace::writeGEO(FILE *fp) ...@@ -307,6 +307,22 @@ void GFace::writeGEO(FILE *fp)
for(std::list<GVertex*>::iterator it = embedded_vertices.begin(); for(std::list<GVertex*>::iterator it = embedded_vertices.begin();
it != embedded_vertices.end(); it++) it != embedded_vertices.end(); it++)
fprintf(fp, "Point {%d} In Surface {%d};\n", (*it)->tag(), tag()); fprintf(fp, "Point {%d} In Surface {%d};\n", (*it)->tag(), tag());
if(meshAttributes.Method == MESH_TRANSFINITE){
fprintf(fp, "Transfinite Surface {%d}", tag());
if(meshAttributes.corners.size()){
fprintf(fp, " = {");
for(unsigned int i = 0; i < meshAttributes.corners.size(); i++){
if(i) fprintf(fp, ",");
fprintf(fp, "%d", meshAttributes.corners[i]->tag());
}
fprintf(fp, "}");
}
fprintf(fp, ";\n");
}
if(meshAttributes.recombine)
fprintf(fp, "Recombine Surface {%d};\n", tag());
} }
void GFace::computeMeanPlane() void GFace::computeMeanPlane()
......
...@@ -228,6 +228,19 @@ void GRegion::writeGEO(FILE *fp) ...@@ -228,6 +228,19 @@ void GRegion::writeGEO(FILE *fp)
fprintf(fp, "};\n"); fprintf(fp, "};\n");
fprintf(fp, "Volume(%d) = {%d};\n", tag(), tag()); fprintf(fp, "Volume(%d) = {%d};\n", tag(), tag());
} }
if(meshAttributes.Method == MESH_TRANSFINITE){
fprintf(fp, "Transfinite Volume {%d}", tag());
if(meshAttributes.corners.size()){
fprintf(fp, " = {");
for(unsigned int i = 0; i < meshAttributes.corners.size(); i++){
if(i) fprintf(fp, ",");
fprintf(fp, "%d", meshAttributes.corners[i]->tag());
}
fprintf(fp, "}");
}
fprintf(fp, ";\n");
}
} }
std::list<GEdge*> GRegion::edges() const std::list<GEdge*> GRegion::edges() const
......
...@@ -342,4 +342,18 @@ void gmshEdge::writeGEO(FILE *fp) ...@@ -342,4 +342,18 @@ void gmshEdge::writeGEO(FILE *fp)
fprintf(fp, "\n"); fprintf(fp, "\n");
} }
fprintf(fp, "};\n"); fprintf(fp, "};\n");
if(meshAttributes.Method == MESH_TRANSFINITE){
fprintf(fp, "Transfinite Line {%d} = %d",
tag() * (meshAttributes.typeTransfinite > 0 ? 1 : -1),
meshAttributes.nbPointsTransfinite);
if(meshAttributes.typeTransfinite){
if(std::abs(meshAttributes.typeTransfinite) == 1)
fprintf(fp, "Using Progression ");
else if(std::abs(meshAttributes.typeTransfinite) == 2)
fprintf(fp, "Using Bump ");
fprintf(fp, "%g", meshAttributes.coeffTransfinite);
}
fprintf(fp, ";\n");
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment