Bullet Soft Bodies cannot have their debug drawing disabled

Bug #1282729 reported by Ashley Whetter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Panda3D
Won't Fix
Undecided
Ralf Pfrogner

Bug Description

BulletSoftBodyNode implements BulletBodyNode which has the setDebugEnabled method. Calling .setDebugEnabled(False) on a soft body does not turn off the debug drawing for that object. This doesn't happen to BulletRigidBodyNodes.

Attached is a reduction case. Nothing should show (unless you uncomment the geometry code) but the wireframe and anchor points are drawn.

Tags: bullet
Revision history for this message
Ashley Whetter (awhetter) wrote :
rdb (rdb)
Changed in panda3d:
assignee: nobody → Ralf Pfrogner (ralf-pfrogner)
Revision history for this message
Ralf Pfrogner (ralf-pfrogner) wrote :

It is true that debug rendering of a soft body can not disabled via node.setDebugEnabled(False).

However, the cause is within Bullet itself and not the Panda3D Bullet module:
btSoftRigidDynamicsWorld::debugDrawWorld() does not check the collision flags of the individual soft body.
It would be easy to amend the Bullet source code, e. g.

"""
btSoftBody* psb=(btSoftBody*)this->m_softBodies[i];
+if ((psb->getCollisionFlags() & btCollisionObject::CF_DISABLE_VISUALIZE_OBJECT)==0)
+{
  ...
+}
"""

So far I do not see a way to work around this inside our own code.

Changed in panda3d:
status: New → Opinion
Changed in panda3d:
status: Opinion → New
Revision history for this message
Ashley Whetter (awhetter) wrote :

I've submitted a bug to Bullet. https://code.google.com/p/bullet/issues/detail?id=795
Thanks.

Revision history for this message
Ralf Pfrogner (ralf-pfrogner) wrote :

Ok, and thank you.

The only way to work around would be to derive from btSoftBodyWorld, and overwrite the virtual debugDrawWorld method with a fixed version. But this seems a bit heavy for me, and is likely to get us in trouble with newer version of Bullet.

Revision history for this message
rdb (rdb) wrote :

Closing since it is not a Panda bug.

Changed in panda3d:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.