Sources/CcgDump/CrySkinBuilderBase.cpp
//////////////////////////////////////////////////////////////////////////
// calculates the vertex list of each bone

calculates the vertex list of each bone
calculates the vertex list of each bone
void CrySkinBuilderBase::makeFullBoneVertexArrays()
{
	m_arrBoneVerts.clear();
	m_arrBoneVerts.resize (m_numBones);
	unsigned numVertices = m_pGeometry->numVertices();
	for (unsigned i = 0; i < m_numBones; ++i)
		m_arrBoneVerts[i].reserve (numVertices / m_numBones);
	for (unsigned nVert = 0; nVert < numVertices; ++nVert)
	{
		const CryVertexBinding& rLinks = m_pGeometry->getLink (nVert);
		if (rLinks.size() == 1)
			m_arrBoneVerts[rLinks[0].BoneID].arrRigid.push_back(CrySkinRigidVertex (rLinks[0].offset, nVert));
		else
		for (unsigned i = 0; i < rLinks.size(); ++i)
		{
			m_arrBoneVerts[rLinks[i].BoneID].arrSmooth.push_back(CrySkinSmoothVertex (rLinks[i], nVert));
		}
	}
}
void CrySkinBuilderBase :: makeFullBoneVertexArrays ( ) { m_arrBoneVerts . clear ( ) ; m_arrBoneVerts . resize ( m_numBones ) ; unsigned numVertices = m_pGeometry -> numVertices ( ) ; for ( unsigned i = 0 ; i < m_numBones ; ++ i ) m_arrBoneVerts [ i ] . reserve ( numVertices / m_numBones ) ; for ( unsigned nVert = 0 ; nVert < numVertices ; ++ nVert ) { const CryVertexBinding & rLinks = m_pGeometry -> getLink ( nVert ) ; if ( rLinks . size ( ) == 1 ) m_arrBoneVerts [ rLinks [ 0 ] . BoneID ] . arrRigid . push_back ( CrySkinRigidVertex ( rLinks [ 0 ] . offset , nVert ) ) ; else for ( unsigned i = 0 ; i < rLinks . size ( ) ; ++ i ) { m_arrBoneVerts [ rLinks [ i ] . BoneID ] . arrSmooth . push_back ( CrySkinSmoothVertex ( rLinks [ i ] , nVert ) ) ; } } }
calculates the vertex list of each bone
calculates the vertex list of each bone
// preallocate memory for the vertices in bones
 // assume approximately uniform distribution
 // the number of links for this vertex
