Example #1
0
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
bool VoxelDataContainer::renameVertexData(const std::string &oldname, const std::string &newname)
{
  std::map<std::string, IDataArray::Pointer>::iterator it;
  it =  m_VertexData.find(oldname);
  if ( it == m_VertexData.end() )
  {
	  return false;
  }
  IDataArray::Pointer p = (*it).second;
  p->SetName(newname);
  removeVertexData(oldname);
  addVertexData(newname, p);
  return true;
}
    void LodInputProviderBuffer::initialize( LodData* data )
    {
#if OGRE_DEBUG_MODE
        data->mMeshName = mBuffer.meshName;
#endif
        data->mMeshBoundingSphereRadius = mBuffer.boundingSphereRadius;
        unsigned short submeshCount = ushort(mBuffer.submesh.size());
        for (unsigned short i = 0; i < submeshCount; ++i) {
            LodInputBuffer::Submesh& submesh = mBuffer.submesh[i];
            LodVertexBuffer& vertexBuffer =
                (submesh.useSharedVertexBuffer ? mBuffer.sharedVertexBuffer : submesh.vertexBuffer);
            addVertexData(data, vertexBuffer, submesh.useSharedVertexBuffer);
            addIndexData(data, submesh.indexBuffer, submesh.useSharedVertexBuffer, i);
        }

        // These were only needed for addIndexData() and addVertexData().
        mSharedVertexLookup.clear();
        mVertexLookup.clear();
    }
	void LodInputProviderMesh::initialize( LodData* data )
	{
#if OGRE_DEBUG_MODE
		data->mMeshName = mMesh->getName();
#endif
		data->mMeshBoundingSphereRadius = mMesh->getBoundingSphereRadius();
		unsigned short submeshCount = mMesh->getNumSubMeshes();
		for (unsigned short i = 0; i < submeshCount; ++i) {
			const SubMesh* submesh = mMesh->getSubMesh(i);
			VertexData* vertexData = (submesh->useSharedVertices ? mMesh->sharedVertexData : submesh->vertexData);
			addVertexData(data, vertexData, submesh->useSharedVertices);
			if(submesh->indexData->indexCount > 0)
				addIndexData(data, submesh->indexData, submesh->useSharedVertices, i);
		}

		// These were only needed for addIndexData() and addVertexData().
		mSharedVertexLookup.clear();
		mVertexLookup.clear();
	}