pass by pointer instead of reference to satisy compiler
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user