UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GeoPoint.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Core/Types.h"
5#include "Geo/GeoEnum.h"
6#include "Math/Point.h"
7
8namespace UE::CADKernel
9{
17
28
39
46
48
50{
55
56 FCurvePoint() = default;
57
64
71
77 {
78 ensureCADKernel(Point2D.DerivativeOrder >= 0);
79 ensureCADKernel(SurfacicPoint.DerivativeOrder >= 0);
80
81 ensureCADKernel(Point2D.DerivativeOrder <= SurfacicPoint.DerivativeOrder);
82
84 Point = SurfacicPoint.Point;
85
86 if (DerivativeOrder > 0)
87 {
88 Gradient = SurfacicPoint.GradientU * Point2D.Gradient.X + SurfacicPoint.GradientV * Point2D.Gradient.Y;
89 }
90
91 if (DerivativeOrder > 1)
92 {
93 Laplacian = SurfacicPoint.LaplacianU * FMath::Square(Point2D.Gradient.X)
94 + 2.0 * SurfacicPoint.LaplacianUV * Point2D.Gradient.X * Point2D.Gradient.Y
95 + SurfacicPoint.LaplacianV * FMath::Square(Point2D.Gradient.Y)
96 + SurfacicPoint.GradientU * Point2D.Laplacian.X
97 + SurfacicPoint.GradientV * Point2D.Laplacian.Y;
98 }
99 }
100};
101
103{
105
107 {
108 }
109
115
121
122 int32 Count() const
123 {
125 }
126
128 {
129 return Coordinates[Iso].Num();
130 }
131
137
139 {
142 }
143
145 {
146 ensureCADKernel(Iso == 0 || Iso == 1);
147 return Coordinates[Iso];
148 }
149
150 constexpr const TArray<double>& operator[](EIso Iso) const
151 {
152 ensureCADKernel(Iso == 0 || Iso == 1);
153 return Coordinates[Iso];
154 }
155};
156
157
158}
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
#define ensureCADKernel(InExpression)
Definition Types.h:115
Definition Array.h:670
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
void Empty(SizeType Slack=0)
Definition Array.h:2273
static CADKERNEL_API const FVector2d FarawayPoint2D
Definition Point.h:16
Definition CADEntity.cpp:23
EIso
Definition GeoEnum.h:66
@ IsoV
Definition GeoEnum.h:68
@ IsoU
Definition GeoEnum.h:67
@ Iso
Definition Visu.h:20
FSurfacicCurvePointWithTolerance FSurfacicCurveExtremities[2]
Definition GeoPoint.h:47
static constexpr UE_FORCEINLINE_HINT T Square(const T A)
Definition UnrealMathUtility.h:578
Definition GeoPoint.h:103
void Empty(int32 UNumber=0, int32 VNumber=0)
Definition GeoPoint.h:138
void Swap(TArray< double > &InUCoordinates, TArray< double > &InVCoordinates)
Definition GeoPoint.h:116
constexpr const TArray< double > & operator[](EIso Iso) const
Definition GeoPoint.h:150
void SetNum(int32 UNumber, int32 VNumber)
Definition GeoPoint.h:132
int32 Count() const
Definition GeoPoint.h:122
FCoordinateGrid(const TArray< double > &InUCoordinates, const TArray< double > &InVCoordinates)
Definition GeoPoint.h:110
constexpr TArray< double > & operator[](EIso Iso)
Definition GeoPoint.h:144
FCoordinateGrid()
Definition GeoPoint.h:106
int32 IsoCount(EIso Iso) const
Definition GeoPoint.h:127
TArray< double > Coordinates[2]
Definition GeoPoint.h:104
Definition GeoPoint.h:11
FVector2d Laplacian
Definition GeoPoint.h:15
int32 DerivativeOrder
Definition GeoPoint.h:12
FVector2d Gradient
Definition GeoPoint.h:14
FVector2d Point
Definition GeoPoint.h:13
Definition GeoPoint.h:50
FCurvePoint(FVector InPoint)
Definition GeoPoint.h:58
int32 DerivativeOrder
Definition GeoPoint.h:51
FVector Point
Definition GeoPoint.h:52
void Combine(const FCurvePoint2D &Point2D, const FSurfacicPoint &SurfacicPoint)
Definition GeoPoint.h:76
FVector Gradient
Definition GeoPoint.h:53
void Init()
Definition GeoPoint.h:65
FVector Laplacian
Definition GeoPoint.h:54
FVector Point
Definition GeoPoint.h:43
FSurfacicTolerance Tolerance
Definition GeoPoint.h:44
FVector2d Point2D
Definition GeoPoint.h:42
Definition GeoPoint.h:30
FVector Tangent
Definition GeoPoint.h:37
FVector Normal
Definition GeoPoint.h:36
FVector Point
Definition GeoPoint.h:35
FVector2d Point2D
Definition GeoPoint.h:34
bool bWithTangent
Definition GeoPoint.h:32
bool bWithNormals
Definition GeoPoint.h:31
Definition GeoPoint.h:19
FVector LaplacianU
Definition GeoPoint.h:24
FVector GradientU
Definition GeoPoint.h:22
int32 DerivativeOrder
Definition GeoPoint.h:20
FVector Point
Definition GeoPoint.h:21
FVector LaplacianUV
Definition GeoPoint.h:26
FVector GradientV
Definition GeoPoint.h:23
FVector LaplacianV
Definition GeoPoint.h:25
T Y
Definition Vector2D.h:52
T X
Definition Vector2D.h:49
static CORE_API const TVector2< double > ZeroVector
Definition Vector2D.h:63
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79