UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::FCriterion Class Referenceabstract

#include <Criterion.h>

+ Inheritance diagram for UE::CADKernel::FCriterion:

Public Member Functions

virtual void Serialize (FCADKernelArchive &Ar) override
 
virtual EEntity GetEntityType () const override
 
virtual void ApplyOnEdgeParameters (FTopologicalEdge &Edge, const TArray< double > &Coordinates, const TArray< FCurvePoint > &Points) const
 
virtual ECriterion GetCriterionType () const =0
 
FString GetCriterionName ()
 
virtual double Value () const =0
 
virtual bool IsAppliedBetweenBreaks () const
 
virtual void UpdateDelta (double InDeltaU, double InUSag, double InDiagonalSag, double InVSag, double ChordLength, double DiagonalLength, double &OutDeltaUMax, double &OutDeltaUMin, FIsoCurvature &SurfaceCurvature) const
 
- Public Member Functions inherited from UE::CADKernel::FEntity
virtual ~FEntity ()
 
virtual void Delete ()
 
virtual void Empty ()
 
bool IsTopologicalEntity () const
 
bool IsTopologicalShapeEntity () const
 
bool IsGeometricalEntity ()
 
const TCHARGetTypeName () const
 
const FIdentGetId () const
 
virtual void SpawnIdent (FDatabase &Database)
 
virtual void ResetMarkersRecursively () const
 
- Public Member Functions inherited from TSharedFromThis< FEntity >
TSharedRef< FEntity, Mode > AsShared ()
 
TSharedRef< FEntity const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< FEntity, Mode > AsWeak ()
 
TWeakPtr< FEntity const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 
- Public Member Functions inherited from UE::CADKernel::FHaveStates
 FHaveStates ()
 
void Serialize (FCADKernelArchive &Ar)
 
void ResetElementStatus ()
 
bool HasMarker1 () const
 
bool HasMarker2 () const
 
bool HasMarker1And2 () const
 
bool HasMarker1Or2 () const
 
void SetMarker1 () const
 
void SetMarker2 () const
 
void ResetMarker1 () const
 
void ResetMarker2 () const
 
void ResetMarkers () const
 
bool IsDeleted () const
 
void SetDeletedMarker () const
 
void ResetDeleted () const
 
virtual bool IsDeletedOrDegenerated () const
 
virtual bool IsDegenerated () const
 
virtual void SetAsDegenerated () const
 
virtual void ResetDegenerated () const
 
void SetWaitingMarker () const
 
void ResetWaitingMarker () const
 
virtual bool IsWaiting () const
 
void SetProcessedMarker () const
 
void ResetProcessedMarker () const
 
virtual bool IsProcessed () const
 
virtual bool IsProcessedDeletedOrDegenerated () const
 
void SetToProcessMarker () const
 
void ResetToProcessMarker () const
 
virtual bool IsToProcess () const
 
virtual bool IsNotToProcess () const
 
virtual bool IsNotToOrAlreadyProcess () const
 

Static Public Member Functions

static TSharedPtr< FCriterionDeserialize (FCADKernelArchive &Archive)
 
static TSharedPtr< FCriterionCreateCriterion (ECriterion type, double value=0.)
 
static double EvaluateSag (const FVector &PointPoint, const FVector &PointNext, const FVector &PointMiddle, double &Length)
 
static FString GetCriterionName (ECriterion CriterionType)
 
static double DefaultValue (ECriterion type)
 
- Static Public Member Functions inherited from UE::CADKernel::FEntity
template<typename OtherEntity , typename... InArgTypes>
static TSharedRef< OtherEntity > MakeShared (InArgTypes &&... Args)
 
template<typename OtherEntity >
static TSharedRef< OtherEntity > MakeShared (FCADKernelArchive &Archive)
 
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< FEntity > &Entity, bool bSaveSelection=true)
 
static void SerializeIdent (FCADKernelArchive &Ar, FEntity **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, EntityType **Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TSharedPtr< EntityType > &Entity, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdent (FCADKernelArchive &Ar, TWeakPtr< EntityType > &Entity, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< FEntity * > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< FEntity > > &Array, bool bSaveSelection=true)
 
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< EntityType * > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TWeakPtr< EntityType > > &Array, bool bSaveSelection=true)
 
template<typename EntityType >
static void SerializeIdents (FCADKernelArchive &Ar, TArray< TSharedPtr< EntityType > > &Array, bool bSaveSelection=true)
 
static void SpawnIdentOnEntities (TArray< FEntity * > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TSharedPtr< FEntity > > &Array, FDatabase &Database)
 
static void SpawnIdentOnEntities (TArray< TOrientedEntity< FEntity > > &Array, FDatabase &Database)
 
template<typename EntityType >
static void SpawnIdentOnEntities (TArray< TSharedPtr< EntityType > > &Array, FDatabase &Database)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< FEntity * > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TWeakPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< FEntity > > &Array)
 
static void ResetMarkersRecursivelyOnEntities (const TArray< TOrientedEntity< FEntity > > &Array)
 
template<typename EntityType >
static void ResetMarkersRecursivelyOnEntities (const TArray< TSharedPtr< EntityType > > &Array)
 
static TSharedPtr< FEntityDeserialize (FCADKernelArchive &Ar)
 
static const TCHARGetTypeName (EEntity Type)
 

Protected Member Functions

 FCriterion ()=default
 
virtual double ComputeDeltaU (double ChordLength, double DeltaU, double Sag) const
 
