Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 5th, 2012  |  syntax: None  |  size: 1.02 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. bool BulletWrapper::get_renderdata(float **vtx, size_t *numvtx,
  2.                                                                    unsigned int **idx, size_t *numidx,
  3.                                                                    bool getindices) {
  4.         bool r = false;
  5.  
  6.         btSoftBodyArray &sbs =
  7.                 static_cast<btSoftRigidDynamicsWorld*>(world_)->getSoftBodyArray();
  8.        
  9.         for(int ib=0;ib < sbs.size() && ib < 1; ++ib)
  10.         {
  11.                 btSoftBody*     psb=sbs[ib];
  12.                 *vtx = new float[psb->m_nodes.size() * 3];
  13.                 *numvtx = psb->m_nodes.size();
  14.                 int i = 0;
  15.                 for (i = 0; i < psb->m_nodes.size(); ++i) {
  16.                         (*vtx)[i * 3 + 0] = psb->m_nodes[i].m_x.x();
  17.                         (*vtx)[i * 3 + 1] = psb->m_nodes[i].m_x.y();
  18.                         (*vtx)[i * 3 + 2] = psb->m_nodes[i].m_x.z();
  19.                 }
  20.  
  21.                 if (getindices) {
  22.                         *idx = new unsigned int[psb->m_faces.size() * 3];
  23.                         *numidx = psb->m_faces.size();
  24.                         for(i = 0; i < psb->m_faces.size(); ++i) {
  25.                                 (*idx)[i * 3 + 0] = psb->m_faces[i].m_n[0] - &psb->m_nodes[0];
  26.                                 (*idx)[i * 3 + 1] = psb->m_faces[i].m_n[1] - &psb->m_nodes[0];
  27.                                 (*idx)[i * 3 + 2] = psb->m_faces[i].m_n[2] - &psb->m_nodes[0];
  28.                         }
  29.                 }
  30.  
  31.                 r = true;
  32.         }
  33.  
  34.         return r;
  35. }