7#include "Containers/Array.h"
8#include "Containers/Map.h"
14#include "Templates/Invoke.h"
127 template <
typename PredicateType,
typename IntContainerType>
144 template <
typename PredicateType,
typename IntContainerType>
151 if (Invoke(Predicate, Points[i].Position))
174 template <
typename PredicateType,
typename IntContainerType>
178 for (
const FCurve& Curve : Curves)
180 if (
Invoke(Predicate, Curve.Geometry))
191 template <
typename PredicateType,
typename IntContainerType>
198 if (Invoke(Predicate, Curves[i].Geometry))
204 for (
int32 i = 0; i < Curves.Num(); ++i)
void ParallelFor(int32 Num, TFunctionRef< void(int32)> Body, bool bForceSingleThread, bool bPumpRenderingThread=false)
Definition ParallelFor.h:481
AUTORTFM_INFER UE_FORCEINLINE_HINT constexpr auto Invoke(FuncType &&Func, ArgTypes &&... Args) -> decltype(((FuncType &&) Func)((ArgTypes &&) Args...))
Definition Invoke.h:44
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void SetNumZeroed(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2340
Definition AndroidPlatformMisc.h:14
Definition UnrealString.h.inl:34
Definition GeometrySet3.h:28
GEOMETRYCORE_API bool CollectCurvesNearRay(const FRay3d &Ray, TArray< FNearest > &ResultsOut, TFunction< bool(const FVector3d &, const FVector3d &)> PointWithinToleranceTest) const
Definition GeometrySet3.cpp:260
GEOMETRYCORE_API bool CollectPointsNearRay(const FRay3d &Ray, TArray< FNearest > &ResultsOut, TFunction< bool(const FVector3d &, const FVector3d &)> PointWithinToleranceTest) const
Definition GeometrySet3.cpp:135
bool FindAllCurvesSatisfying(PredicateType Predicate, IntContainerType &CurveIDsOut) const
Definition GeometrySet3.h:175
TMap< int, int > PointIDToIndex
Definition GeometrySet3.h:222
TArray< FCurve > Curves
Definition GeometrySet3.h:231
TMap< int, int > CurveIDToIndex
Definition GeometrySet3.h:232
GEOMETRYCORE_API void AddPoint(int PointID, const FVector3d &Position)
Definition GeometrySet3.cpp:23
bool ParallelFindAllPointsSatisfying(PredicateType Predicate, IntContainerType &PointIDsOut) const
Definition GeometrySet3.h:145
GEOMETRYCORE_API bool FindNearestPointToRay(const FRay3d &Ray, FNearest &ResultOut, TFunction< bool(const FVector3d &, const FVector3d &)> PointWithinToleranceTest) const
Definition GeometrySet3.cpp:95
GEOMETRYCORE_API void RemovePoint(int PointID)
Definition GeometrySet3.cpp:42
GEOMETRYCORE_API void UpdatePoint(int PointID, const FVector3d &Position)
Definition GeometrySet3.cpp:78
TArray< FPoint > Points
Definition GeometrySet3.h:221
GEOMETRYCORE_API void RemoveCurve(int CurveID)
Definition GeometrySet3.cpp:60
GEOMETRYCORE_API void AddCurve(int CurveID, const FPolyline3d &Polyline)
Definition GeometrySet3.cpp:31
GEOMETRYCORE_API void UpdateCurve(int CurveID, const FPolyline3d &Polyline)
Definition GeometrySet3.cpp:85
bool FindAllPointsSatisfying(PredicateType Predicate, IntContainerType &PointIDsOut) const
Definition GeometrySet3.h:128
GEOMETRYCORE_API bool FindNearestCurveToRay(const FRay3d &Ray, FNearest &ResultOut, TFunction< bool(const FVector3d &, const FVector3d &)> PointWithinToleranceTest) const
Definition GeometrySet3.cpp:181
bool ParallelFindAllCurvesSatisfying(PredicateType Predicate, IntContainerType &CurveIDsOut) const
Definition GeometrySet3.h:192
Definition AdvancedWidgetsModule.cpp:13
Definition GeometrySet3.h:225
int ID
Definition GeometrySet3.h:226
FPolyline3d Geometry
Definition GeometrySet3.h:227
FAxisAlignedBox3d Bounds
Definition GeometrySet3.h:229
Definition GeometrySet3.h:55
bool bIsPoint
Definition GeometrySet3.h:59
FVector3d NearestRayPoint
Definition GeometrySet3.h:62
int PolySegmentIdx
Definition GeometrySet3.h:70
int ID
Definition GeometrySet3.h:57
FVector3d NearestGeoPoint
Definition GeometrySet3.h:64
double PolySegmentParam
Definition GeometrySet3.h:72
double RayParam
Definition GeometrySet3.h:67
Definition GeometrySet3.h:217
int ID
Definition GeometrySet3.h:218
FVector3d Position
Definition GeometrySet3.h:219