First set of changes to the new circulators

git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@898 fdac6126-5c0c-442c-9429-916003d36597
This commit is contained in:
Jan Möbius
2013-08-07 09:40:10 +00:00
parent 1c8d4fb59b
commit afda61f067
23 changed files with 148 additions and 148 deletions

View File

@@ -102,7 +102,7 @@ void DecimaterT<Mesh>::heap_vertex(VertexHandle _vh) {
// find best target in one ring
typename Mesh::VertexOHalfedgeIter voh_it(mesh_, _vh);
for (; voh_it; ++voh_it) {
heh = voh_it.handle();
heh = *voh_it;
CollapseInfo ci(mesh_, heh);
if (this->is_collapse_legal(ci)) {
@@ -190,7 +190,7 @@ size_t DecimaterT<Mesh>::decimate(size_t _n_collapses) {
vv_it = mesh_.vv_iter(ci.v0);
support.clear();
for (; vv_it; ++vv_it)
support.push_back(vv_it.handle());
support.push_back(*vv_it);
// perform collapse
mesh_.collapse(v0v1);
@@ -276,7 +276,7 @@ size_t DecimaterT<Mesh>::decimate_to_faces(size_t _nv, size_t _nf) {
vv_it = mesh_.vv_iter(ci.v0);
support.clear();
for (; vv_it; ++vv_it)
support.push_back(vv_it.handle());
support.push_back(*vv_it);
// adjust complexity in advance (need boundary status)
++n_collapses;

View File

@@ -128,14 +128,14 @@ class ModRoundnessT : public ModBaseT<MeshT>
if ( min_r_ < 0.0 ) // continues mode
{
C = vector_cast<Vec3f>(Base::mesh().point( Base::mesh().to_vertex_handle(voh_it)));
fhC = Base::mesh().face_handle( voh_it.handle() );
fhC = Base::mesh().face_handle( *voh_it );
for (++voh_it; voh_it; ++voh_it)
{
B = C;
fhB = fhC;
C = vector_cast<Vec3f>(Base::mesh().point(Base::mesh().to_vertex_handle(voh_it)));
fhC = Base::mesh().face_handle( voh_it.handle() );
fhC = Base::mesh().face_handle( *voh_it );
if ( fhB == _ci.fl || fhB == _ci.fr )
continue;
@@ -151,14 +151,14 @@ class ModRoundnessT : public ModBaseT<MeshT>
else // binary mode
{
C = vector_cast<Vec3f>(Base::mesh().point( Base::mesh().to_vertex_handle(voh_it)));
fhC = Base::mesh().face_handle( voh_it.handle() );
fhC = Base::mesh().face_handle( *voh_it );
for (++voh_it; voh_it && (priority==Base::LEGAL_COLLAPSE); ++voh_it)
{
B = C;
fhB = fhC;
C = vector_cast<Vec3f>(Base::mesh().point(Base::mesh().to_vertex_handle(voh_it)));
fhC = Base::mesh().face_handle( voh_it.handle() );
fhC = Base::mesh().face_handle( *voh_it );
if ( fhB == _ci.fl || fhB == _ci.fr )
continue;