| 339 | } |
| 340 | |
| 341 | FORCEINLINE static FBox ConeBox(const FVector& Center, const FVector& ConeDirection, const double Size) |
| 342 | { |
| 343 | const FVector Dir = ConeDirection.GetSafeNormal(); |
| 344 | const FVector U = FVector::CrossProduct(Dir, Dir + FVector(0.1)).GetSafeNormal(); |
| 345 | const FVector V = FVector::CrossProduct(Dir, Dir + FVector(-0.1)).GetSafeNormal(); |
| 346 | |
| 347 | FBox Box = FBox(Center - FVector(0.0001), Center + FVector(0.0001)); |
| 348 | Box += Center + Dir * Size; |
| 349 | Box += Center + U * Size; |
| 350 | Box += Center + V * Size; |
| 351 | |
| 352 | //UE_LOG(LogPCGEx, Warning, TEXT("Box Min X:%f, Y:%f, Z:%f | Max X:%f, Y:%f, Z:%f"), Box.Min.X, Box.Min.Y, Box.Min.Z, Box.Max.X, Box.Max.Y, Box.Max.Z); |
| 353 | |
| 354 | return Box; |
| 355 | } |
| 356 | |
| 357 | template <typename T> |
| 358 | FORCEINLINE static void GetMinMax(const TArray<T>& Values, T& OutMin, T& OutMax) |
nothing calls this directly
no outgoing calls
no test coverage detected