diff --git a/examples/Importers/ImportURDFDemo/URDF2Bullet.cpp b/examples/Importers/ImportURDFDemo/URDF2Bullet.cpp index b31e33a1c..3822d4bb3 100644 --- a/examples/Importers/ImportURDFDemo/URDF2Bullet.cpp +++ b/examples/Importers/ImportURDFDemo/URDF2Bullet.cpp @@ -599,10 +599,11 @@ void ConvertURDF2BulletInternal( if (mbLinkIndex>=0) //???? double-check +/- 1 { + cache.m_bulletMultiBody->getLink(mbLinkIndex).m_collider=col; - if (flags&CUF_USE_SELF_COLLISION_EXCLUDE_PARENT) + if (flags&CUF_USE_SELF_COLLISION_INCLUDE_PARENT) { - cache.m_bulletMultiBody->getLink(mbLinkIndex).m_flags |= BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION; + cache.m_bulletMultiBody->getLink(mbLinkIndex).m_flags &= ~BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION; } if (flags&CUF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS) { diff --git a/examples/Importers/ImportURDFDemo/URDF2Bullet.h b/examples/Importers/ImportURDFDemo/URDF2Bullet.h index 87fd698b9..2871badd8 100644 --- a/examples/Importers/ImportURDFDemo/URDF2Bullet.h +++ b/examples/Importers/ImportURDFDemo/URDF2Bullet.h @@ -31,6 +31,7 @@ enum ConvertURDFFlags { CUF_ENABLE_CACHED_GRAPHICS_SHAPES = 1024, CUF_ENABLE_SLEEPING=2048, CUF_INITIALIZE_SAT_FEATURES=4096, + CUF_USE_SELF_COLLISION_INCLUDE_PARENT = 8192, }; struct UrdfVisualShapeCache diff --git a/examples/SharedMemory/SharedMemoryPublic.h b/examples/SharedMemory/SharedMemoryPublic.h index 7129363f7..f9a7dd2cf 100644 --- a/examples/SharedMemory/SharedMemoryPublic.h +++ b/examples/SharedMemory/SharedMemoryPublic.h @@ -830,6 +830,7 @@ enum eURDF_Flags URDF_ENABLE_CACHED_GRAPHICS_SHAPES=1024, URDF_ENABLE_SLEEPING=2048, URDF_INITIALIZE_SAT_FEATURES = 4096, + URDF_USE_SELF_COLLISION_INCLUDE_PARENT = 8192, }; enum eUrdfGeomTypes //sync with UrdfParser UrdfGeomTypes diff --git a/examples/pybullet/pybullet.c b/examples/pybullet/pybullet.c index a5b28c35e..2d5c9426e 100644 --- a/examples/pybullet/pybullet.c +++ b/examples/pybullet/pybullet.c @@ -9760,6 +9760,8 @@ initpybullet(void) PyModule_AddIntConstant(m, "URDF_USE_SELF_COLLISION", URDF_USE_SELF_COLLISION); PyModule_AddIntConstant(m, "URDF_USE_SELF_COLLISION_EXCLUDE_PARENT", URDF_USE_SELF_COLLISION_EXCLUDE_PARENT); + PyModule_AddIntConstant(m, "URDF_USE_SELF_COLLISION_INCLUDE_PARENT", URDF_USE_SELF_COLLISION_INCLUDE_PARENT); + PyModule_AddIntConstant(m, "URDF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS", URDF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS); PyModule_AddIntConstant(m, "VISUAL_SHAPE_DATA_TEXTURE_UNIQUE_IDS", eVISUAL_SHAPE_DATA_TEXTURE_UNIQUE_IDS);