UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
BlockSparseLinearSystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3#include "Chaos/Core.h"
5
6namespace Chaos {
7
8// Note: currently only explicitly instantiated for 3x3 blocks
9template<typename T, int32 BlockSize>
11{
12public:
19
20 // Square system so NumRows == NumCols
21 void Reset(int32 NumRows);
23
25
26 // Call after all Matrix Entries have been added
27 void FinalizeSystem();
28
30 const int32 MaxNumCGIterations, const T CGResidualTolerance, bool bCheckResidual,
31 int32* OptionalOutIterations = nullptr, T* OptionalOutError = nullptr) const;
32
33private:
34
35 // Putting everything in here to avoid exposing Eigen
36 struct FPimpl;
38};
39
40} // namespace Chaos
41
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition Matrix.h:21
Definition BlockSparseLinearSystem.h:11
TBlockSparseSymmetricLinearSystem(const TBlockSparseSymmetricLinearSystem &)=delete
bool Solve(const TConstArrayView< TVector< T, BlockSize > > &RHS, const TArrayView< TVector< T, BlockSize > > &Result, const int32 MaxNumCGIterations, const T CGResidualTolerance, bool bCheckResidual, int32 *OptionalOutIterations=nullptr, T *OptionalOutError=nullptr) const
Definition BlockSparseLinearSystem.cpp:183
void ReserveForParallelAdd(int32 NumDiagEntries, int32 NumOffDiagEntries)
Definition BlockSparseLinearSystem.cpp:165
TBlockSparseSymmetricLinearSystem & operator=(TBlockSparseSymmetricLinearSystem &)=delete
void AddMatrixEntry(int32 Index0, int32 Index1, const Chaos::PMatrix< T, BlockSize, BlockSize > &AEntry)
Definition BlockSparseLinearSystem.cpp:171
void FinalizeSystem()
Definition BlockSparseLinearSystem.cpp:177
CHAOS_API TBlockSparseSymmetricLinearSystem()
Definition BlockSparseLinearSystem.cpp:144
Definition Vector.h:41
Definition ArrayView.h:139
Definition SkeletalMeshComponent.h:307
Definition BlockSparseLinearSystem.cpp:42
Definition PimplPtr.h:50