UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AABBVectorized.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Chaos/AABB.h"
5#include "Chaos/Core.h"
6#include "ChaosArchive.h"
9
10
11namespace Chaos
12{
13
14 class alignas(16) FAABBVectorized
15 {
16 public:
17
23
29 template<typename T>
31 {
34 Min = MinSmid;
35 Max = MaxSmid;
36 }
37
38 FORCEINLINE_DEBUGGABLE const VectorRegister4Float& GetMin() const { return Min; }
39 FORCEINLINE_DEBUGGABLE const VectorRegister4Float& GetMax() const { return Max; }
40
43
45 {
49
51 {
52 return false; //parallel and outside
53 }
54
55 const VectorRegister4Float StartToMin = VectorSubtract(Min, StartPoint);
56 const VectorRegister4Float StartToMax = VectorSubtract(Max, StartPoint);
59
62
63 const VectorRegister4Float SortedTime1 = VectorMin(Time1, Time2);
64 const VectorRegister4Float SortedTime2 = VectorMax(Time1, Time2);
65
69
73
74 //Outside of slab before entering another
76
77 return VectorMaskBits(IsFalse) == 0;
78 }
79
81 {
83
84 return !static_cast<bool>(VectorMaskBits(IsFalse));
85 }
86
88 {
89 Min = VectorSubtract(Min, Thickness);
90 Max = VectorAdd(Max, Thickness);
91 return *this;
92 }
93
94 private:
97 };
98}
#define FORCEINLINE_DEBUGGABLE
Definition CoreMiscDefines.h:74
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
FORCEINLINE VectorRegister4Float VectorSubtract(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:731
FORCEINLINE VectorRegister4Float VectorMin(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1686
FORCEINLINE VectorRegister4Float VectorMultiply(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:758
FORCEINLINE VectorRegister4Float VectorMax(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1713
FORCEINLINE VectorRegister4Float VectorBitwiseAnd(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1165
FORCEINLINE VectorRegister4Float VectorSelect(const VectorRegister4Float &Mask, const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1105
FORCEINLINE VectorRegister4Float VectorCompareGT(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:974
FORCEINLINE VectorRegister4Double MakeVectorRegisterDouble(uint64 X, uint64 Y, uint64 Z, uint64 W)
Definition UnrealMathFPU.h:185
FORCEINLINE int32 VectorMaskBits(const VectorRegister4Float &Vec1)
Definition UnrealMathFPU.h:1075
FORCEINLINE VectorRegister4Float VectorNegate(const VectorRegister4Float &Vec)
Definition UnrealMathFPU.h:687
FORCEINLINE VectorRegister4Float VectorAdd(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:704
#define VectorSwizzle(Vec, X, Y, Z, W)
Definition UnrealMathFPU.h:639
FORCEINLINE VectorRegister4Float VectorBitwiseOr(const VectorRegister4Float &Vec1, const VectorRegister4Float &Vec2)
Definition UnrealMathFPU.h:1140
FORCEINLINE VectorRegister4Float MakeVectorRegisterFloatFromDouble(const VectorRegister4Double &Vec4d)
Definition UnrealMathFPU.h:262
FORCEINLINE VectorRegister4Float VectorZero(void)
Definition UnrealMathVectorCommon.h.inl:16
FORCEINLINE VectorRegister4Float VectorBitwiseNotAnd(const VectorRegister4Float &A, const VectorRegister4Float &B)
Definition VectorUtility.h:289
Definition AABBVectorized.h:15
FORCEINLINE_DEBUGGABLE FAABBVectorized()
Definition AABBVectorized.h:18
FORCEINLINE_DEBUGGABLE void SetMin(const VectorRegister4Float &InMin)
Definition AABBVectorized.h:41
FORCEINLINE_DEBUGGABLE FAABBVectorized(const VectorRegister4Float &InMin, const VectorRegister4Float &InMax)
Definition AABBVectorized.h:24
FORCEINLINE_DEBUGGABLE FAABBVectorized(const TAABB< T, 3 > &AABB)
Definition AABBVectorized.h:30
FORCEINLINE_DEBUGGABLE bool Intersects(const FAABBVectorized &Other) const
Definition AABBVectorized.h:80
FORCEINLINE_DEBUGGABLE const VectorRegister4Float & GetMin() const
Definition AABBVectorized.h:38
FORCEINLINE_DEBUGGABLE void SetMax(const VectorRegister4Float &InMax)
Definition AABBVectorized.h:42
FORCEINLINE_DEBUGGABLE bool RaycastFast(const VectorRegister4Float &StartPoint, const VectorRegister4Float &InvDir, const VectorRegister4Float &Parallel, const VectorRegister4Float &Length) const
Definition AABBVectorized.h:44
FORCEINLINE_DEBUGGABLE const VectorRegister4Float & GetMax() const
Definition AABBVectorized.h:39
FORCEINLINE_DEBUGGABLE FAABBVectorized & Thicken(const VectorRegister4Float &Thickness)
Definition AABBVectorized.h:87
Definition AABB.h:37
FORCEINLINE const TVector< T, d > & Max() const
Definition AABB.h:596
FORCEINLINE const TVector< T, d > & Min() const
Definition AABB.h:595
Definition SkeletalMeshComponent.h:307
constexpr VectorRegister4Float BigNumber
Definition UnrealMathVectorConstants.h.inl:55
Definition UnrealMathFPU.h:20