UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
GraphColoring.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "Chaos/Array.h"
6#include "Chaos/Core.h"
7#include "Chaos/Vector.h"
8#include "Chaos/UniformGrid.h"
10
11namespace Chaos
12{
13
15{
17
18 public:
19
20 template<typename DynamicParticlesType, int32 N, bool bAllDynamic = false>
22
23 template<typename T, int32 N>
28 template<typename T, int32 N>
33
34 template<typename DynamicParticlesType>
39 template<typename T>
44 template<typename T>
49};
50
51template<typename T>
52UE_DEPRECATED(5.6, "Use UniquePtr version instead.")
53void ComputeGridBasedGraphSubColoringPointer(const TArray<TArray<int32>>& ElementsPerColor, const TMPMGrid<T>& Grid, const int32 GridSize, TArray<TArray<int32>>*& PreviousColoring, const TArray<TArray<int32>>& ConstraintsNodesSet, TArray<TArray<TArray<int32>>>& ElementsPerSubColors)
54{
56 ComputeGridBasedGraphSubColoringPointer(ElementsPerColor, Grid, GridSize, PreviousColoringUniquePtr, ConstraintsNodesSet, ElementsPerSubColors);
57 PreviousColoring = PreviousColoringUniquePtr.Release();
58}
59
60template<typename T>
61CHAOS_API void ComputeGridBasedGraphSubColoringPointer(const TArray<TArray<int32>>& ElementsPerColor, const TMPMGrid<T>& Grid, const int32 GridSize, TUniquePtr<TArray<TArray<int32>>>& PreviousColoring, const TArray<TArray<int32>>& ConstraintsNodesSet, TArray<TArray<TArray<int32>>>& ElementsPerSubColors);
62
63template<typename T>
65
66template<typename T>
68
69template<typename T, typename ParticleType>
71
72template<typename T>
74
75template<typename T>
77
78
79}
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
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 GraphColoring.h:15
static TArray< TArray< int32 > > ComputeGraphColoringAllDynamic(const TArray< TVec4< int32 > > &Graph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd)
Definition GraphColoring.h:40
static TArray< TArray< int32 > > ComputeGraphColoringAllDynamic(const TArray< TVec4< int32 > > &Graph, const Chaos::TDynamicParticles< T, 3 > &InParticles)
Definition GraphColoring.h:45
static CHAOS_API TArray< TArray< int32 > > ComputeGraphColoringParticlesOrRange(const TArray< TVector< int32, N > > &Graph, const DynamicParticlesType &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd)
static TArray< TArray< int32 > > ComputeGraphColoring(const TArray< TVector< int32, N > > &Graph, const TDynamicParticles< T, 3 > &InParticles)
Definition GraphColoring.h:29
static TArray< TArray< int32 > > ComputeGraphColoringAllDynamicParticlesOrRange(const TArray< TVec4< int32 > > &Graph, const DynamicParticlesType &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd)
Definition GraphColoring.h:35
static TArray< TArray< int32 > > ComputeGraphColoring(const TArray< TVector< int32, N > > &Graph, const TDynamicParticles< T, 3 > &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd)
Definition GraphColoring.h:24
Definition DynamicParticles.h:11
Definition UniformGrid.h:315
Definition PBDActiveView.h:47
Definition Vector.h:41
Definition Array.h:670
Definition UniquePtr.h:107
Definition SkeletalMeshComponent.h:307
CHAOS_API TArray< TArray< int32 > > ComputeNodalColoring(const TArray< TVec4< int32 > > &Graph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const int32 GraphParticlesStart, const int32 GraphParticlesEnd, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &IncidentElementsLocalIndex)
CHAOS_API void ComputeWeakConstraintsColoring(const TArray< TArray< int32 > > &Indices, const TArray< TArray< int32 > > &SecondIndices, const Chaos::TDynamicParticles< T, 3 > &InParticles, TArray< TArray< int32 > > &ConstraintsPerColor)
void ComputeGridBasedGraphSubColoringPointer(const TArray< TArray< int32 > > &ElementsPerColor, const TMPMGrid< T > &Grid, const int32 GridSize, TArray< TArray< int32 > > *&PreviousColoring, const TArray< TArray< int32 > > &ConstraintsNodesSet, TArray< TArray< TArray< int32 > > > &ElementsPerSubColors)
Definition GraphColoring.h:53
CHAOS_API void ComputeExtraNodalColoring(const TArray< TArray< int32 > > &Graph, const TArray< TArray< int32 > > &ExtraGraph, const Chaos::TDynamicParticles< T, 3 > &InParticles, const TArray< TArray< int32 > > &IncidentElements, const TArray< TArray< int32 > > &ExtraIncidentElements, TArray< int32 > &ParticleColors, TArray< TArray< int32 > > &ParticlesPerColor)