|
| | FGaussSeidelWeakConstraints (const TArray< TArray< int32 > > &InIndices, const TArray< TArray< T > > &InWeights, const TArray< T > &InStiffness, const TArray< TArray< int32 > > &InSecondIndices, const TArray< TArray< T > > &InSecondWeights, const FDeformableXPBDWeakConstraintParams &InParams) |
| |
| virtual | ~FGaussSeidelWeakConstraints () |
| |
| void | ComputeInitialWCData (const ParticleType &InParticles) |
| |
| TVec3< T > | ComputeSpringEdge (const ParticleType &InParticles, const TArray< int32 > &LocalIndices, const TArray< int32 > &LocalSecondIndices, const TArray< T > &Weight, const TArray< T > &SecondWeight, bool bUseParticleX) const |
| |
| void | AddWCHessian (const int32 p, const T Dt, Chaos::PMatrix< T, 3, 3 > &ParticleHessian) const |
| |
| void | AddExtraConstraints (const TArray< TArray< int32 > > &InIndices, const TArray< TArray< T > > &InWeights, const TArray< T > &InStiffness, const TArray< TArray< int32 > > &InSecondIndices, const TArray< TArray< T > > &InSecondWeights, const TArray< bool > &InIsAnisotrpic, const TArray< bool > &InIsZeroRestLength) |
| |
| void | Resize (int32 Size) |
| |
| void | UpdatePointTriangleCollisionWCData (const FSolverParticles &Particles) |
| |
| void | VisualizeAllBindings (const FSolverParticles &InParticles, const T Dt) const |
| |
| void | Init (const FSolverParticles &InParticles, const T Dt) |
| |
| void | UpdateTriangleNormalAndNodalWeight (const FSolverParticles &InParticles, bool bUseParticleX) |
| |
| void | CollisionDetectionBVH (const FSolverParticles &Particles, const TArray< TVec3< int32 > > &SurfaceElements, const TArray< int32 > &ComponentIndex, float DetectRadius=1.f, float PositionTargetStiffness=10000.f, bool UseAnisotropicSpring=true) |
| |
| template<typename SpatialAccelerator > |
| void | CollisionDetectionSpatialHash (const FSolverParticles &Particles, const TArray< int32 > &SurfaceVertices, const FTriangleMesh &TriangleMesh, const TArray< int32 > &ComponentIndex, const SpatialAccelerator &Spatial, float DetectRadius=1.f, float PositionTargetStiffness=10000.f, bool UseAnisotropicSpring=true) |
| |
| template<typename SpatialAccelerator > |
| void | CollisionDetectionSpatialHashInComponent (const FSolverParticles &Particles, const TArray< int32 > &SurfaceVertices, const FTriangleMesh &TriangleMesh, const TMap< int32, TSet< int32 > > &ExcludeMap, const SpatialAccelerator &Spatial, float DetectRadius=0.f, float PositionTargetStiffness=10000.f, bool UseAnisotropicSpring=true) |
| |
| void | ComputeCollisionWCDataSimplified (TArray< TArray< int32 > > &ExtraConstraints, TArray< TArray< int32 > > &ExtraWCIncidentElements, TArray< TArray< int32 > > &ExtraWCIncidentElementsLocal) |
| |
| const TArray< TArray< int32 > > & | GetStaticConstraintArrays (TArray< TArray< int32 > > &IncidentElements, TArray< TArray< int32 > > &IncidentElementsLocal) const |
| |
| TArray< TArray< int32 > > | GetDynamicConstraintArrays (TArray< TArray< int32 > > &IncidentElements, TArray< TArray< int32 > > &IncidentElementsLocal) const |
| |
| void | AddZeroRestLengthWCResidualAndHessian (const ParticleType &InParticles, const int32 ConstraintIndex, const int32 LocalIndex, const T Dt, TVec3< T > &ParticleResidual, Chaos::PMatrix< T, 3, 3 > &ParticleHessian) const |
| |
| void | AddWCResidual (const ParticleType &InParticles, const int32 ConstraintIndex, const int32 LocalIndex, const T Dt, TVec3< T > &ParticleResidual, Chaos::PMatrix< T, 3, 3 > &ParticleHessian) const |
| |