void UpdateWithUMaxValue (double NewMaxValue, double &OutDeltaUMax, const double &OutDeltaUMin) const
 
void UpdateWithUMinValue (double NewMinValue, double &OutDeltaUMax, double &OutDeltaUMin) const
 
- Protected Member Functions inherited from UE::CADKernel::FEntity
bool SetId (FDatabase &Database)
 
- Protected Member Functions inherited from TSharedFromThis< FEntity >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Friends

class FEntity
 

Additional Inherited Members

- Static Protected Member Functions inherited from TSharedFromThis< FEntity >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 
- Protected Attributes inherited from UE::CADKernel::FEntity
FIdent Id = 0
 
- Protected Attributes inherited from UE::CADKernel::FHaveStates
EHaveStates States
 
- Static Protected Attributes inherited from UE::CADKernel::FEntity
static const TCHARTypesNames []
 

Constructor & Destructor Documentation

◆ FCriterion()

UE::CADKernel::FCriterion::FCriterion ( )
protecteddefault

Member Function Documentation

◆ ApplyOnEdgeParameters()

void UE::CADKernel::FCriterion::ApplyOnEdgeParameters ( FTopologicalEdge Edge,
const TArray< double > &  Coordinates,
const TArray< FCurvePoint > &  Points 
) const
virtual

◆ ComputeDeltaU()

virtual double UE::CADKernel::FCriterion::ComputeDeltaU ( double  ChordLength,
double  DeltaU,
double  Sag 
) const
inlineprotectedvirtual

◆ CreateCriterion()

TSharedPtr< FCriterion > UE::CADKernel::FCriterion::CreateCriterion ( ECriterion  type,
double  value = 0. 
)
static

◆ DefaultValue()

double UE::CADKernel::FCriterion::DefaultValue ( ECriterion  type)
static

◆ Deserialize()

TSharedPtr< FCriterion > UE::CADKernel::FCriterion::Deserialize ( FCADKernelArchive Archive)
static

Specific method for curve family to instantiate the correct derived class of FCurve

◆ EvaluateSag()

static double UE::CADKernel::FCriterion::EvaluateSag ( const FVector PointPoint,
const FVector PointNext,
const FVector PointMiddle,
double Length 
)
inlinestatic

◆ GetCriterionName() [1/2]

FString UE::CADKernel::FCriterion::GetCriterionName ( )
inline

◆ GetCriterionName() [2/2]

static FString UE::CADKernel::FCriterion::GetCriterionName ( ECriterion  CriterionType)
inlinestatic

◆ GetCriterionType()

◆ GetEntityType()

virtual EEntity UE::CADKernel::FCriterion::GetEntityType ( ) const
inlineoverridevirtual

◆ IsAppliedBetweenBreaks()

virtual bool UE::CADKernel::FCriterion::IsAppliedBetweenBreaks ( ) const
inlinevirtual

◆ Serialize()

virtual void UE::CADKernel::FCriterion::Serialize ( FCADKernelArchive Ar)
inlineoverridevirtual

Serialization of a FEntity. Each class derived from FEntity has to override this method (and call the direct base class override method first) E.g. class FEntityXXX : public FEntityXX { virtual void Serialize(FCADKernelArchive& Ar) override { FEntityXX::Serialize(Ar); ... } }

Reimplemented from UE::CADKernel::FEntity.

Reimplemented in UE::CADKernel::FCurvatureCriterion, UE::CADKernel::FSagCriterion, UE::CADKernel::FSizeCriterion, and UE::CADKernel::FAngleCriterion.

◆ UpdateDelta()

virtual void UE::CADKernel::FCriterion::UpdateDelta ( double  InDeltaU,
double  InUSag,
double  InDiagonalSag,
double  InVSag,
double  ChordLength,
double  DiagonalLength,
double OutDeltaUMax,
double OutDeltaUMin,
FIsoCurvature SurfaceCurvature 
) const
inlinevirtual

According to the criterion, either DeltaUMin or DeltaUMax is set e.g MinSizeCrtierion sets DeltaUMin when MaxSizeCriterion sets DeltaUMax. The implicit rule is that DeltaUMin is predominant over DeltaUMax i.e.: UpdateWithUMaxValue: DeltaUMax = Max(DeltaUMin, Min(DeltaUMax, NewDeltaUMax))

UpdateWithUMinValue: DeltaUMin = Max(DeltaUMin, NewDeltaUMin) DeltaUMax = Max(DeltaUMax, NewDeltaUMin)

Reimplemented in UE::CADKernel::FCurvatureCriterion, UE::CADKernel::FMinSizeCriterion, and UE::CADKernel::FMaxSizeCriterion.

◆ UpdateWithUMaxValue()

void UE::CADKernel::FCriterion::UpdateWithUMaxValue ( double  NewMaxValue,
double OutDeltaUMax,
const double OutDeltaUMin 
) const
inlineprotected

◆ UpdateWithUMinValue()

void UE::CADKernel::FCriterion::UpdateWithUMinValue ( double  NewMinValue,
double OutDeltaUMax,
double OutDeltaUMin 
) const
inlineprotected

DeltaUMin = Max(DeltaUMin, NewDeltaUMin) DeltaUMin cannot be smaller than DeltaUMax, so: DeltaUMax = Max(DeltaUMax, NewDeltaUMin)

◆ Value()

Friends And Related Symbol Documentation

◆ FEntity

friend class FEntity
friend

The documentation for this class was generated from the following files: