21template<
typename ElemType>
89 if (NewValue <
Buffer[Idx])
98 if (NewValue >
Buffer[Idx])
199 FPlatformAtomics::InterlockedIncrement(&
Grid.At(i, j));
204 FPlatformAtomics::InterlockedDecrement(&
Grid.At(i, j));
211 FPlatformAtomics::InterlockedDecrement(&
Grid.At(i, j));
215 FPlatformAtomics::InterlockedIncrement(&
Grid.At(i, j));
EAllowShrinking
Definition AllowShrinking.h:10
#define UE_ALLOWSHRINKING_BOOL_DEPRECATED(FunctionName)
Definition AllowShrinking.h:31
#define checkSlow(expr)
Definition AssertionMacros.h:332
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition AssetRegistryState.h:50
Definition DenseGrid2.h:23
TDenseGrid2(int32 DimX, int32 DimY, ElemType InitialValue)
Definition DenseGrid2.h:39
void SetMax(const FVector2i &IJK, ElemType NewValue)
Definition DenseGrid2.h:95
const TArray64< ElemType > & GridValues() const
Definition DenseGrid2.h:142
void AssignAll(ElemType Value)
Definition DenseGrid2.h:78
constexpr const ElemType & At(int64 X, int64 Y) const
Definition DenseGrid2.h:133
int64 GetIndex(int32 X, int32 Y) const
Definition DenseGrid2.h:177
constexpr const ElemType & operator[](FVector2i Idx) const
Definition DenseGrid2.h:117
constexpr ElemType & operator[](int64 Idx)
Definition DenseGrid2.h:104
int64 Height() const
Definition DenseGrid2.h:56
TArray64< ElemType > & GridValues()
Definition DenseGrid2.h:138
TDenseGrid2()
Definition DenseGrid2.h:35
FAxisAlignedBox2i Bounds() const
Definition DenseGrid2.h:163
int64 DimensionY
Definition DenseGrid2.h:29
constexpr const ElemType & operator[](int64 Idx) const
Definition DenseGrid2.h:108
void Apply(TFunctionRef< ElemType(ElemType)> ApplyFunc)
Definition DenseGrid2.h:155
int64 DimensionX
Definition DenseGrid2.h:29
constexpr const ElemType & At(int32 X, int32 Y) const
Definition DenseGrid2.h:125
FAxisAlignedBox2i BoundsInclusive() const
Definition DenseGrid2.h:167
constexpr ElemType & At(int32 X, int32 Y)
Definition DenseGrid2.h:121
void SetMin(const FVector2i &IJK, ElemType NewValue)
Definition DenseGrid2.h:86
int64 Width() const
Definition DenseGrid2.h:51
TArray64< ElemType > Buffer
Definition DenseGrid2.h:26
FVector2i GetCoords(int64 LinearIndex) const
Definition DenseGrid2.h:172
constexpr ElemType & operator[](FVector2i Idx)
Definition DenseGrid2.h:113
void GetXPair(int32 X0, int32 Y, ElemType &AOut, ElemType &BOut) const
Definition DenseGrid2.h:148
FVector2i GetDimensions() const
Definition DenseGrid2.h:61
int64 Size() const
Definition DenseGrid2.h:46
void Resize(int32 DimX, int32 DimY, EAllowShrinking AllowShrinking=EAllowShrinking::Default)
Definition DenseGrid2.h:66
int64 GetIndex(const FVector2i &IJK) const
Definition DenseGrid2.h:181
constexpr ElemType & At(int64 X, int64 Y)
Definition DenseGrid2.h:129
void AtomicDecrement(FDenseGrid2i &Grid, int32 i, int32 j)
Definition DenseGrid2.h:202
void AtomicIncrement(FDenseGrid2i &Grid, int32 i, int32 j)
Definition DenseGrid2.h:197
void AtomicIncDec(FDenseGrid2i &Grid, int32 i, int32 j, bool bDecrement=false)
Definition DenseGrid2.h:207
TDenseGrid2< double > FDenseGrid2d
Definition DenseGrid2.h:189
TDenseGrid2< float > FDenseGrid2f
Definition DenseGrid2.h:188
TDenseGrid2< int32 > FDenseGrid2i
Definition DenseGrid2.h:190
Definition AdvancedWidgetsModule.cpp:13
Definition IntBoxTypes.h:75
Definition IntVectorTypes.h:20
int32 X
Definition IntVectorTypes.h:25
int32 Y
Definition IntVectorTypes.h:25