UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MeshBuild.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 MeshBuild.h: Contains commonly used functions and classes for building
5 mesh data into engine usable form.
6
7=============================================================================*/
8
9#pragma once
10
11#include "CoreMinimal.h"
12
35
36
40inline bool PointsEqual(const FVector3f& V1,const FVector3f& V2, bool bUseEpsilonCompare = true )
41{
42 const float Epsilon = bUseEpsilonCompare ? UE_THRESH_POINTS_ARE_SAME : 0.0f;
43 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon && FMath::Abs(V1.Z - V2.Z) <= Epsilon;
44}
45
47{
48 const float Epsilon = OverlappingThreshold.ThresholdPosition;
49 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon && FMath::Abs(V1.Z - V2.Z) <= Epsilon;
50}
51
55inline bool NormalsEqual(const FVector3f& V1,const FVector3f& V2)
56{
57 const float Epsilon = UE_THRESH_NORMALS_ARE_SAME;
58 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon && FMath::Abs(V1.Z - V2.Z) <= Epsilon;
59}
60
61inline bool UVsEqual(const FVector2f& V1, const FVector2f& V2)
62{
63 const float Epsilon = 1.0f / 1024.0f;
64 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon;
65}
66
68{
69 const float Epsilon = OverlappingThreshold.ThresholdTangentNormal;
70 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon && FMath::Abs(V1.Z - V2.Z) <= Epsilon;
71}
72
74{
75 const float Epsilon = OverlappingThreshold.ThresholdUV;
76 return FMath::Abs(V1.X - V2.X) <= Epsilon && FMath::Abs(V1.Y - V2.Y) <= Epsilon;
77}
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
bool UVsEqual(const FVector2f &V1, const FVector2f &V2)
Definition MeshBuild.h:61
bool PointsEqual(const FVector3f &V1, const FVector3f &V2, bool bUseEpsilonCompare=true)
Definition MeshBuild.h:40
bool NormalsEqual(const FVector3f &V1, const FVector3f &V2)
Definition MeshBuild.h:55
#define UE_THRESH_UVS_ARE_SAME
Definition UnrealMathUtility.h:204
#define UE_THRESH_NORMALS_ARE_SAME
Definition UnrealMathUtility.h:203
#define UE_THRESH_POINTS_ARE_SAME
Definition UnrealMathUtility.h:201
#define UE_THRESH_POINTS_ARE_NEAR
Definition UnrealMathUtility.h:202
Definition MeshBuild.h:14
float ThresholdTangentNormal
Definition MeshBuild.h:27
FOverlappingThresholds()
Definition MeshBuild.h:16
float ThresholdUV
Definition MeshBuild.h:30
float ThresholdPosition
Definition MeshBuild.h:24
float MorphThresholdPosition
Definition MeshBuild.h:33