UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CompositeSurface.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
6
7namespace UE::CADKernel
8{
9
11{
12 friend FEntity;
13
14protected:
15
19 TArray<double> GlobalCoordinates[2];
20
25
30
32
33 FCompositeSurface() = default;
34
35public:
36
37 virtual void Serialize(FCADKernelArchive& Ar) override
38 {
39 FSurface::Serialize(Ar);
40 Ar << GlobalCoordinates[EIso::IsoU];
41 Ar << GlobalCoordinates[EIso::IsoV];
42 SerializeIdents(Ar, Surfaces);
43 Ar << NativeUVBoundaries;
44 }
45
46 virtual void SpawnIdent(FDatabase& Database) override
47 {
48 if (!FEntity::SetId(Database))
49 {
50 return;
51 }
52
53 SpawnIdentOnEntities(Surfaces, Database);
54 }
55
56 virtual void ResetMarkersRecursively() const override
57 {
58 ResetMarkers();
59 ResetMarkersRecursivelyOnEntities(Surfaces);
60 }
61
63 {
64 return ESurface::Composite;
65 }
66
67#ifdef CADKERNEL_DEV
68 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
69#endif
70
71 virtual TSharedPtr<FEntityGeom> ApplyMatrix(const FMatrixH& InMatrix) const override;
72
74 {
75 return GlobalCoordinates[Iso].Num() - 1;
76 }
77
78 virtual void InitBoundary() override;
79
80 virtual void LinesNotDerivables(const FSurfacicBoundary& Bounds, int32 InDerivativeOrder, FCoordinateGrid& OutNotDerivableCoordinates) const override;
81
82 virtual void EvaluatePoint(const FVector2d& InSurfacicCoordinate, FSurfacicPoint& OutPoint3D, int32 InDerivativeOrder = 0) const override;
83
84 virtual void Presample(const FSurfacicBoundary& InBoundaries, FCoordinateGrid& OutCoordinates) override;
85
86 double LocalToGlobalCoordinate(int32 SurfaceIndex, double CoordinateU, EIso Iso) const;
87};
88
89} // namespace UE::CADKernel
90
91
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
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition SharedPointer.h:692
Definition CADKernelArchive.h:19
Definition CompositeSurface.h:11
virtual void ResetMarkersRecursively() const override
Definition CompositeSurface.h:56
int32 GetSurfNum(EIso Iso) const
Definition CompositeSurface.h:73
TArray< TSharedPtr< FSurface > > Surfaces
Definition CompositeSurface.h:24
virtual void SpawnIdent(FDatabase &Database) override
Definition CompositeSurface.h:46
TArray< FSurfacicBoundary > NativeUVBoundaries
Definition CompositeSurface.h:29
virtual void Serialize(FCADKernelArchive &Ar) override
Definition CompositeSurface.h:37
ESurface GetSurfaceType() const
Definition CompositeSurface.h:62
Definition Database.h:17
Definition CADEntity.h:56
Definition MatrixH.h:14
Definition Surface.h:27
Definition Boundary.h:248
Definition CADEntity.cpp:23
ESurface
Definition GeoEnum.h:34
EIso
Definition GeoEnum.h:66
@ Iso
Definition Visu.h:20
Definition GeoPoint.h:103
Definition GeoPoint.h:19