UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OffsetSurface.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 FEntity;
12
13protected:
14
16 double Offset;
17
20 , BaseSurface(InBaseSurface)
21 , Offset(InOffset)
22 {
23 ComputeMinToleranceIso();
24 }
25
26 FOffsetSurface() = default;
27
29 {
30 MinToleranceIso = BaseSurface->GetIsoTolerances();
31 }
32
33public:
34
35 virtual void Serialize(FCADKernelArchive& Ar) override
36 {
37 FSurface::Serialize(Ar);
38 SerializeIdent(Ar, BaseSurface);
39 Ar << Offset;
40 }
41
42 virtual void SpawnIdent(FDatabase& Database) override
43 {
44 if (!FEntity::SetId(Database))
45 {
46 return;
47 }
48
49 BaseSurface->SpawnIdent(Database);
50 }
51
52 virtual void ResetMarkersRecursively() const override
53 {
54 ResetMarkers();
55 BaseSurface->ResetMarkersRecursively();
56 }
57
59 {
60 return ESurface::Offset;
61 }
62
63 const double GetOffset() const
64 {
65 return Offset;
66 }
67
69 {
70 return BaseSurface;
71 }
72
73 virtual void InitBoundary() override;
74
75#ifdef CADKERNEL_DEV
76 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
77#endif
78
79 virtual TSharedPtr<FEntityGeom> ApplyMatrix(const FMatrixH& InMatrix) const override;
80
81 virtual void LinesNotDerivables(const FSurfacicBoundary& Bounds, int32 InDerivativeOrder, FCoordinateGrid& OutNotDerivableCoordinates) const override;
82
86 virtual void EvaluatePoint(const FVector2d& InSurfacicCoordinate, FSurfacicPoint& OutPoint3D, int32 InDerivativeOrder = 0) const override;
87 virtual void EvaluatePoints(const TArray<FVector2d>& InSurfacicCoordinates, TArray<FSurfacicPoint>& OutPoint3D, int32 InDerivativeOrder = 0) const override;
88 virtual void EvaluatePointGrid(const FCoordinateGrid& Coordinates, FSurfacicSampling& OutPoints, bool bComputeNormals = false) const override;
89
90 virtual void Presample(const FSurfacicBoundary& InBoundaries, FCoordinateGrid& OutCoordinates) override;
91};
92
93} // namespace UE::CADKernel
94
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 CADKernelArchive.h:19
Definition Database.h:17
Definition CADEntity.h:56
Definition MatrixH.h:14
Definition OffsetSurface.h:10
double Offset
Definition OffsetSurface.h:16
virtual void SpawnIdent(FDatabase &Database) override
Definition OffsetSurface.h:42
TSharedPtr< FSurface > GetBaseSurface() const
Definition OffsetSurface.h:68
void ComputeMinToleranceIso()
Definition OffsetSurface.h:28
virtual void Serialize(FCADKernelArchive &Ar) override
Definition OffsetSurface.h:35
TSharedPtr< FSurface > BaseSurface
Definition OffsetSurface.h:15
ESurface GetSurfaceType() const
Definition OffsetSurface.h:58
virtual void ResetMarkersRecursively() const override
Definition OffsetSurface.h:52
const double GetOffset() const
Definition OffsetSurface.h:63
FOffsetSurface(const double InToleranceGeometric, TSharedRef< FSurface > InBaseSurface, double InOffset)
Definition OffsetSurface.h:18
Definition Surface.h:27
Definition Boundary.h:248
Definition CADEntity.cpp:23
ESurface
Definition GeoEnum.h:34
Definition GeoPoint.h:103
Definition GeoPoint.h:19
Definition SurfacicSampling.h:14