diff --git a/Fltk/GUI_Projection.cpp b/Fltk/GUI_Projection.cpp index 93c0927dcefea876cb95efecc4a59ee343417336..310aff1cf869c0bec206a45f2bc8a762ea280187 100644 --- a/Fltk/GUI_Projection.cpp +++ b/Fltk/GUI_Projection.cpp @@ -399,18 +399,18 @@ void update_cb(Fl_Widget *w, void *data) std::vector<GEntity*> &ent(e->getEntities()); for(unsigned int i = 0; i < ent.size(); i++){ if(ent[i]->getSelection()){ - GVertex *ve = dynamic_cast<GVertex*>(ent[i]); - if(!ve) + GVertex *gv = dynamic_cast<GVertex*>(ent[i]); + if(!gv) Msg(GERROR, "Problem in point selection processing"); else{ double uu, vv, p[3], n[3]; - ps->OrthoProjectionOnSurface(ve->x(),ve->y(),ve->z(),uu,vv); + ps->OrthoProjectionOnSurface(gv->x(), gv->y(), gv->z(), uu, vv); if(uu >= 0. && uu <= 1. && vv >= 0. && vv <= 1.){ - u.push_back(uu); - v.push_back(vv); ps->F(uu, vv, p[0], p[1], p[2]); ps->GetUnitNormal(uu, vv, n[0], n[1], n[2]); - double dx = ve->x() - p[0], dy = ve->y() - p[1], dz = ve->z() - p[2]; + double dx = gv->x() - p[0], dy = gv->y() - p[1], dz = gv->z() - p[2]; + u.push_back(uu); + v.push_back(vv); dist.push_back(sqrt(dx * dx + dy * dy + dz * dz)); f.push_back(dx * n[0] + dy * n[1] + dz * n[2]); } @@ -495,14 +495,12 @@ void select_cb(Fl_Widget *w, void *data) if(ib == 'u') { if(CTX.pick_elements){ if(ele.size()){ - ele[ele.size() - 1]->setVisibility(1); - ele.pop_back(); + ele[ele.size() - 1]->setVisibility(1); ele.pop_back(); } } else{ if(ent.size()){ - ent[ent.size() - 1]->setSelection(0); - ent.pop_back(); + ent[ent.size() - 1]->setSelection(0); ent.pop_back(); } } } @@ -538,17 +536,17 @@ void filter_cb(Fl_Widget *w, void *data) ProjectionSurface *ps = p->face->GetProjectionSurface(); std::vector<GEntity*> &ent(e->getEntities()); for(unsigned int i = 0; i < ent.size(); i++){ - GVertex *ve = dynamic_cast<GVertex*>(ent[i]); + GVertex *gv = dynamic_cast<GVertex*>(ent[i]); if(ve){ double uu, vv, p[3], n[3]; - ps->OrthoProjectionOnSurface(ve->x(),ve->y(),ve->z(),uu,vv); + ps->OrthoProjectionOnSurface(gv->x(), gv->y(), gv->z(), uu, vv); ps->F(uu, vv, p[0], p[1], p[2]); - double dx = ve->x() - p[0], dy = ve->y() - p[1], dz = ve->z() - p[2]; + double dx = gv->x() - p[0], dy = gv->y() - p[1], dz = gv->z() - p[2]; if(uu >= 0. && uu <= 1. && vv >= 0. && vv < 1. && sqrt(dx * dx + dy * dy + dz * dz) < threshold) - ve->setSelection(true); + gv->setSelection(true); else - ve->setSelection(false); + gv->setSelection(false); } } // deal with elements here @@ -580,10 +578,10 @@ void save_selection_cb(Fl_Widget *w, void *data) } // maybe we should save as mesh file for(unsigned int i = 0; i < ent.size(); i++){ - GVertex *v = dynamic_cast<GVertex*>(ent[i]); - if(v && v->getSelection()) - fprintf(fp, "Point(%d) = {%.16g,%.16g,%.16g,1};\n", v->tag(), - v->x(), v->y(), v->z()); + GVertex *gv = dynamic_cast<GVertex*>(ent[i]); + if(gv && gv->getSelection()) + fprintf(fp, "Point(%d) = {%.16g,%.16g,%.16g,1};\n", gv->tag(), + gv->x(), gv->y(), gv->z()); } // deal with elements here fclose(fp); @@ -693,7 +691,7 @@ void compute_cb(Fl_Widget *w, void *data) makeGFace(patchR); } else if (ps->IsVPeriodic()) { - Patch* patchL = new FPatch(0,ps->clone(), u, v, f, 3, uModes, vModes, + Patch* patchL = new FPatch(0, ps->clone(), u, v, f, 3, uModes, vModes, uM, vM, h0, h1, h2, h3); patchL->SetMinV(-0.35); patchL->SetMaxV(0.35); @@ -718,20 +716,16 @@ void delete_fourier(GFace *gf) { if(gf->getNativeType() != GEntity::FourierModel) return; + // don't actually delete the data so we can add `undo' later std::list<GVertex*> vertices = gf->vertices(); - for(std::list<GVertex*>::iterator it = vertices.begin(); it != vertices.end(); it++){ + for(std::list<GVertex*>::iterator it = vertices.begin(); it != vertices.end(); it++) GMODEL->remove(*it); - //delete *it; - } std::list<GEdge*> edges = gf->edges(); - for(std::list<GEdge*>::iterator it = edges.begin(); it != edges.end(); it++){ + for(std::list<GEdge*>::iterator it = edges.begin(); it != edges.end(); it++) GMODEL->remove(*it); - //delete *it; - } - GMODEL->remove(gf); - //delete gf; + GMODEL->remove(gf) } void action_cb(Fl_Widget *w, void *data) @@ -742,7 +736,8 @@ void action_cb(Fl_Widget *w, void *data) if(what == "delete_last" || what == "save_last"){ int id = -1; for(GModel::fiter it = GMODEL->firstFace(); it != GMODEL->lastFace(); it++) - if((*it)->getNativeType() == GEntity::FourierModel) id = std::max(id, (*it)->tag()); + if((*it)->getNativeType() == GEntity::FourierModel) + id = std::max(id, (*it)->tag()); if(id > 0) faces.push_back(GMODEL->faceByTag(id)); } else if(what == "delete_all" || what == "save_all"){