Merge pull request #1252 from erwincoumans/master

fix pybullet GUI performance issue on Mac OSX, fix potential memory leak in loadSDF when visuals have the same name.
This commit is contained in:
erwincoumans 2017-08-11 18:11:53 -07:00 committed by GitHub
commit dfaa717fed
4 changed files with 29 additions and 6 deletions

View File

@ -569,6 +569,15 @@ bool UrdfParser::parseVisual(UrdfModel& model, UrdfVisual& visual, TiXmlElement*
matPtr->m_name = "mat";
if (name_char)
matPtr->m_name = name_char;
UrdfMaterial** oldMatPtrPtr = model.m_materials[matPtr->m_name.c_str()];
if (oldMatPtrPtr)
{
UrdfMaterial* oldMatPtr = *oldMatPtrPtr;
model.m_materials.remove(matPtr->m_name.c_str());
if (oldMatPtr)
delete oldMatPtr;
}
model.m_materials.insert(matPtr->m_name.c_str(),matPtr);
{
TiXmlElement *diffuse = mat->FirstChildElement("diffuse");

View File

@ -53,13 +53,13 @@ public:
}
}
{
//unsigned long int ms = m_clock.getTimeMilliseconds();
//if (ms>2)
unsigned long int ms = m_clock.getTimeMilliseconds();
if (ms>2)
{
// B3_PROFILE("m_clock.reset()");
B3_PROFILE("m_clock.reset()");
// m_clock.reset();
btUpdateInProcessExampleBrowserMainThread(m_data);
btUpdateInProcessExampleBrowserMainThread(m_data);
m_clock.reset();
}
}
{

View File

@ -1277,8 +1277,21 @@ void btConvexHullInternal::computeInternal(int start, int end, IntermediateHull&
return;
}
{
Vertex* v = originalVertices[start];
v->edges = NULL;
v->next = v;
v->prev = v;
result.minXy = v;
result.maxXy = v;
result.minYx = v;
result.maxYx = v;
}
return;
}
// lint -fallthrough
case 1:
{
Vertex* v = originalVertices[start];

View File

@ -98,6 +98,7 @@ SIMD_FORCE_INLINE bool btMutexTryLock( btSpinMutex* mutex )
class btIParallelForBody
{
public:
virtual ~btIParallelForBody() {}
virtual void forLoop( int iBegin, int iEnd ) const = 0;
};