Exemplo n.º 1
0
StaticMesh::StaticMesh(const StaticMesh &o)
{
	if( m_faceNormals != 0 )
	  {
	    delete[] m_faceNormals;
	  }

	m_faceNormals = new float[3 * o.m_numVertices];
	m_vertices    = floatArr( new float[3 * o.m_numVertices] );
	m_colors      = ucharArr( new unsigned char[3 * o.m_numVertices] );
	m_faces     = uintArr(  new unsigned int[3 * o.m_numFaces] );

	for ( size_t i(0); i < 3 * o.m_numVertices; i++ )
	{
		m_faceNormals[i] = o.m_faceNormals[i];
		m_vertices[i]    = o.m_vertices[i];
		m_colors[i]      = o.m_colors[i];
	}

	for( size_t i = 0; i < 3 * o.m_numFaces; ++i )
	{
		m_faces[i] = o.m_faces[i];
	}

	m_boundingBox = o.m_boundingBox;
	m_model = o.m_model;

}
void MeshBuffer::setFaceMaterialIndexArray(std::vector<unsigned int>& array)
{
	m_faceMaterialIndices = uintArr(new unsigned int[array.size()]);
	m_numFaceMaterialIndices = array.size();
	for (size_t i = 0; i < array.size(); i++)
	{
		m_faceMaterialIndices[i] = array[i];
	}
}
void MeshBuffer::setFaceArray(std::vector<unsigned int>& array)
{
	m_faceIndices = uintArr(new unsigned int[array.size()]);
	for (size_t i(0); i < array.size(); i++)
	{
		m_faceIndices[i] = array[i];
	}
	m_numFaces = array.size() / 3;
}
Exemplo n.º 4
0
uintArr StaticMesh::getIndices()
{

    return m_finalized ? m_faces : uintArr();

}