本文整理汇总了C++中MeshBase::getVertexNum方法的典型用法代码示例。如果您正苦于以下问题:C++ MeshBase::getVertexNum方法的具体用法?C++ MeshBase::getVertexNum怎么用?C++ MeshBase::getVertexNum使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MeshBase
的用法示例。
在下文中一共展示了MeshBase::getVertexNum方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: add
void TriangleMeshData::add( CFly::Object* object )
{
Matrix4 const& m = object->getWorldTransform();
Object::MeshIterator iter = object->getElements();
for( ; iter.haveMore(); iter.next() )
{
MeshBase* mesh = iter.get()->getMesh();
int startIndex = m_vertexVec.size();
m_vertexVec.reserve( startIndex + mesh->getVertexNum() );
unsigned offset;
VertexBuffer* buffer = mesh->getVertexElement( CFV_XYZ , offset );
if ( buffer )
{
uint8* ptr = static_cast< uint8* >( buffer->lock() ) + offset;
unsigned strride = buffer->getVertexSize();
for( int i = 0 ; i < mesh->getVertexNum() ; ++i )
{
m_vertexVec.push_back( Vec3D() );
Vec3D& vtx = m_vertexVec.back();
Vec3D& v = *reinterpret_cast< Vec3D* >( ptr );
vtx = TransformUntility::mul( v , m );
ptr += strride;
}
buffer->unlock();
}
}
}