From 35688e4ecf885f7a22520f3622f57e5884d30e8a Mon Sep 17 00:00:00 2001 From: yunfeibai Date: Thu, 20 Oct 2016 14:20:09 -0700 Subject: [PATCH] Change texture for one body. --- .../SharedMemory/PhysicsClientExample.cpp | 2 +- .../TinyRendererVisualShapeConverter.cpp | 34 +++++++++++-------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/examples/SharedMemory/PhysicsClientExample.cpp b/examples/SharedMemory/PhysicsClientExample.cpp index be4b1fcf0..fdb5bbe87 100644 --- a/examples/SharedMemory/PhysicsClientExample.cpp +++ b/examples/SharedMemory/PhysicsClientExample.cpp @@ -242,7 +242,7 @@ void PhysicsClientExample::prepareAndSubmitCommand(int commandId) { case CMD_LOAD_URDF: { - b3SharedMemoryCommandHandle commandHandle = b3LoadUrdfCommandInit(m_physicsClientHandle, "kuka_iiwa/model.urdf"); + b3SharedMemoryCommandHandle commandHandle = b3LoadUrdfCommandInit(m_physicsClientHandle, "kuka_iiwa/model_white.urdf"); //setting the initial position, orientation and other arguments are optional double startPosX = 0; static double startPosY = 0; diff --git a/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp b/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp index 2fd57b31a..58e164ca7 100644 --- a/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp +++ b/examples/SharedMemory/TinyRendererVisualShapeConverter.cpp @@ -833,20 +833,26 @@ void TinyRendererVisualShapeConverter::resetAll() // Get shapeUniqueId from getVisualShapesData? void TinyRendererVisualShapeConverter::activateShapeTexture(int shapeUniqueId, int textureUniqueId) { - /* - // Use shapeUniqueId? - int objectArrayIndex = 0; - int objectIndex = 0; - TinyRendererObjectArray** visualArrayPtr = m_data->m_swRenderInstances.getAtIndex(objectArrayIndex); - TinyRendererObjectArray* visualArray = *visualArrayPtr; - unsigned char textureImage[3] = {10, 10, 255}; - int textureWidth = 1000; - int textureHeight = 1000; - visualArray->m_renderObjects[objectIndex]->m_model->setDiffuseTextureFromData(textureImage,textureWidth,textureHeight); - */ + // Use shapeUniqueId? + int objectArrayIndex = 1; + int objectIndex = 0; + printf("num m_swRenderInstances = %d\n", m_data->m_swRenderInstances.size()); + TinyRendererObjectArray** ptrptr = m_data->m_swRenderInstances.getAtIndex(objectArrayIndex); + if (ptrptr && *ptrptr) + { + TinyRendererObjectArray* ptr = *ptrptr; + unsigned char textureImage[3] = {255, 0, 0}; + int textureWidth = 1; + int textureHeight = 1; + ptr->m_renderObjects[objectIndex]->m_model->setDiffuseTextureFromData(textureImage,textureWidth,textureHeight); + } + + + /* int objectArrayIndex = 0; int objectIndex = 0; + printf("num m_swRenderInstances = %d\n", m_data->m_swRenderInstances.size()); for (int i=0;im_swRenderInstances.size();i++) { TinyRendererObjectArray** ptrptr = m_data->m_swRenderInstances.getAtIndex(i); @@ -854,10 +860,10 @@ void TinyRendererVisualShapeConverter::activateShapeTexture(int shapeUniqueId, i { TinyRendererObjectArray* ptr = *ptrptr; unsigned char textureImage[3] = {255, 10, 10}; - int textureWidth = 1000; - int textureHeight = 1000; + int textureWidth = 1; + int textureHeight = 1; ptr->m_renderObjects[objectIndex]->m_model->setDiffuseTextureFromData(textureImage,textureWidth,textureHeight); } } - + */ }