UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RevolutionSurface.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{
8class FCurve;
9class FSegmentCurve;
10
12{
13 friend FEntity;
14
15protected:
16
19
21
33 FRevolutionSurface(const double InToleranceGeometric, TSharedRef<FSegmentCurve> Axe, TSharedRef<FCurve> Generatrix, double MinAngle, double MaxAngle);
34
35 FRevolutionSurface() = default;
36
37public:
38
39 virtual void Serialize(FCADKernelArchive& Ar) override
40 {
41 FSurface::Serialize(Ar);
42 SerializeIdent(Ar, Axis);
43 SerializeIdent(Ar, Generatrix);
44 Ar << RotationAxis;
45 }
46
47 virtual void SpawnIdent(FDatabase& Database) override;
48 virtual void ResetMarkersRecursively() const override;
49
51 {
52 return ESurface::Revolution;
53 }
54
56 {
57 return Generatrix;
58 }
59
61 {
62 return Axis;
63 }
64
65#ifdef CADKERNEL_DEV
66 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
67#endif
68
69 virtual TSharedPtr<FEntityGeom> ApplyMatrix(const FMatrixH& InMatrix) const override;
70
71 virtual void EvaluatePoint(const FVector2d& InSurfacicCoordinate, FSurfacicPoint& OutPoint3D, int32 InDerivativeOrder = 0) const override;
72 virtual void EvaluatePointGrid(const FCoordinateGrid& Coordinates, FSurfacicSampling& OutPoints, bool bComputeNormals = false) const override;
73
74 virtual void LinesNotDerivables(const FSurfacicBoundary& Bounds, int32 InDerivativeOrder, FCoordinateGrid& OutCoordinates) const override;
75
76 virtual void Presample(const FSurfacicBoundary& InBoundaries, FCoordinateGrid& OutCoordinates) override;
77
78};
79
80} // namespace UE::CADKernel
81
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 SharedPointer.h:692
Definition SharedPointer.h:153
Definition CADKernelArchive.h:19
Definition Database.h:17
Definition CADEntity.h:56
Definition MatrixH.h:14
Definition RevolutionSurface.h:12
TSharedPtr< FCurve > GetGeneratrix() const
Definition RevolutionSurface.h:55
TSharedPtr< FCurve > Generatrix
Definition RevolutionSurface.h:18
TSharedPtr< FSegmentCurve > Axis
Definition RevolutionSurface.h:17
virtual void Serialize(FCADKernelArchive &Ar) override
Definition RevolutionSurface.h:39
FVector RotationAxis
Definition RevolutionSurface.h:20
ESurface GetSurfaceType() const
Definition RevolutionSurface.h:50
virtual TSharedPtr< FSegmentCurve > GetAxe() const
Definition RevolutionSurface.h:60
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