void SetupNonUniformHelper(FVector& Scale3D, float& MinScale, float& MinScaleAbs, FVector& Scale3DAbs) { // if almost zero, set min scale // @todo fixme if (Scale3D.IsNearlyZero()) { // set min scale Scale3D = FVector(0.1f); } Scale3DAbs = Scale3D.GetAbs(); MinScaleAbs = Scale3DAbs.GetMin(); MinScale = FMath::Max3(Scale3D.X, Scale3D.Y, Scale3D.Z) < 0.f ? -MinScaleAbs : MinScaleAbs; //if all three values are negative make minScale negative if (FMath::IsNearlyZero(MinScale)) { // only one of them can be 0, we make sure they have mini set up correctly MinScale = 0.1f; MinScaleAbs = 0.1f; } }
float UKismetMathLibrary::GetMinElement(FVector A) { return A.GetMin(); }