pass by pointer instead of reference to satisy compiler

This commit is contained in:
Erwin Coumans
2018-05-23 14:22:22 +10:00
parent 94da262906
commit 8ace9251aa
3 changed files with 17 additions and 14 deletions

View File

@@ -185,7 +185,7 @@ void ConvertURDF2BulletInternal(
URDF2BulletCachedData& cache, int urdfLinkIndex, URDF2BulletCachedData& cache, int urdfLinkIndex,
const btTransform& parentTransformInWorldSpace, btMultiBodyDynamicsWorld* world1, const btTransform& parentTransformInWorldSpace, btMultiBodyDynamicsWorld* world1,
bool createMultiBody, const char* pathPrefix, bool createMultiBody, const char* pathPrefix,
int flags = 0, UrdfVisualShapeCache& cachedLinkGraphicsShapesIn= UrdfVisualShapeCache(), UrdfVisualShapeCache& cachedLinkGraphicsShapesOut = UrdfVisualShapeCache()) int flags = 0, UrdfVisualShapeCache* cachedLinkGraphicsShapesIn=0, UrdfVisualShapeCache* cachedLinkGraphicsShapesOut=0)
{ {
B3_PROFILE("ConvertURDF2BulletInternal2"); B3_PROFILE("ConvertURDF2BulletInternal2");
//b3Printf("start converting/extracting data from URDF interface\n"); //b3Printf("start converting/extracting data from URDF interface\n");
@@ -273,19 +273,22 @@ void ConvertURDF2BulletInternal(
int graphicsIndex; int graphicsIndex;
{ {
B3_PROFILE("convertLinkVisualShapes"); B3_PROFILE("convertLinkVisualShapes");
if (cachedLinkGraphicsShapesIn.m_cachedUrdfLinkVisualShapeIndices.size() > (mbLinkIndex+1)) if (cachedLinkGraphicsShapesIn && cachedLinkGraphicsShapesIn->m_cachedUrdfLinkVisualShapeIndices.size() > (mbLinkIndex+1))
{ {
graphicsIndex = cachedLinkGraphicsShapesIn.m_cachedUrdfLinkVisualShapeIndices[mbLinkIndex+1]; graphicsIndex = cachedLinkGraphicsShapesIn->m_cachedUrdfLinkVisualShapeIndices[mbLinkIndex+1];
UrdfMaterialColor matColor = cachedLinkGraphicsShapesIn.m_cachedUrdfLinkColors[mbLinkIndex + 1]; UrdfMaterialColor matColor = cachedLinkGraphicsShapesIn->m_cachedUrdfLinkColors[mbLinkIndex + 1];
u2b.setLinkColor2(urdfLinkIndex, matColor); u2b.setLinkColor2(urdfLinkIndex, matColor);
} }
else else
{ {
graphicsIndex = u2b.convertLinkVisualShapes(urdfLinkIndex, pathPrefix, localInertialFrame); graphicsIndex = u2b.convertLinkVisualShapes(urdfLinkIndex, pathPrefix, localInertialFrame);
cachedLinkGraphicsShapesOut.m_cachedUrdfLinkVisualShapeIndices.push_back(graphicsIndex); if (cachedLinkGraphicsShapesOut)
UrdfMaterialColor matColor; {
u2b.getLinkColor2(urdfLinkIndex, matColor); cachedLinkGraphicsShapesOut->m_cachedUrdfLinkVisualShapeIndices.push_back(graphicsIndex);
cachedLinkGraphicsShapesOut.m_cachedUrdfLinkColors.push_back(matColor); UrdfMaterialColor matColor;
u2b.getLinkColor2(urdfLinkIndex, matColor);
cachedLinkGraphicsShapesOut->m_cachedUrdfLinkColors.push_back(matColor);
}
} }
} }
@@ -615,7 +618,7 @@ void ConvertURDF2Bullet(
const URDFImporterInterface& u2b, MultiBodyCreationInterface& creation, const URDFImporterInterface& u2b, MultiBodyCreationInterface& creation,
const btTransform& rootTransformInWorldSpace, const btTransform& rootTransformInWorldSpace,
btMultiBodyDynamicsWorld* world1, btMultiBodyDynamicsWorld* world1,
bool createMultiBody, const char* pathPrefix, int flags, UrdfVisualShapeCache& cachedLinkGraphicsShapes) bool createMultiBody, const char* pathPrefix, int flags, UrdfVisualShapeCache* cachedLinkGraphicsShapes)
{ {
URDF2BulletCachedData cache; URDF2BulletCachedData cache;
@@ -625,10 +628,10 @@ void ConvertURDF2Bullet(
UrdfVisualShapeCache cachedLinkGraphicsShapesOut; UrdfVisualShapeCache cachedLinkGraphicsShapesOut;
ConvertURDF2BulletInternal(u2b, creation, cache, urdfLinkIndex,rootTransformInWorldSpace,world1,createMultiBody,pathPrefix,flags, cachedLinkGraphicsShapes, cachedLinkGraphicsShapesOut); ConvertURDF2BulletInternal(u2b, creation, cache, urdfLinkIndex,rootTransformInWorldSpace,world1,createMultiBody,pathPrefix,flags, cachedLinkGraphicsShapes, &cachedLinkGraphicsShapesOut);
if (cachedLinkGraphicsShapesOut.m_cachedUrdfLinkVisualShapeIndices.size() > cachedLinkGraphicsShapes.m_cachedUrdfLinkVisualShapeIndices.size()) if (cachedLinkGraphicsShapes && cachedLinkGraphicsShapesOut.m_cachedUrdfLinkVisualShapeIndices.size() > cachedLinkGraphicsShapes->m_cachedUrdfLinkVisualShapeIndices.size())
{ {
cachedLinkGraphicsShapes = cachedLinkGraphicsShapesOut; *cachedLinkGraphicsShapes = cachedLinkGraphicsShapesOut;
} }
if (world1 && cache.m_bulletMultiBody) if (world1 && cache.m_bulletMultiBody)

View File

@@ -45,7 +45,7 @@ void ConvertURDF2Bullet(const URDFImporterInterface& u2b,
bool createMultiBody, bool createMultiBody,
const char* pathPrefix, const char* pathPrefix,
int flags = 0, int flags = 0,
UrdfVisualShapeCache& cachedLinkGraphicsShapes= UrdfVisualShapeCache() UrdfVisualShapeCache* cachedLinkGraphicsShapes= 0
); );

View File

@@ -2631,7 +2631,7 @@ bool PhysicsServerCommandProcessor::processImportedObjects(const char* fileName,
} }
} }
UrdfVisualShapeCache* cachedVisualShapesPtr = m_data->m_cachedVUrdfisualShapes[fileName]; UrdfVisualShapeCache* cachedVisualShapesPtr = m_data->m_cachedVUrdfisualShapes[fileName];
ConvertURDF2Bullet(u2b, creation, rootTrans, m_data->m_dynamicsWorld, useMultiBody, u2b.getPathPrefix(), flags, *cachedVisualShapesPtr); ConvertURDF2Bullet(u2b, creation, rootTrans, m_data->m_dynamicsWorld, useMultiBody, u2b.getPathPrefix(), flags, cachedVisualShapesPtr);
} else } else
{ {
ConvertURDF2Bullet(u2b, creation, rootTrans, m_data->m_dynamicsWorld, useMultiBody, u2b.getPathPrefix(), flags); ConvertURDF2Bullet(u2b, creation, rootTrans, m_data->m_dynamicsWorld, useMultiBody, u2b.getPathPrefix(), flags);