本文整理汇总了C++中MyMesh::add_face方法的典型用法代码示例。如果您正苦于以下问题:C++ MyMesh::add_face方法的具体用法?C++ MyMesh::add_face怎么用?C++ MyMesh::add_face使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MyMesh
的用法示例。
在下文中一共展示了MyMesh::add_face方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deleteVertex
void deleteVertex( MyMesh::VertexHandle h ){
vector<MyMesh::VertexHandle> vs;
for( MyMesh::VVIter v = mesh.vv_iter( h ) ; v ; ++v ){
vs.push_back( v );
}
mesh.request_vertex_status();
mesh.request_face_status();
mesh.request_edge_status();
cout << "v count: " << vs.size() << endl;
mesh.delete_vertex( h , false );
mesh.garbage_collection();
vector<MyMesh::VertexHandle> vhandles;
for( size_t i = 1 ; i < vs.size() - 1 ; i++ ){
vhandles.clear();
if( !mesh.status( vs[0]).deleted() && !mesh.status( vs[i]).deleted() && !mesh.status( vs[i+1]).deleted() ){
vhandles.push_back( vs[0] );
vhandles.push_back( vs[i] );
vhandles.push_back( vs[i+1] );
mesh.add_face( vhandles );
}
}
mesh.release_vertex_status();
mesh.release_face_status();
mesh.release_edge_status();
}
示例2: initMesh
void initMesh( obj::ObjObject* pObj){
vector<obj::POINT>* pts = pObj->getPoints();
vector<obj::FACEINDEX>* fs = pObj->getFaces();
MyMesh::VertexHandle* vhandler = new MyMesh::VertexHandle[pts->size()];
for( size_t i = 0 ; i != pts->size() ; i++ ){
vhandler[i] = mesh.add_vertex( MyMesh::Point( (*pts)[ i ].x , (*pts)[ i ].y , (*pts)[ i ].z ) );
}
vector<MyMesh::VertexHandle> face_handler;
for( size_t i = 0 ; i != fs->size() ; i++ ){
face_handler.clear();
face_handler.push_back( vhandler[(*fs)[i].index[0]] );
face_handler.push_back( vhandler[(*fs)[i].index[1]] );
face_handler.push_back( vhandler[(*fs)[i].index[2]] );
mesh.add_face( face_handler );
}
delete [] vhandler;
}