UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ParametricMesher.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Core/Chrono.h"
5#include "Core/Types.h"
7
8namespace UE::CADKernel
9{
10class FCriterion;
11class FGrid;
12class FModelMesh;
13class FThinZoneSide;
14class FTopologicalEntity;
15class FTopologicalEdge;
16class FTopologicalFace;
17class FTopologicalLoop;
18class FTopologicalShapeEntity;
19
20namespace ParametricMesherTool
21{
22
34
35}
36
37constexpr double ConstMinCurvature = 0.001;
38
39
41{
42protected:
43
45 bool bThinZoneMeshing = false;
46
48
50
51#ifdef CADKERNEL_DEV
52 bool bDisplay = false;
53#endif
54
55public:
56
58
59 const FModelMesh& GetMeshModel() const
60 {
61 return MeshModel;
62 }
63
65 {
66 return MeshModel;
67 }
68
70
72 {
74 Entities.Add(&InEntity);
75 MeshEntities(Entities);
76 }
77
79 //void Mesh(FTopologicalEdge& InEdge, const FTopologicalFace& CarrierFace, bool bFinalMeshing = true);
80 //void Mesh(FTopologicalVertex& Vertex);
81
82 //void MeshFaceLoops(FGrid& Grid);
83
84 //void MeshThinZoneEdges(FTopologicalFace& Face);
85 //void MeshThinZoneSide(FThinZoneSide& Side, bool bFinalMeshing);
86
87 //void DefineImposedCuttingPointsBasedOnOtherSideMesh(FTopologicalFace& Face, FThinZoneSide& Side1, FThinZoneSide& Side2, bool Last);
88
92 //bool GenerateCloud(FGrid& Grid);
93
94protected:
95
99 void PreMeshingTasks();
100 void MeshEntities();
101
102
104
107
108 void ApplyEdgeCriteria(FTopologicalEdge& Edge);
109 static void ApplyFaceCriteria(FTopologicalFace& Face, const TArray<TSharedPtr<FCriterion>>& Criteria, const double, bool);
110};
111
112} // namespace UE::CADKernel
113
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Array.h:670
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
Definition SharedPointer.h:692
Definition ParametricMesherConstantes.h:17
Definition ModelMesh.h:21
Definition ParametricMesher.h:41
const FModelMesh & GetMeshModel() const
Definition ParametricMesher.h:59
FModelMesh & MeshModel
Definition ParametricMesher.h:47
TArray< FTopologicalFace * > Faces
Definition ParametricMesher.h:49
FMeshingTolerances Tolerances
Definition ParametricMesher.h:44
FModelMesh & GetMeshModel()
Definition ParametricMesher.h:64
void MeshEntity(FTopologicalShapeEntity &InEntity)
Definition ParametricMesher.h:71
Definition TopologicalEdge.h:63
Definition TopologicalFace.h:56
Definition TopologicalShapeEntity.h:14
Definition CADEntity.cpp:23
constexpr double ConstMinCurvature
Definition ParametricMesher.h:37
Definition ParametricMesher.h:24
double Cost
Definition ParametricMesher.h:25
FTopologicalFace * Face
Definition ParametricMesher.h:26
FCostToFace(double NewCost, FTopologicalFace *NewFace)
Definition ParametricMesher.h:28