COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Reader.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2013 von Karman Institute for Fluid Dynamics, Belgium
2 //
3 // This software is distributed under the terms of the
4 // GNU Lesser General Public License version 3 (LGPLv3).
5 // See doc/lgpl.txt and doc/gpl.txt for the license text.
6 
7 #ifndef cf3_mesh_CF3Mesh_Reader_hpp
8 #define cf3_mesh_CF3Mesh_Reader_hpp
9 
11 
12 #include "mesh/MeshReader.hpp"
13 #include "mesh/GeoShape.hpp"
14 
16 
18 
19 namespace cf3 {
20 namespace common {
21  class BinaryDataReader;
22 }
23 }
24 
26 
27 namespace cf3 {
28 namespace mesh {
29 namespace cf3mesh {
30 
32 
36 {
37 public: // functions
38 
40  Reader( const std::string& name );
41 
43  static std::string type_name() { return "Reader"; }
44 
45  virtual std::string get_format() { return "CF3Mesh"; }
46 
47  virtual std::vector<std::string> get_extensions();
48 private:
49  virtual void do_read_mesh_into(const common::URI& path, Mesh& mesh);
50 
51  void read_mesh_part(const common::XML::XmlNode &topology_node, const common::XML::XmlNode &dictionaries_node, Mesh& mesh, const Uint rank);
52 
53  void read_topology(const common::XML::XmlNode& region_node, Region& region, Dictionary& geometry);
54 
55  void read_elements(const common::XML::XmlNode& region_node, Region& region, Dictionary& geometry, Mesh &mesh);
56 
57 private:
58  boost::shared_ptr<common::BinaryDataReader> data_reader;
59  std::vector< Handle<Entities> > m_entities;
60 }; // end Reader
61 
62 
64 
65 } // cf3mesh
66 } // mesh
67 } // cf3
68 
70 
71 #endif // cf3_mesh_CF3Mesh_Reader_hpp
std::string name(ComponentWrapper &self)
boost::shared_ptr< common::BinaryDataReader > data_reader
Definition: Reader.hpp:58
std::vector< Handle< Entities > > m_entities
Definition: Reader.hpp:59
Top-level namespace for coolfluid.
Definition: Action.cpp:18
static std::string type_name()
Gets the Class name.
Definition: Reader.hpp:43
unsigned int Uint
typedef for unsigned int
Definition: CF.hpp:90
#define CF3Mesh_API
Definition: LibCF3Mesh.hpp:22
virtual std::string get_format()
Definition: Reader.hpp:45
Send comments to:
COOLFluiD Web Admin