UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::CADKernel::ArrayUtils Namespace Reference

Functions

void InsertInside (TArray< double > &InitialArray, const TArray< double > &ValuesToInsert, double Epsilon)
 
void Complete (TArray< double > &InitialArray, TArray< double > &ValuesToInsert, double Epsilon)
 
void RemoveDuplicates (TArray< double > &ArrayToProcess, double Epsilon)
 
void SubArrayWithoutBoundary (const TArray< double > &InitialArray, const FLinearBoundary &Boundary, double Tolerance, TArray< double > &OutArray)
 
void FindCoordinateIndex (const TArray< double > &InCoordinates, double Coordinate, int32 &OutIndex)
 

Function Documentation

◆ Complete()

void UE::CADKernel::ArrayUtils::Complete ( TArray< double > &  InitialArray,
TArray< double > &  ValuesToInsert,
double  Epsilon 
)
inline

Merge two array of sorted values and keep the resulting array sorted. The value to insert is inserted if and only if it is not nearly equal to an existent value except for the first and last value of ValuesToInsert if they are outside initial array boundary

◆ FindCoordinateIndex()

void UE::CADKernel::ArrayUtils::FindCoordinateIndex ( const TArray< double > &  InCoordinates,
double  Coordinate,
int32 OutIndex 
)
inline

Find the index of the segment containing the coordinate i.e. Coordinate is in [InCoordinates[OutIndex], InCoordinates[OutIndex+1]] This method is very fast if initial value of Index is near the solution. This is very useful to process linked set of coordinate like loop point coordinates.

◆ InsertInside()

void UE::CADKernel::ArrayUtils::InsertInside ( TArray< double > &  InitialArray,
const TArray< double > &  ValuesToInsert,
double  Epsilon 
)
inline

Merge two array of sorted values and keep the resulting array sorted. The value to insert is inserted if and only if it is not nearly equal to an existent value and if it is inside the boundary of the InitialArray ([InitialArray[0], InitialArray.Last()]) The values of the existing array are always kept.

◆ RemoveDuplicates()

void UE::CADKernel::ArrayUtils::RemoveDuplicates ( TArray< double > &  ArrayToProcess,
double  Epsilon 
)
inline

◆ SubArrayWithoutBoundary()

void UE::CADKernel::ArrayUtils::SubArrayWithoutBoundary ( const TArray< double > &  InitialArray,
const FLinearBoundary Boundary,
double  Tolerance,
TArray< double > &  OutArray 
)
inline