本文整理汇总了C++中utArray::resize方法的典型用法代码示例。如果您正苦于以下问题:C++ utArray::resize方法的具体用法?C++ utArray::resize怎么用?C++ utArray::resize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类utArray
的用法示例。
在下文中一共展示了utArray::resize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: akMeshLoaderUtils_getSmoothFaces
void akMeshLoaderUtils_getSmoothFaces(Blender::Mesh* bmesh, utArray<utArray<UTuint32> >& faces)
{
faces.resize(bmesh->totvert);
for (int i = 0; i< bmesh->totvert; i++)
{
for (int j = 0; j< bmesh->totface; j++)
{
const Blender::MFace& bface = bmesh->mface[j];
if( (bface.flag & ME_SMOOTH) &&
(bface.v1 == i ||
bface.v2 == i ||
bface.v3 == i ||
bface.v4 == i ))
{
faces[i].push_back(j);
}
}
}
}
示例2: akMeshLoaderUtils_getShapeKeysNormals
void akMeshLoaderUtils_getShapeKeysNormals(Blender::Mesh* bmesh, UTuint32 numshape, utArray<btAlignedObjectArray<akVector3> >& shapenormals)
{
Blender::Key* bk = bmesh->key;
if(bk)
{
shapenormals.resize(numshape);
Blender::KeyBlock* bkb = (Blender::KeyBlock*)bk->block.first;
// skip first shape key (basis)
UTuint32 shape=0;
if(bkb) bkb = bkb->next;
while(bkb)
{
if(bkb->type == KEY_RELATIVE)
{
Blender::KeyBlock* basis = (Blender::KeyBlock*)bk->block.first;
for(int i=0; basis && i<bkb->relative; i++)
basis = basis->next;
if(basis)
{
float* pos = (float*)bkb->data;
shapenormals[shape].resize(bmesh->totface);
for(int i=0; i<bmesh->totface; i++)
{
const Blender::MFace& bface = bmesh->mface[i];
akVector3 normal = akMeshLoaderUtils_calcMorphNormal(bface, pos);
shapenormals[shape][i]=normal;
}
shape++;
}
}
bkb = bkb->next;
}
}
}