Loading [MathJax]/extensions/tex2jax.js
VTK
9.4.20250405
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
IO
Avmesh
AvmeshMetadata.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2
// SPDX-License-Identifier: BSD-3-Clause
3
//
4
// AvmeshMetadata stores all the the metadata included in the header of an
5
// AVMESH file (usually about 1500 bytes). These are all defined in the AVMESH
6
// standard available at https://github.com/DOD-HPCMP-CREATE/avmeshlib. This is
7
// a rigid standard. All of these variables must be present and in the order in
8
// which they are declared below. The lengths of string variables are all
9
// rigidly defined, usually at 128 characters. If a user tries to set strings
10
// longer than these bounds, the tools in the CREATE-AV ecosystem that
11
// manipulate AVMESH files will truncate them.
12
//
13
// Exceptions to the rules:
14
// - the Description field in the main file header
15
// - fields marked rev1 or rev2 only
16
17
#ifndef AvmeshMetadata_h
18
#define AvmeshMetadata_h
19
20
#include <string>
21
#include <vector>
22
#include <vtkABINamespace.h>
23
24
VTK_ABI_NAMESPACE_BEGIN
25
class
vtkFieldData
;
26
27
struct
AvmeshPatch
28
{
29
AvmeshPatch
();
30
31
void
ToFieldData
(
vtkFieldData
* fieldData)
const
;
32
33
// These strings have maximum fixed lengths of 32 and 16 as specified in the AVMESH file format
34
char
Label
[32];
// descriptive name, e.g. "wing", "inlet"
35
char
Type
[16];
// BC, e.g. "noslipwall", "unspecified"
36
int
Pid
;
// Patch ID, always negative
37
};
38
39
struct
AvmeshMetadata
40
{
41
AvmeshMetadata
();
42
43
void
ToFieldData
(
vtkFieldData
* fieldData)
const
;
44
45
// File header
46
char
MagicString
[6];
47
int
MagicNumber
;
48
int
Version
;
49
int
MeshCount
;
50
char
ContactInfo
[128];
51
int
Precision
;
52
int
Dimensions
;
53
std::string
Description
;
// written as an int length, then a C string
54
55
// Mesh header
56
char
MeshName
[128];
57
char
MeshType
[128];
58
char
MeshGenerator
[128];
59
char
CoordinateSystem
[128];
60
double
Scale
;
61
char
Units
[128];
62
double
RefLen
[3];
// Scalar in rev1
63
double
RefArea
;
64
double
RefPoint
[3];
65
char
RefDescription
[128];
66
int
Refined
;
// rev2 only
67
char
MeshDescription
[128];
68
69
// Unstruc header
70
int
NumNodes
;
71
int
NumFaces
;
72
int
NumCells
;
73
int
MaxNodesPerFace
;
74
int
MaxNodesPerCell
;
75
int
MaxFacesPerCell
;
76
char
ElementScheme
[32];
// rev2 only
77
int
FacePolyOrder
;
// rev2 only
78
int
CellPolyOrder
;
// rev2 only
79
int
NumPatches
;
80
int
NumHexCells
;
81
int
NumTetCells
;
82
int
NumPriCells
;
83
int
NumPyrCells
;
84
int
NumPolyCells
;
// rev1 only
85
int
NumBndTriFaces
;
86
int
NumTriFaces
;
87
int
NumBndQuadFaces
;
88
int
NumQuadFaces
;
89
int
NumBndPolyCells
;
// rev1 only
90
int
NumPolyFaces
;
// rev1 only
91
int
BndPolyFacesSize
;
// rev1 only
92
int
PolyFacesSize
;
// rev1 only
93
int
NumEdges
;
94
int
NumNodesOnGeometry
;
95
int
NumEdgesOnGeometry
;
96
int
NumFacesOnGeometry
;
97
int
GeomRegionId
;
98
99
std::vector<AvmeshPatch>
Patches
;
100
};
101
102
VTK_ABI_NAMESPACE_END
103
#endif
// AvmeshMetadata_h
vtkFieldData
represent and manipulate fields of data
Definition
vtkFieldData.h:162
AvmeshMetadata
Definition
AvmeshMetadata.h:40
AvmeshMetadata::NumPatches
int NumPatches
Definition
AvmeshMetadata.h:79
AvmeshMetadata::MaxFacesPerCell
int MaxFacesPerCell
Definition
AvmeshMetadata.h:75
AvmeshMetadata::Precision
int Precision
Definition
AvmeshMetadata.h:51
AvmeshMetadata::RefPoint
double RefPoint[3]
Definition
AvmeshMetadata.h:64
AvmeshMetadata::NumTriFaces
int NumTriFaces
Definition
AvmeshMetadata.h:86
AvmeshMetadata::Description
std::string Description
Definition
AvmeshMetadata.h:53
AvmeshMetadata::Units
char Units[128]
Definition
AvmeshMetadata.h:61
AvmeshMetadata::AvmeshMetadata
AvmeshMetadata()
AvmeshMetadata::MeshDescription
char MeshDescription[128]
Definition
AvmeshMetadata.h:67
AvmeshMetadata::MaxNodesPerFace
int MaxNodesPerFace
Definition
AvmeshMetadata.h:73
AvmeshMetadata::NumBndQuadFaces
int NumBndQuadFaces
Definition
AvmeshMetadata.h:87
AvmeshMetadata::NumPolyCells
int NumPolyCells
Definition
AvmeshMetadata.h:84
AvmeshMetadata::MagicString
char MagicString[6]
Definition
AvmeshMetadata.h:46
AvmeshMetadata::CellPolyOrder
int CellPolyOrder
Definition
AvmeshMetadata.h:78
AvmeshMetadata::NumPriCells
int NumPriCells
Definition
AvmeshMetadata.h:82
AvmeshMetadata::NumFacesOnGeometry
int NumFacesOnGeometry
Definition
AvmeshMetadata.h:96
AvmeshMetadata::NumTetCells
int NumTetCells
Definition
AvmeshMetadata.h:81
AvmeshMetadata::NumBndTriFaces
int NumBndTriFaces
Definition
AvmeshMetadata.h:85
AvmeshMetadata::NumCells
int NumCells
Definition
AvmeshMetadata.h:72
AvmeshMetadata::MeshType
char MeshType[128]
Definition
AvmeshMetadata.h:57
AvmeshMetadata::ElementScheme
char ElementScheme[32]
Definition
AvmeshMetadata.h:76
AvmeshMetadata::PolyFacesSize
int PolyFacesSize
Definition
AvmeshMetadata.h:92
AvmeshMetadata::NumNodesOnGeometry
int NumNodesOnGeometry
Definition
AvmeshMetadata.h:94
AvmeshMetadata::BndPolyFacesSize
int BndPolyFacesSize
Definition
AvmeshMetadata.h:91
AvmeshMetadata::MeshCount
int MeshCount
Definition
AvmeshMetadata.h:49
AvmeshMetadata::NumEdges
int NumEdges
Definition
AvmeshMetadata.h:93
AvmeshMetadata::NumHexCells
int NumHexCells
Definition
AvmeshMetadata.h:80
AvmeshMetadata::NumQuadFaces
int NumQuadFaces
Definition
AvmeshMetadata.h:88
AvmeshMetadata::RefLen
double RefLen[3]
Definition
AvmeshMetadata.h:62
AvmeshMetadata::ToFieldData
void ToFieldData(vtkFieldData *fieldData) const
AvmeshMetadata::FacePolyOrder
int FacePolyOrder
Definition
AvmeshMetadata.h:77
AvmeshMetadata::ContactInfo
char ContactInfo[128]
Definition
AvmeshMetadata.h:50
AvmeshMetadata::MaxNodesPerCell
int MaxNodesPerCell
Definition
AvmeshMetadata.h:74
AvmeshMetadata::NumFaces
int NumFaces
Definition
AvmeshMetadata.h:71
AvmeshMetadata::MeshGenerator
char MeshGenerator[128]
Definition
AvmeshMetadata.h:58
AvmeshMetadata::NumNodes
int NumNodes
Definition
AvmeshMetadata.h:70
AvmeshMetadata::NumPyrCells
int NumPyrCells
Definition
AvmeshMetadata.h:83
AvmeshMetadata::Refined
int Refined
Definition
AvmeshMetadata.h:66
AvmeshMetadata::GeomRegionId
int GeomRegionId
Definition
AvmeshMetadata.h:97
AvmeshMetadata::Version
int Version
Definition
AvmeshMetadata.h:48
AvmeshMetadata::MagicNumber
int MagicNumber
Definition
AvmeshMetadata.h:47
AvmeshMetadata::Dimensions
int Dimensions
Definition
AvmeshMetadata.h:52
AvmeshMetadata::RefArea
double RefArea
Definition
AvmeshMetadata.h:63
AvmeshMetadata::NumBndPolyCells
int NumBndPolyCells
Definition
AvmeshMetadata.h:89
AvmeshMetadata::CoordinateSystem
char CoordinateSystem[128]
Definition
AvmeshMetadata.h:59
AvmeshMetadata::MeshName
char MeshName[128]
Definition
AvmeshMetadata.h:56
AvmeshMetadata::Patches
std::vector< AvmeshPatch > Patches
Definition
AvmeshMetadata.h:99
AvmeshMetadata::Scale
double Scale
Definition
AvmeshMetadata.h:60
AvmeshMetadata::NumEdgesOnGeometry
int NumEdgesOnGeometry
Definition
AvmeshMetadata.h:95
AvmeshMetadata::NumPolyFaces
int NumPolyFaces
Definition
AvmeshMetadata.h:90
AvmeshMetadata::RefDescription
char RefDescription[128]
Definition
AvmeshMetadata.h:65
AvmeshPatch
Definition
AvmeshMetadata.h:28
AvmeshPatch::Type
char Type[16]
Definition
AvmeshMetadata.h:35
AvmeshPatch::Label
char Label[32]
Definition
AvmeshMetadata.h:34
AvmeshPatch::Pid
int Pid
Definition
AvmeshMetadata.h:36
AvmeshPatch::AvmeshPatch
AvmeshPatch()
AvmeshPatch::ToFieldData
void ToFieldData(vtkFieldData *fieldData) const
Generated on Sat Apr 5 2025 09:48:45 for VTK by
1.9.7