UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
RuledSurface.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 FNURBSSurface;
10
12{
13 friend FEntity;
14
15protected:
17
19 : FSurface(InToleranceGeometric, 0., 1., 0., 1.)
20 {
21 Curves[0] = InCurveU;
22 Curves[1] = InCurveV;
23 ComputeDefaultMinToleranceIso();
24 }
25
26 FRuledSurface() = default;
27
28public:
29
30 virtual void Serialize(FCADKernelArchive& Ar) override
31 {
32 FSurface::Serialize(Ar);
33 SerializeIdent(Ar, Curves[0]);
34 SerializeIdent(Ar, Curves[1]);
35 }
36
37 virtual void SpawnIdent(FDatabase& Database) override;
38 virtual void ResetMarkersRecursively() const override;
39
41 {
42 return ESurface::Ruled;
43 }
44
46 {
47 return Curves[Iso];
48 }
49
50#ifdef CADKERNEL_DEV
51 virtual FInfoEntity& GetInfo(FInfoEntity&) const override;
52#endif
53
54 virtual TSharedPtr<FEntityGeom> ApplyMatrix(const FMatrixH& InMatrix) const override;
55
56 virtual void EvaluatePoint(const FVector2d& InSurfacicCoordinate, FSurfacicPoint& OutPoint3D, int32 InDerivativeOrder = 0) const override;
57 virtual void EvaluatePointGrid(const FCoordinateGrid& Coordinates, FSurfacicSampling& OutPoints, bool bComputeNormals = false) const override;
58
59 virtual void LinesNotDerivables(const FSurfacicBoundary& Bounds, int32 InDerivativeOrder, FCoordinateGrid& OutCoordinates) const override;
60
61 virtual void Presample(const FSurfacicBoundary& InBoundaries, FCoordinateGrid& OutCoordinates) override;
62
63};
64
65} // namespace UE::CADKernel
66
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 CADKernelArchive.h:19
Definition Database.h:17
Definition CADEntity.h:56
Definition MatrixH.h:14
Definition RuledSurface.h:12
FRuledSurface(const double InToleranceGeometric, TSharedPtr< FCurve > InCurveU, TSharedPtr< FCurve > InCurveV)
Definition RuledSurface.h:18
ESurface GetSurfaceType() const
Definition RuledSurface.h:40
virtual void Serialize(FCADKernelArchive &Ar) override
Definition RuledSurface.h:30
const TSharedPtr< FCurve > & GetCurve(EIso Iso) const
Definition RuledSurface.h:45
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
Definition SurfacicSampling.h:14