@@ -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)
7576int 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