|
| FAutoConsoleVariableRef | CVarDeformableDebugParamsDrawTetrahedralParticles (TEXT("p.Chaos.DebugDraw.Deformable.TetrahedralParticle"), GDeformableDebugParams.bDoDrawTetrahedralParticles, TEXT("Debug draw the deformable solvers tetrahedron. [def: false]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableDebugParamsDrawKinematicParticles (TEXT("p.Chaos.DebugDraw.Deformable.KinematicParticle"), GDeformableDebugParams.bDoDrawKinematicParticles, TEXT("Debug draw the deformables kinematic particles. [def: false]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableDebugParamsDrawTransientKinematicParticles (TEXT("p.Chaos.DebugDraw.Deformable.TransientKinematicParticle"), GDeformableDebugParams.bDoDrawTransientKinematicParticles, TEXT("Debug draw the deformables transient kinematic particles. [def: false]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableDebugParamsDrawRigidCollisionGeometry (TEXT("p.Chaos.DebugDraw.Deformable.RigidCollisionGeometry"), GDeformableDebugParams.bDoDrawRigidCollisionGeometry, TEXT("Debug draw the deformable solvers rigid collision geometry. [def: false]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableDebugParamsDrawParticleRadius (TEXT("p.Chaos.DebugDraw.Deformable.ParticleRadius"), GDeformableDebugParams.ParticleRadius, TEXT("Drawn kinematic particle radius. [def: 5]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDCorotatedBatchSize (TEXT("p.Chaos.Deformable.XPBDBatchSize"), GDeformableXPBDCorotatedParams.XPBDCorotatedBatchSize, TEXT("Batch size for physics parallel for. [def: 5]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDCorotatedBatchThreshold (TEXT("p.Chaos.Deformable.XPBDBatchThreshold"), GDeformableXPBDCorotatedParams.XPBDCorotatedBatchThreshold, TEXT("Batch threshold for physics parallel for. [def: 5]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDCorotatedBatchNumLogExtremeParticle (TEXT("p.Chaos.Deformable.NumLogExtremeParticle"), GDeformableXPBDCorotatedParams.NumLogExtremeParticle, TEXT("Number of most deformed particles logged. [def: 0]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDWeakConstraintLineWidth (TEXT("p.Chaos.Deformable.XPBDWeakConstraintLineWidth"), GDeformableXPBDWeakConstraintParams.DebugLineWidth, TEXT("Line width for visualizing the double bindings in XPBD weak constraints. [def: 5]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDWeakConstraintParticleWidth (TEXT("p.Chaos.Deformable.XPBDWeakConstraintParticleWidth"), GDeformableXPBDWeakConstraintParams.DebugParticleWidth, TEXT("Line width for visualizing the double bindings in XPBD weak constraints. [def: 20]")) |
| |
| FAutoConsoleVariableRef | CVarDeformableXPBDWeakConstraintDebugDraw (TEXT("p.Chaos.Deformable.XPBDWeakConstraintEnableDraw"), GDeformableXPBDWeakConstraintParams.bVisualizeBindings, TEXT("Debug draw the double bindings in XPBD weak constraints. [def: false]")) |
| |
| template<typename T > |
| T | PsiNeohookeanMM (const Chaos::PMatrix< T, 3, 3 > &F, const T mu, const T lambda) |
| |
| template<typename T > |
| void | PNeohookeanMM (const Chaos::PMatrix< T, 3, 3 > &Fe, const T mu, const T lambda, Chaos::PMatrix< T, 3, 3 > &P) |
| |
| template<typename T > |
| T | PsiCorotated (const Chaos::PMatrix< T, 3, 3 > &F, const T mu, const T lambda) |
| |
| template<typename T > |
| void | PCorotated (const Chaos::PMatrix< T, 3, 3 > &Fe, const T mu, const T lambda, Chaos::PMatrix< T, 3, 3 > &P) |
| |
| FSolverReal | ComputeVectorL2Norm (const TArray< FSolverVec3 > &InVector) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TBVHType< FSolverReal > > (const FSolverParticles &Particles, const FTriangleMesh::TBVHType< FSolverReal > &Spatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TSpatialHashType< FSolverReal > > (const FSolverParticles &Particles, const FTriangleMesh::TSpatialHashType< FSolverReal > &Spatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TBVHType< FSolverReal > > (const FSolverParticlesRange &Particles, const FTriangleMesh::TBVHType< FSolverReal > &Spatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TSpatialHashType< FSolverReal > > (const FSolverParticlesRange &Particles, const FTriangleMesh::TSpatialHashType< FSolverReal > &Spatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TBVHType< FSolverReal > > (const FSolverParticles &Particles, const FSolverReal Dt, const FPBDTriangleMeshCollisions::FTriangleSubMesh &CollidableSubMesh, const FTriangleMesh::TBVHType< FSolverReal > &DynamicSpatial, const FTriangleMesh::TBVHType< FSolverReal > &KinematicColliderSpatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TSpatialHashType< FSolverReal > > (const FSolverParticles &Particles, const FSolverReal Dt, const FPBDTriangleMeshCollisions::FTriangleSubMesh &CollidableSubMesh, const FTriangleMesh::TSpatialHashType< FSolverReal > &DynamicSpatial, const FTriangleMesh::TSpatialHashType< FSolverReal > &KinematicColliderSpatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TBVHType< FSolverReal > > (const FSolverParticlesRange &Particles, const FSolverReal Dt, const FPBDTriangleMeshCollisions::FTriangleSubMesh &CollidableSubMesh, const FTriangleMesh::TBVHType< FSolverReal > &DynamicSpatial, const FTriangleMesh::TBVHType< FSolverReal > &KinematicColliderSpatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| template void CHAOS_API | FPBDCollisionSpringConstraintsBase::Init< FTriangleMesh::TSpatialHashType< FSolverReal > > (const FSolverParticlesRange &Particles, const FSolverReal Dt, const FPBDTriangleMeshCollisions::FTriangleSubMesh &CollidableSubMesh, const FTriangleMesh::TSpatialHashType< FSolverReal > &DynamicSpatial, const FTriangleMesh::TSpatialHashType< FSolverReal > &KinematicColliderSpatial, const TConstArrayView< FPBDTriangleMeshCollisions::FGIAColor > &VertexGIAColors, const TArray< FPBDTriangleMeshCollisions::FGIAColor > &TriangleGIAColors) |
| |
| void | GetPhiWithNormalCollisionParticleRange (const uint8 *CollisionParticlesRange, const FSolverReal *InV, FSolverReal *Normal, FSolverReal *Phi, const int32 i, const int32 ProgramCount, const int32 Mask) |
| |
| void | GetPhiWithNormal (const uint8 *CollisionParticles, const FSolverReal *InV, FSolverReal *Normal, FSolverReal *Phi, const int32 i, const int32 ProgramCount, const int32 Mask) |
| |
| void | ComputeGradTheta (const FSolverVec3 &X0, const FSolverVec3 &X1, const FSolverVec3 &X2, const FSolverVec3 &X3, const int32 Index, FSolverVec3 &dThetadx, FSolverReal &Theta) |
| |
| uint32 | GetTypeHash (const FParticleRangeIndex &Index) |
| |
| | ENUM_CLASS_FLAGS (ESolverMode) |
| |
|
| FDeformableDebugParams | GDeformableDebugParams |
| |
| FDeformableXPBDCorotatedParams | GDeformableXPBDCorotatedParams |
| |
| FDeformableXPBDWeakConstraintParams | GDeformableXPBDWeakConstraintParams |
| |
| int32 | GSParallelMax = 100 |
| |
| FAutoConsoleVariableRef | CVarDeformableGSParrelMax (TEXT("p.Chaos.Deformable.GSParallelMax"), GSParallelMax, TEXT("Minimal number of particles to process in parallel for Gauss Seidel constraints. [def: 100]")) |
| |
| float | MaxDxRatio = 1.f |
| |
| FAutoConsoleVariableRef | CVarDeformableGSMaxDxRatio (TEXT("p.Chaos.Deformable.GSMaxDxRatio"), MaxDxRatio, TEXT("Max size for dx in each iteration for Gauss Seidel constraints. [def: 1]")) |
| |
| int32 | MaxItCG = 50 |
| |
| FAutoConsoleVariableRef | CVarClothMaxItCG (TEXT("p.Chaos.Cloth.MaxItCG"), MaxItCG, TEXT("Max iter for CG [def: 50]")) |
| |
| FSolverReal | CGTol = 1e-4f |
| |
| FAutoConsoleVariableRef | CVarClothCGTol (TEXT("p.Chaos.Cloth.CGTol"), MaxItCG, TEXT("CG Tolerance [def: 1e-4]")) |
| |
| int32 | Chaos_AxialSpring_ParallelConstraintCount = 100 |
| |
| FAutoConsoleVariableRef | CVarChaosAxialSpringParallelConstraintCount (TEXT("p.Chaos.AxialSpring.ParallelConstraintCount"), Chaos_AxialSpring_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| int32 | Chaos_Bending_ParallelConstraintCount = 100 |
| |
| FAutoConsoleVariableRef | CVarChaosBendingParallelConstraintCount (TEXT("p.Chaos.Bending.ParallelConstraintCount"), Chaos_Bending_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| FAutoConsoleVariableRef | CVarChaosPlanarParallelConstraintCount (TEXT("p.Chaos.Planar.ParallelConstraintCount"), Chaos_Planar_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| FAutoConsoleVariableRef | CVarChaosSpringParallelConstraintCount (TEXT("p.Chaos.Spring.ParallelConstraintCount"), Chaos_Spring_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| int32 | Chaos_XPBDBending_ParallelConstraintCount = 100 |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDBendingISPCParallelBatchSize (TEXT("p.Chaos.XPBDBending.ISPC.ParallelBatchSize"), Chaos_XPBDBending_ISPC_ParallelBatchSize, TEXT("Parallel batch size for ISPC XPBDBending constraints")) |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDBendingISPCMinNumParallelBatches (TEXT("p.Chaos.XPBDBending.ISPC.MinNumParallelBatches"), Chaos_XPBDBending_ISPC_MinNumParallelBatches, TEXT("Min number of batches to invoke parallelFor ISPC XPBDBending constraints")) |
| |
| int32 | Chaos_XPBDSpring_ParallelConstraintCount = 100 |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDBendingParallelConstraintCount (TEXT("p.Chaos.XPBDBending.ParallelConstraintCount"), Chaos_XPBDBending_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| bool | bChaos_XPBDBending_SplitLambdaDamping = true |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDBendingSplitLambdaDamping (TEXT("p.Chaos.XPBDBending.SplitLambdaDamping"), bChaos_XPBDBending_SplitLambdaDamping, TEXT("Use the split two-pass damping model (slower but doesn't make cloth too soft at high damping levels).")) |
| |
| int32 | Chaos_XPBDSpring_SplitDampingMode = (int32)EXPBDSplitDampingMode::TwoPassBefore |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDSpringParallelConstraintCount (TEXT("p.Chaos.XPBDSpring.ParallelConstraintCount"), Chaos_XPBDSpring_ParallelConstraintCount, TEXT("If we have more constraints than this, use parallel-for in Apply.")) |
| |
| FAutoConsoleVariableRef | CVarChaosXPBDSpringSplitDamping (TEXT("p.Chaos.XPBDSpring.SplitDamping"), Chaos_XPBDSpring_SplitDampingMode, TEXT("Test xpbd spring split damping mode. 0 = single lambda, 1 = interleaved with damping after (non-ispc only), 2 interleaved with damping before (non-ispc only), 3 = two passes damping after (non-ispc only), 4 = two passes damping before (default).")) |
| |
| Softs::FSolverReal | StiffnessPaddingRatio = 0.f |
| |
| FAutoConsoleVariableRef | CVarClothStiffnessPaddingRatio (TEXT("p.Chaos.Cloth.StiffnessPaddingRatio"), StiffnessPaddingRatio, TEXT("stiffness padding for gauss seidel [def: 1]")) |
| |