report constraint solver analytics data, currently for each island the number of solver iterations used and remaining residual error.

This commit is contained in:
erwincoumans
2019-04-11 22:19:02 -07:00
parent 3146f6276b
commit 5ff52e47d9
11 changed files with 144 additions and 9 deletions

View File

@@ -931,6 +931,7 @@ struct b3PhysicsSimulationParameters
int m_minimumSolverIslandSize;
};
enum eConstraintSolverTypes
{
eConstraintSolverLCP_SI = 1,
@@ -941,6 +942,25 @@ enum eConstraintSolverTypes
eConstraintSolverLCP_BLOCK_PGS,
};
struct b3ForwardDynamicsAnalyticsIslandData
{
int m_islandId;
int m_numBodies;
int m_numContactManifolds;
int m_numIterationsUsed;
double m_remainingLeastSquaresResidual;
};
#define MAX_ISLANDS_ANALYTICS 1024
struct b3ForwardDynamicsAnalyticsArgs
{
int m_numSteps;
int m_numIslands;
int m_numSolverCalls;
struct b3ForwardDynamicsAnalyticsIslandData m_islandData[MAX_ISLANDS_ANALYTICS];
};
enum eFileIOActions
{
eAddFileIOAction = 1024,//avoid collision with eFileIOTypes