Line data Source code
1 : // *****************************************************************************
2 : /*!
3 : \file src/IO/NetgenMeshReader.hpp
4 : \copyright 2012-2015 J. Bakosi,
5 : 2016-2018 Los Alamos National Security, LLC.,
6 : 2019-2021 Triad National Security, LLC.,
7 : 2022-2025 J. Bakosi
8 : All rights reserved. See the LICENSE file for details.
9 : \brief Netgen mesh reader class declaration
10 : \details Netgen mesh reader class declaration. Only supports tetrahedra.
11 : */
12 : // *****************************************************************************
13 : #ifndef NetgenMeshReader_h
14 : #define NetgenMeshReader_h
15 :
16 : #include <iosfwd>
17 :
18 : #include "Reader.hpp"
19 :
20 : namespace tk {
21 :
22 : class UnsMesh;
23 :
24 : //! \brief NetgenMeshReader : tk::Reader
25 : //! \details Mesh reader class facilitating reading a mesh from a file saved by
26 : //! the Netgen mesh generator:
27 : //! http://sourceforge.net/apps/mediawiki/netgen-mesher.
28 : class NetgenMeshReader : public Reader {
29 :
30 : public:
31 : //! Constructor
32 3 : explicit NetgenMeshReader( const std::string& filename ) :
33 3 : Reader( filename ) {}
34 :
35 : //! Read Netgen mesh
36 : void readMesh( UnsMesh& mesh );
37 :
38 : private:
39 : //! Read nodes
40 : void readNodes( UnsMesh& mesh );
41 :
42 : //! Read element connectivity
43 : void readElements( UnsMesh& mesh );
44 : };
45 :
46 : } // tk::
47 :
48 : #endif // NetgenMeshReader_h
|