Skip to content

Commit d534f47

Browse files
committed
fix when writing to vtk/vtu from .msh2
1 parent f593ea8 commit d534f47

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/mesh/vtk.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ int feenox_mesh_write_header_vtk(mesh_t *mesh, FILE *file) {
7272
return FEENOX_OK;
7373
}
7474

75+
#define vtk_node_tag(t) (mesh->tag2index_from_tag_min) ? (mesh->tag2index_from_tag_min[(t)]) : ((t)-1)
7576
int feenox_mesh_write_vtk_cells(mesh_t *mesh, FILE *file, int with_size) {
7677

7778
int is_tet10 = 0;
@@ -84,14 +85,13 @@ int feenox_mesh_write_vtk_cells(mesh_t *mesh, FILE *file, int with_size) {
8485
switch(element->type->id) {
8586
case ELEMENT_TYPE_HEXAHEDRON27:
8687
for (int j = 0; j < 27 ; ++j) {
87-
// fprintf(file, " %ld", tag_index_map_lookup(mesh->index2tag, element->node[hexa27fromgmsh[j]]->tag));
88-
fprintf(file, " %ld", mesh->tag2index_from_tag_min[element->node[hexa27fromgmsh[j]]->tag]);
88+
fprintf(file, " %ld", vtk_node_tag(element->node[hexa27fromgmsh[j]]->tag));
8989
}
9090
fprintf(file, "\n");
9191
break;
9292
case ELEMENT_TYPE_HEXAHEDRON20:
9393
for (int j = 0; j < 20 ; ++j) {
94-
fprintf(file, " %ld", mesh->tag2index_from_tag_min[element->node[hexa20fromgmsh[j]]->tag]);
94+
fprintf(file, " %ld", vtk_node_tag(element->node[hexa20fromgmsh[j]]->tag));
9595
}
9696
fprintf(file, "\n");
9797
break;
@@ -101,12 +101,12 @@ int feenox_mesh_write_vtk_cells(mesh_t *mesh, FILE *file, int with_size) {
101101
// tet10 has nodes 8 & 9 swapped
102102
if (is_tet10 && (j == 8 || j == 9)) {
103103
if (j == 8) {
104-
fprintf(file, " %ld", mesh->tag2index_from_tag_min[element->node[9]->tag]);
104+
fprintf(file, " %ld", vtk_node_tag(element->node[9]->tag));
105105
} else if (j == 9) {
106-
fprintf(file, " %ld", mesh->tag2index_from_tag_min[element->node[8]->tag]);
106+
fprintf(file, " %ld", vtk_node_tag(element->node[8]->tag));
107107
}
108108
} else {
109-
fprintf(file, " %ld", mesh->tag2index_from_tag_min[element->node[j]->tag]);
109+
fprintf(file, " %ld", vtk_node_tag(element->node[j]->tag));
110110
}
111111
}
112112
fprintf(file, "\n");

0 commit comments

Comments
 (0)