UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SagCriterion.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
5
6namespace UE::CADKernel
7{
8
10{
11 friend class FEntity;
12
13protected:
14 double MaxSag;
15
16 FSagCriterion(double InSag = 0.2)
17 : MaxSag(InSag)
18 {
19 }
20
21public:
22
24 {
26 Ar << MaxSag;
27 }
28
29 virtual double Value() const override
30 {
31 return MaxSag;
32 }
33
34 static double DefaultValue()
35 {
36 return 0.2;
37 }
38
39 virtual ECriterion GetCriterionType() const override
40 {
41 return ECriterion::Sag;
42 }
43
44
45protected:
46
51 virtual double ComputeDeltaU(double ChordLength, double DeltaU, double Sag) const override
52 {
53 return sqrt(MaxSag / Sag) * DeltaU;
54 }
55
56 virtual bool IsAppliedBetweenBreaks() const override
57 {
58 return true;
59 }
60};
61
62} // namespace UE::CADKernel
63
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition CADKernelArchive.h:19
Definition Criterion.h:24
virtual void Serialize(FCADKernelArchive &Ar) override
Definition Criterion.h:33
Definition CADEntity.h:56
Definition SagCriterion.h:10
FSagCriterion(double InSag=0.2)
Definition SagCriterion.h:16
virtual bool IsAppliedBetweenBreaks() const override
Definition SagCriterion.h:56
void Serialize(FCADKernelArchive &Ar)
Definition SagCriterion.h:23
double MaxSag
Definition SagCriterion.h:14
virtual double ComputeDeltaU(double ChordLength, double DeltaU, double Sag) const override
Definition SagCriterion.h:51
virtual double Value() const override
Definition SagCriterion.h:29
virtual ECriterion GetCriterionType() const override
Definition SagCriterion.h:39
static double DefaultValue()
Definition SagCriterion.h:34
Definition CADEntity.cpp:23
ECriterion
Definition CriterionType.h:9