28 UFUNCTION(BlueprintCallable)
29 static UStaticMesh* CreateMesh(
31 const TArray<FProcMeshTangent>& ParamTangents,
32 UMaterialInstance* MaterialInstance,
37 static FMeshDescription BuildMeshDescriptionFromData(
39 const TArray<FProcMeshTangent>& ParamTangents,
40 UMaterialInstance* MaterialInstance );
42 UFUNCTION(BlueprintCallable)
43 static FVector2D GetTransversemercProjection(
float lat,
float lon,
float lat0,
float lon0);
45 UFUNCTION(BlueprintCallable)
46 static void SetThreadToSleep(
float seconds);
48 UFUNCTION(BlueprintCallable)
49 static void FlushRenderingCommandsInBlueprint();
51 UFUNCTION(BlueprintCallable)
52 static void CleanupGEngine();
56 UFUNCTION(BlueprintCallable)
57 static TArray<class AInstancedStaticMeshActor*> ChangeStaticMeshesInTheLevelForInstancedStaticMeshes(UWorld* World, TArray<UStaticMesh*> Filter,
int MinNumOfInstancesToBeChanged = 20);
60 UFUNCTION(BlueprintCallable)
61 static TArray<AStaticMeshActor*> RevertStaticMeshesInTheLevelForInstancedStaticMeshes(UWorld* World, TArray<UStaticMesh*> Filter);
65 UFUNCTION(BlueprintCallable)
66 static UInstancedStaticMeshComponent* AddInstancedStaticMeshComponentToActor(
AActor* TargetActor);
68 UFUNCTION(BlueprintCallable)
69 static UStaticMeshComponent* AddStaticMeshComponentToActor(
AActor* TargetActor);
72 UFUNCTION(BlueprintCallable)
73 static FVector2D InverseTransverseMercatorProjection(
float x,
float y,
float lat0,
float lon0);
75 UFUNCTION(BlueprintCallable)
76 static USceneComponent* AddSceneComponentToActor(
AActor* TargetActor);
78 UFUNCTION(BlueprintCallable)
79 static void SmoothVerticesDeep(
80 TArray<FVector>& Vertices,
81 const TArray<int32>& Indices,
83 int NumIterations = 1,
84 float SmoothingFactor = 1.0f
87 static uint16
GetPixelG16(
const TArrayView64<const uint16>& Pixels,
int Width,
int Height,
int X,
int Y)
89 X = FMath::Clamp(X, 0, Width - 1);
90 Y = FMath::Clamp(Y, 0, Height - 1);
91 return Pixels[Y * Width + X];
94 static float CubicHermite(
float A,
float B,
float C,
float D,
float T)
96 float a = -0.5f*A + 1.5f*B - 1.5f*C + 0.5f*D;
97 float b = A - 2.5f*B + 2.0f*C - 0.5f*D;
98 float c = -0.5f*A + 0.5f*C;
100 return ((a * T + b) * T + c) * T + d;
103 static float BicubicSampleG16(
const TArrayView64<const uint16>& Pixels,
int Width,
int Height,
float X,
float Y);