contact cluster return number of iterations

This commit is contained in:
Irlan 2018-04-20 03:08:21 -03:00
parent ffed35d10a
commit 231b9c29d0
2 changed files with 13 additions and 1 deletions

View File

@ -69,6 +69,9 @@ public:
//
void AddObservation(const b3Observation& observation);
//
u32 GetIterations() const;
//
const b3Array<b3Observation>& GetObservations() const;
@ -92,6 +95,8 @@ private:
//
u32 BestCluster(const b3Vec3& point) const;
u32 m_iterations;
b3StackArray<b3Observation, 32> m_observations;
b3StackArray<b3Cluster, 32> m_clusters;
};
@ -101,6 +106,11 @@ inline void b3ClusterSolver::AddObservation(const b3Observation& observation)
m_observations.PushBack(observation);
}
inline u32 b3ClusterSolver::GetIterations() const
{
return m_iterations;
}
inline const b3Array<b3Observation>& b3ClusterSolver::GetObservations() const
{
return m_observations;

View File

@ -201,7 +201,7 @@ void b3ReducePolygon(b3ClusterPolygon& pOut,
b3ClusterSolver::b3ClusterSolver()
{
m_iterations = 0;
}
b3ClusterSolver::~b3ClusterSolver()
@ -443,6 +443,8 @@ void b3ClusterSolver::Solve()
++iter;
}
m_iterations = iter;
// Remove empty clusters
b3StackArray<b3Cluster, 32> usedClusters;