UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CriteriaGrid.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Core/Types.h"
5#include "Math/Boundary.h"
7
9
10namespace UE::CADKernel
11{
12class FTopologicalFace;
13
15{
16
17private:
18
19 /*
20 * Cutting coordinates of the face respecting the meshing criteria
21 */
22 FCoordinateGrid CoordinateGrid;
23
24 FSurfacicBoundary FaceMinMax;
25
26protected:
27
28 virtual const FCoordinateGrid& GetCoordinateGrid() const override
29 {
30 return CoordinateGrid;
31 }
32
34 {
37 if (bIsInternalU)
38 {
39 ++TrueUIndex;
40 }
41 if (bIsInternalV)
42 {
43 ++TrueVIndex;
44 }
46 }
47
54
55 void Init();
56
57 double GetCoordinate(EIso Iso, int32 ind) const
58 {
59 return CoordinateGrid[Iso][ind];
60 }
61
62public:
63
65
66
68 {
69 return GetPoint(iU, iV, false, false);
70 }
71
73 {
74 return GetPoint(iU, iV, true, false);
75 }
76
78 {
79 return GetPoint(iU, iV, false, true);
80 }
81
83 {
84 return GetPoint(iU, iV, true, true);
85 }
86
88
90 {
91 return FMath::Max(FaceMinMax[EIso::IsoU].GetMax(), FaceMinMax[EIso::IsoV].GetMax());
92 }
93
98
99#ifdef CADKERNEL_DEV
100 void Display() const;
101#endif
102};
103}
104
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define ensureCADKernel(InExpression)
Definition Types.h:115
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
Definition CriteriaGrid.h:15
const FVector & GetIntermediateV(int32 iU, int32 iV) const
Definition CriteriaGrid.h:77
void ComputeFaceMinMaxThicknessAlongIso()
Definition CriteriaGrid.cpp:53
double GetCoordinate(EIso Iso, int32 ind) const
Definition CriteriaGrid.h:57
const FVector & GetPoint(int32 UIndex, int32 VIndex, bool bIsInternalU, bool bIsInternalV) const
Definition CriteriaGrid.h:48
virtual const FCoordinateGrid & GetCoordinateGrid() const override
Definition CriteriaGrid.h:28
const FVector & GetIntermediateUV(int32 iU, int32 iV) const
Definition CriteriaGrid.h:82
void Init()
Definition CriteriaGrid.cpp:16
int32 GetIndex(int32 UIndex, int32 VIndex, bool bIsInternalU, bool bIsInternalV) const
Definition CriteriaGrid.h:33
double GetCharacteristicThicknessOfFace() const
Definition CriteriaGrid.h:89
const FVector & GetPoint(int32 iU, int32 iV) const
Definition CriteriaGrid.h:67
bool CheckIfIsDegenerate()
Definition CriteriaGrid.cpp:113
const FVector & GetIntermediateU(int32 iU, int32 iV) const
Definition CriteriaGrid.h:72
Definition GridBase.h:73
int32 CuttingCount[2]
Definition GridBase.h:83
TArray< FVector > Points3D
Definition GridBase.h:96
Definition Boundary.h:248
Definition TopologicalFace.h:56
Definition CADEntity.cpp:23
EIso
Definition GeoEnum.h:66
@ IsoV
Definition GeoEnum.h:68
@ IsoU
Definition GeoEnum.h:67
@ Iso
Definition Visu.h:20
U16 Index
Definition radfft.cpp:71
Definition GeoPoint.h:103