7#include "Containers/Array.h"
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition AssetRegistryState.h:50
Definition DynamicMesh3.h:108
Definition MeshNormals.h:26
static GEOMETRYCORE_API bool QuickRecomputeOverlayNormals(FDynamicMesh3 &Mesh, bool bInvert=false, bool bWeightByArea=true, bool bWeightByAngle=true, bool bParallelCompute=true)
Definition MeshNormals.cpp:417
static GEOMETRYCORE_API void InitializeOverlayToPerTriangleNormals(FDynamicMeshNormalOverlay *NormalOverlay)
Definition MeshNormals.cpp:626
GEOMETRYCORE_API void CopyToOverlay(FDynamicMeshNormalOverlay *NormalOverlay, bool bInvert=false) const
Definition MeshNormals.cpp:49
static GEOMETRYCORE_API void SmoothVertexNormals(FDynamicMesh3 &Mesh, int32 SmoothingRounds, double SmoothingAlpha)
Definition MeshNormals.cpp:334
static GEOMETRYCORE_API void InitializeOverlayTopologyFromOpeningAngle(const FDynamicMesh3 *Mesh, FDynamicMeshNormalOverlay *NormalOverlay, double AngleThresholdDeg)
Definition MeshNormals.cpp:643
void RecomputeOverlayNormals(const FDynamicMeshNormalOverlay *NormalOverlay, bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.h:93
const FVector3d & operator[](int i) const
Definition MeshNormals.h:53
GEOMETRYCORE_API void SetCount(int Count, bool bClearToZero)
Definition MeshNormals.cpp:15
void SetMesh(const FDynamicMesh3 *MeshIn)
Definition MeshNormals.h:45
GEOMETRYCORE_API void CopyToVertexNormals(FDynamicMesh3 *SetMesh, bool bInvert=false) const
Definition MeshNormals.cpp:29
static GEOMETRYCORE_API FVector3d ComputeOverlayNormal(const FDynamicMesh3 &Mesh, const FDynamicMeshNormalOverlay *NormalOverlay, int ElemIdx, bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.cpp:570
static GEOMETRYCORE_API void InitializeOverlayToPerVertexNormals(FDynamicMeshNormalOverlay *NormalOverlay, bool bUseMeshVertexNormalsIfAvailable=true)
Definition MeshNormals.cpp:593
static GEOMETRYCORE_API bool RecomputeOverlayElementNormals(FDynamicMesh3 &Mesh, const TArray< int32 > &ElementIDs, bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.cpp:512
GEOMETRYCORE_API void Compute_FaceAvg(bool bWeightByArea, bool bWeightByAngle)
Definition MeshNormals.cpp:81
const FDynamicMesh3 * Mesh
Definition MeshNormals.h:29
GEOMETRYCORE_API void Compute_Overlay_FaceAvg_AreaWeighted(const FDynamicMeshNormalOverlay *NormalOverlay)
Definition MeshNormals.cpp:299
static GEOMETRYCORE_API void InitializeOverlayTopologyFromFaceGroups(const FDynamicMesh3 *Mesh, FDynamicMeshNormalOverlay *NormalOverlay)
Definition MeshNormals.cpp:656
GEOMETRYCORE_API void SetDegenerateTriangleNormalsToNeighborNormal()
Definition MeshNormals.cpp:123
static GEOMETRYCORE_API void QuickComputeVertexNormalsForTriangles(FDynamicMesh3 &Mesh, const TArray< int32 > &Triangles, bool bWeightByArea=true, bool bWeightByAngle=true, bool bInvert=false)
Definition MeshNormals.cpp:375
static GEOMETRYCORE_API void QuickComputeVertexNormals(FDynamicMesh3 &Mesh, bool bInvert=false)
Definition MeshNormals.cpp:326
void ComputeVertexNormals(bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.h:64
void ComputeTriangleNormals()
Definition MeshNormals.h:72
GEOMETRYCORE_API void Compute_Overlay_FaceAvg(const FDynamicMeshNormalOverlay *NormalOverlay, bool bWeightByArea, bool bWeightByAngle)
Definition MeshNormals.cpp:260
static GEOMETRYCORE_API void InitializeOverlayRegionToPerVertexNormals(FDynamicMeshNormalOverlay *NormalOverlay, const TArray< int32 > &Triangles)
Definition MeshNormals.cpp:677
FMeshNormals()
Definition MeshNormals.h:34
const TArray< FVector3d > & GetNormals() const
Definition MeshNormals.h:50
TArray< FVector3d > Normals
Definition MeshNormals.h:31
FVector3d & operator[](int i)
Definition MeshNormals.h:52
static GEOMETRYCORE_API FVector3d GetVertexWeightsOnTriangle(const FDynamicMesh3 *Mesh, int TriID, double TriArea, bool bWeightByArea, bool bWeightByAngle)
Definition MeshNormals.cpp:713
GEOMETRYCORE_API void Compute_Triangle()
Definition MeshNormals.cpp:110
static GEOMETRYCORE_API void InitializeMeshToPerTriangleNormals(FDynamicMesh3 *Mesh)
Definition MeshNormals.cpp:665
FMeshNormals(const FDynamicMesh3 *Mesh)
Definition MeshNormals.h:39
static GEOMETRYCORE_API bool RecomputeOverlayTriNormals(FDynamicMesh3 &Mesh, const TArray< int32 > &Triangles, bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.cpp:490
static GEOMETRYCORE_API FVector3d ComputeVertexNormal(const FDynamicMesh3 &Mesh, int VertIdx, bool bWeightByArea=true, bool bWeightByAngle=true)
Definition MeshNormals.cpp:532
GEOMETRYCORE_API void Compute_FaceAvg_AreaWeighted()
Definition MeshNormals.cpp:59
Definition DynamicMeshOverlay.h:714
Definition AdvancedWidgetsModule.cpp:13