Files
wg_cpso/CaeMesh/Meshing/Gmsh/Mesher/GmshData.cs

69 lines
2.0 KiB
C#
Raw Normal View History

2026-03-25 18:20:24 +08:00
using CaeGlobals;
using System;
using System.Collections.Generic;
#pragma warning disable IDE0130
namespace CaeMesh
{
[Serializable]
public struct GmshIdLocation
{
public int Id;
public double Size;
public double[] Location;
}
[Serializable]
public class GmshData
{
// Variables
// Properties
public string GeometryFileName;
public string MeshFileName;
public string InpFileName;
public MeshingParameters PartMeshingParameters;
public MeshSetupItem[] GmshSetupItems;
public bool Preview;
// Topology
public Dictionary<int, FeNode> VertexNodes;
public Dictionary<int[], List<GmshIdLocation>> EdgeVertexNodeIdsEdgeId;
public Dictionary<int[], List<GmshIdLocation>> FaceVertexNodeIdsFaceId;
// Mesh size
public Dictionary<int, double> VertexNodeIdMeshSize;
public Dictionary<int, int> EdgeIdNumElements;
// Sweep
public HashSet<int>[] EdgeIdsBySweepLayer;
// Normals
public Dictionary<int, FeNode[]> FaceIdNodes;
public Dictionary<int, List<Vec3D>> NodeIdNormals;
// Element quality
public string ElementQualityMetric;
public Dictionary<int, double> ElementQuality;
// Defeature
public int[] SurfaceIds;
// Parameterization
public double[][][] Coor;
public double StlFeatureAngleDeg;
// Constructors
public GmshData()
{
}
// 保存对象
public void WriteToFile(string fileName)
{
this.DumpToFile(fileName);
}
}
}