XC Open source finite element analysis program
MEDMesh.h
1 //----------------------------------------------------------------------------
2 // XC program; finite element analysis code
3 // for structural analysis and design.
4 //
5 // Copyright (C) Luis Claudio Pérez Tato
6 //
7 // XC is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This software is distributed in the hope that it will be useful, but
13 // WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with this program.
20 // If not, see <http://www.gnu.org/licenses/>.
21 //----------------------------------------------------------------------------
22 //MEDMesh.h
23 //Envoltorio para el objeto MESHING de MED (para exportar archivos a «salome»).
24 
25 #ifndef MEDMESH_H
26 #define MEDMESH_H
27 
28 #include "MEDObject.h"
29 #include "xc_basic/src/med_xc/MEDMEM_Mesh.hxx"
30 
31 namespace XC {
32  class Matrix;
34 //
36 class MEDMesh: public MEDObject
37  {
38  std::string meshName;
39  mutable MEDMEM::MESH *mesh;
40  void libera(void) const;
41  void alloc(const std::string &) const;
42  void alloc(const MEDMesh &) const;
43  MEDMesh(const MEDMesh &);
44  MEDMesh &operator=(const MEDMesh &);
45  protected:
46 
47  public:
48  MEDMesh(void);
49  ~MEDMesh(void);
50  inline std::string getMeshName(void) const
51  { return meshName; }
52  inline void setMeshName(const std::string &s)
53  { meshName= s; }
54 
55  size_t getSpaceDimension(void);
56  size_t getMeshDimension(void);
57  size_t getNumberOfNodes(void);
58  boost::python::list getCoordinatesNames(void);
59  boost::python::list getCoordinatesUnits(void);
60  Matrix getCoordinates(void);
61  size_t getNumberOfCellTypes();
62  boost::python::list getCellTypes(void);
63  boost::python::list getCellTypeNames(void);
64  size_t getNumCellsOfType(int tipo);
65  Matrix getConnectivityCellsOfType(int tipo);
66  size_t getNumberOfGroups(int tipo_entidad= MED_EN::MED_ALL_ENTITIES);
67  size_t getNumberOfFamilies(int tipo_entidad= MED_EN::MED_ALL_ENTITIES);
68 
69  void read(const std::string &);
70  };
71 } // end of XC namespace
72 #endif
~MEDMesh(void)
Destructor.
Definition: MEDMesh.cc:79
Base class for MED objects.
Definition: MEDObject.h:39
Envoltorio para el objeto MESHING de MED.
Definition: MEDMesh.h:36
MEDMesh(void)
Constructor.
Definition: MEDMesh.cc:59
Definition: Matrix.h:82
================================================================================
Definition: ContinuaReprComponent.h:34