implement fast mesh rendering for Qt5 port (7x faster)
This commit is contained in:
@@ -329,21 +329,7 @@ void MeshSelection::invertSelection()
|
||||
{
|
||||
std::list<ViewProviderMesh*> views = getViewProviders();
|
||||
for (std::list<ViewProviderMesh*>::iterator it = views.begin(); it != views.end(); ++it) {
|
||||
Mesh::Feature* mf = static_cast<Mesh::Feature*>((*it)->getObject());
|
||||
const Mesh::MeshObject* mo = mf->Mesh.getValuePtr();
|
||||
const MeshCore::MeshFacetArray& faces = mo->getKernel().GetFacets();
|
||||
unsigned long num_notsel = std::count_if(faces.begin(), faces.end(),
|
||||
std::bind2nd(MeshCore::MeshIsNotFlag<MeshCore::MeshFacet>(),
|
||||
MeshCore::MeshFacet::SELECTED));
|
||||
std::vector<unsigned long> notselect;
|
||||
notselect.reserve(num_notsel);
|
||||
MeshCore::MeshFacetArray::_TConstIterator beg = faces.begin();
|
||||
MeshCore::MeshFacetArray::_TConstIterator end = faces.end();
|
||||
for (MeshCore::MeshFacetArray::_TConstIterator jt = beg; jt != end; ++jt) {
|
||||
if (!jt->IsFlag(MeshCore::MeshFacet::SELECTED))
|
||||
notselect.push_back(jt-beg);
|
||||
}
|
||||
(*it)->setSelection(notselect);
|
||||
(*it)->invertSelection();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user