UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BoundedCurve.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Geo/Curves/Curve.h"
5
6namespace UE::CADKernel
7{
8
10{
11 friend class FEntity;
12
13protected:
14
16
22
23 FBoundedCurve() = default;
24
25public:
26
27 virtual void Serialize(FCADKernelArchive& Ar) override
28 {
29 FCurve::Serialize(Ar);
30 SerializeIdent(Ar, Curve);
31 }
32
33 virtual void SpawnIdent(FDatabase& Database) override
34 {
35 if (!FEntity::SetId(Database))
36 {
37 return;
38 }
39
40 Curve->SpawnIdent(Database);
41 }
42
43 virtual void ResetMarkersRecursively() const override
44 {
45 ResetMarkers();
46 Curve->ResetMarkersRecursively();
47 }
48
49#ifdef CADKERNEL_DEV
50 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
51#endif
52
53 virtual ECurve GetCurveType() const override
54 {
55 return ECurve::BoundedCurve;
56 }
57
59 {
60 return Curve.ToSharedRef();
61 }
62
63 virtual TSharedPtr<FEntityGeom> ApplyMatrix(const FMatrixH& InMatrix) const override;
64 virtual void Offset(const FVector& OffsetDirection) override;
65
66 virtual void EvaluatePoint(double Coordinate, FCurvePoint& OutPoint, int32 DerivativeOrder = 0) const override;
67 virtual void Evaluate2DPoint(double Coordinate, FCurvePoint2D& OutPoint, int32 DerivativeOrder = 0) const override;
68
69 virtual void FindNotDerivableCoordinates(const FLinearBoundary& InBoundary, int32 DerivativeOrder, TArray<double>& OutNotDerivableCoordinates) const override;
70
71 virtual TSharedPtr<FCurve> MakeBoundedCurve(const FLinearBoundary& InBoundary) override;
72};
73
74} // namespace UE::CADKernel
75
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
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
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition Array.h:670
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition BoundedCurve.h:10
FBoundedCurve(TSharedRef< FCurve > InCurve, const FLinearBoundary &InBoundary, int8 InDimension)
Definition BoundedCurve.h:17
virtual ECurve GetCurveType() const override
Definition BoundedCurve.h:53
virtual void SpawnIdent(FDatabase &Database) override
Definition BoundedCurve.h:33
virtual void ResetMarkersRecursively() const override
Definition BoundedCurve.h:43
TSharedPtr< FCurve > Curve
Definition BoundedCurve.h:15
TSharedRef< const FCurve > GetBaseCurve()
Definition BoundedCurve.h:58
virtual void Serialize(FCADKernelArchive &Ar) override
Definition BoundedCurve.h:27
Definition CADKernelArchive.h:19
Definition Curve.h:21
Definition Database.h:17
Definition CADEntity.h:56
Definition MatrixH.h:14
Definition CADEntity.cpp:23
@ Curve
Definition Visu.h:19
ECurve
Definition GeoEnum.h:10
Definition GeoPoint.h:11
Definition GeoPoint.h:50
Definition Boundary.h:18