OGS
MeshPropertyDataType.h File Reference
#include <string>
Include dependency graph for MeshPropertyDataType.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum class  MeshPropertyDataType {
  unknown = 0 , float64 , float32 , int32 ,
  int64 , uint32 , uint64 , int8 ,
  uint8 , char_native , uchar , enum_length
}
enum class  ParentDataType {
  MIXED = 0 , POLYVERTEX = 1 , POLYLINE = 2 , TRIANGLE = 4 ,
  QUADRILATERAL = 5 , TETRAHEDRON = 6 , PYRAMID = 7 , WEDGE = 8 ,
  HEXAHEDRON = 9 , EDGE_3 = 34 , QUADRILATERAL_9 = 35 , TRIANGLE_6 = 36 ,
  QUADRILATERAL_8 = 37 , TETRAHEDRON_10 = 38 , PYRAMID_13 = 39 , WEDGE_15 = 40 ,
  WEDGE_18 = 41 , HEXAHEDRON_20 = 48 , HEXAHEDRON_27 = 50
}

Functions

std::pair< std::string, std::size_t > ParentDataType2String (ParentDataType p)

Enumeration Type Documentation

◆ MeshPropertyDataType

◆ ParentDataType

enum class ParentDataType
strong
Enumerator
MIXED 
POLYVERTEX 
POLYLINE 
TRIANGLE 
QUADRILATERAL 
TETRAHEDRON 
PYRAMID 
WEDGE 
HEXAHEDRON 
EDGE_3 
QUADRILATERAL_9 
TRIANGLE_6 
QUADRILATERAL_8 
TETRAHEDRON_10 
PYRAMID_13 
WEDGE_15 
WEDGE_18 
HEXAHEDRON_20 
HEXAHEDRON_27 

Definition at line 28 of file MeshPropertyDataType.h.

29{
30 MIXED = 0,
31 POLYVERTEX = 1,
32 POLYLINE = 2, // OGS polylines are supposed to contain exactly 2 nodes
33 // POLYGON = 3, // not used in OGS
34 TRIANGLE = 4,
35 QUADRILATERAL = 5,
36 TETRAHEDRON = 6,
37 PYRAMID = 7,
38 WEDGE = 8,
39 HEXAHEDRON = 9,
40 // POLYHEDRON = 16, // not used in OGS
41 EDGE_3 = 34,
42 QUADRILATERAL_9 = 35,
43 TRIANGLE_6 = 36,
44 QUADRILATERAL_8 = 37,
45 TETRAHEDRON_10 = 38,
46 PYRAMID_13 = 39,
47 WEDGE_15 = 40,
48 WEDGE_18 = 41,
49 HEXAHEDRON_20 = 48,
50 // HEXAHEDRON_24 = 49, // not used in OGS
51 HEXAHEDRON_27 = 50
52};

Function Documentation

◆ ParentDataType2String()

std::pair< std::string, std::size_t > ParentDataType2String ( ParentDataType p)

Definition at line 7 of file MeshPropertyDataType.cpp.

8{
9 // not used in OGS ParentDataType::POLYGON, ParentDataType::POLYHEDRON,
10 // ParentDataType::HEXAHEDRON_24
11 if (p == ParentDataType::MIXED)
12 {
13 return {"Mixed", 1};
14 }
15
17 {
18 return {"Polyvertex", 1};
19 }
21 {
22 return {"Polyline", 2};
23 }
25 {
26 return {"Triangle", 3};
27 }
29 {
30 return {"Quadrilateral", 4};
31 }
33 {
34 return {"Tetrahedron", 4};
35 }
37 {
38 return {"Pyramid", 5};
39 }
40 if (p == ParentDataType::WEDGE)
41 {
42 return {"Wedge", 6};
43 }
45 {
46 return {"Hexahedron", 8};
47 }
49 {
50 return {"Edge_3", 3};
51 }
53 {
54 return {"Quadrilateral_9", 9};
55 }
57 {
58 return {"Triangle_6", 6};
59 }
61 {
62 return {"Quadrilateral_8", 8};
63 }
65 {
66 return {"Tetrahedron_10", 10};
67 }
69 {
70 return {"Pyramid_13", 13};
71 }
73 {
74 return {"Wedge_15", 15};
75 }
77 {
78 return {"Wedge_18", 18};
79 }
81 {
82 return {"Hexahedron_20", 20};
83 }
85 {
86 return {"Hexahedron_27", 27};
87 }
88 return {"Mixed", 1};
89}

References EDGE_3, HEXAHEDRON, HEXAHEDRON_20, HEXAHEDRON_27, MIXED, POLYLINE, POLYVERTEX, PYRAMID, PYRAMID_13, QUADRILATERAL, QUADRILATERAL_8, QUADRILATERAL_9, TETRAHEDRON, TETRAHEDRON_10, TRIANGLE, TRIANGLE_6, WEDGE, WEDGE_15, and WEDGE_18.

Referenced by MeshLib::IO::transformTopology(), and MeshLib::IO::write_xdmf().