Commit 9ca7c790 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Implementation of VTKReader without relying on the VTK library

parent 156d2fa1
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -96,6 +96,27 @@ std::ostream& operator<<( std::ostream& str, VTKEntityType type )
   return str;
}

int getVTKEntityDimension( VTKEntityType type )
{
   switch( type )
   {
      case VTKEntityType::Vertex:         return 0;
      case VTKEntityType::PolyVertex:     return 0;
      case VTKEntityType::Line:           return 1;
      case VTKEntityType::PolyLine:       return 1;
      case VTKEntityType::Triangle:       return 2;
      case VTKEntityType::TriangleStrip:  return 2;
      case VTKEntityType::Polygon:        return 2;
      case VTKEntityType::Pixel:          return 2;
      case VTKEntityType::Quad:           return 2;
      case VTKEntityType::Tetra:          return 3;
      case VTKEntityType::Voxel:          return 3;
      case VTKEntityType::Hexahedron:     return 3;
      case VTKEntityType::Wedge:          return 3;
      case VTKEntityType::Pyramid:        return 3;
   }
}

// static mapping of TNL entity topologies to VTK types
template< typename Topology > struct TopologyToVTKMap {};
template<> struct TopologyToVTKMap< Meshes::MeshVertexTopology >         { static constexpr VTKEntityType type = VTKEntityType::Vertex; };
+312 −215

File changed.

Preview size limit exceeded, changes collapsed.

+339 −0

File added.

Preview size limit exceeded, changes collapsed.

+2 −2
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ bool resolveMeshType( const String& fileName_,
      // FIXME: The VTK files don't store the global index, local index and id types.
      // The reader has some defaults, but they might be disabled by the BuildConfigTags - in
      // this case we should use the first enabled type.
      Readers::VTKReader<> reader;
      Readers::VTKReader reader;
      if( ! reader.detectMesh( fileName_ ) )
         return false;
      if( reader.getMeshType() == "Meshes::Mesh" )
@@ -126,7 +126,7 @@ loadMesh( const String& fileName_, Mesh< MeshConfig, Device >& mesh )
      status = reader.readMesh( fileName_, mesh );
   }
   else if( ends_with( fileName, ".vtk" ) ) {
      Readers::VTKReader<> reader;
      Readers::VTKReader reader;
      status = reader.readMesh( fileName_, mesh );
   }
   else {
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ if( VTK_FOUND )
                             cudart dl rt "-L ${CUDA_TOOLKIT_ROOT_DIR}/lib64/" )
   else( BUILD_CUDA )
      add_executable( MeshReaderTest${mpiExt}${debugExt} MeshReaderTest.cpp )
      set_target_properties( MeshReaderTest${mpiExt}${debugExt} PROPERTIES COMPILE_FLAGS "${CXX_TESTS_FLAGS}" )

      #target_link_libraries( MeshReaderTest${mpiExt}${debugExt}
      #                       ${VTK_LIBRARIES}
Loading