UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SizeCriterion.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5
11namespace UE::CADKernel
12{
13struct FCurvePoint;
14
16{
17 friend class FEntity;
18
19protected:
20 double Size;
21
23 : Size(InSize)
24 {
25 }
26
31
32public:
33
35 {
37 Ar << Size;
38 }
39
40 double Value() const override
41 {
42 return Size;
43 }
44
45 static double DefaultValue(ECriterion Type)
46 {
47 switch (Type)
48 {
50 return 0.1;
52 return 30;
53 }
54 return 0;
55 }
56
57 void ApplyOnParameters(const TArray<double>& Coordinates, const TArray<FCurvePoint>& Points, TArray<double>& DeltaUMax, TArray<double>& DeltaUMins, TFunction<void(double, double&, double&)> UpdateDeltaU) const;
58};
59
61{
62 friend class FEntity;
63protected:
66 {
67 }
68
69public:
70
71 virtual ECriterion GetCriterionType() const override
72 {
74 }
75
76 virtual void ApplyOnEdgeParameters(FTopologicalEdge& Edge, const TArray<double>& Coordinates, const TArray<FCurvePoint>& Points) const override;
77
82 virtual void UpdateDelta(double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double& OutSagDeltaUMax, double& OutSagDeltaUMin, FIsoCurvature& SurfaceCurvature) const override;
83};
84
86{
87 friend class FEntity;
88protected:
89 FMaxSizeCriterion(double InSize = 10000.)
91 {
92 }
93
94public:
95 virtual ECriterion GetCriterionType() const override
96 {
98 }
99
100 virtual void ApplyOnEdgeParameters(FTopologicalEdge& Edge, const TArray<double>& Coordinates, const TArray<FCurvePoint>& Points) const override;
101
106 virtual void UpdateDelta(double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double& OutSagDeltaUMax, double& OutSagDeltaUMin, FIsoCurvature& SurfaceCurvature) const override;
107};
108
109} // namespace UE::CADKernel
110
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DOUBLE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:73
#define DOUBLE_BIG_NUMBER
Definition UnrealMathUtility.h:74
Definition Array.h:670
Definition AndroidPlatformMisc.h:14
Definition CADKernelArchive.h:19
Definition Criterion.h:24
virtual void Serialize(FCADKernelArchive &Ar) override
Definition Criterion.h:33
Definition CADEntity.h:56
Definition SizeCriterion.h:86
FMaxSizeCriterion(double InSize=10000.)
Definition SizeCriterion.h:89
virtual void UpdateDelta(double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double &OutSagDeltaUMax, double &OutSagDeltaUMin, FIsoCurvature &SurfaceCurvature) const override
Definition SizeCriterion.cpp:82
virtual void ApplyOnEdgeParameters(FTopologicalEdge &Edge, const TArray< double > &Coordinates, const TArray< FCurvePoint > &Points) const override
Definition SizeCriterion.cpp:38
virtual ECriterion GetCriterionType() const override
Definition SizeCriterion.h:95
Definition SizeCriterion.h:61
virtual ECriterion GetCriterionType() const override
Definition SizeCriterion.h:71
virtual void ApplyOnEdgeParameters(FTopologicalEdge &Edge, const TArray< double > &Coordinates, const TArray< FCurvePoint > &Points) const override
Definition SizeCriterion.cpp:23
FMinSizeCriterion(double InSize=0.05)
Definition SizeCriterion.h:64
virtual void UpdateDelta(double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double &OutSagDeltaUMax, double &OutSagDeltaUMin, FIsoCurvature &SurfaceCurvature) const override
Definition SizeCriterion.cpp:71
Definition SizeCriterion.h:16
void ApplyOnParameters(const TArray< double > &Coordinates, const TArray< FCurvePoint > &Points, TArray< double > &DeltaUMax, TArray< double > &DeltaUMins, TFunction< void(double, double &, double &)> UpdateDeltaU) const
Definition SizeCriterion.cpp:58
static double DefaultValue(ECriterion Type)
Definition SizeCriterion.h:45
double Size
Definition SizeCriterion.h:20
double Value() const override
Definition SizeCriterion.h:40
FSizeCriterion(double InSize=1.)
Definition SizeCriterion.h:22
double ComputeSizeCriterionValue(double InDeltaU, double ChordLength) const
Definition SizeCriterion.h:27
void Serialize(FCADKernelArchive &Ar)
Definition SizeCriterion.h:34
Definition TopologicalEdge.h:63
Definition CADEntity.cpp:23
ECriterion
Definition CriterionType.h:9
Definition Curvature.h:10