From fd703018ee505f643f866aa4e0cc3f1bebf7aa7d Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Mon, 1 Mar 2010 22:10:16 -0800 Subject: Cleanup on id access. (bzr r9127) --- src/graphlayout/graphlayout.cpp | 150 ++++++++++++++++++++-------------------- 1 file changed, 75 insertions(+), 75 deletions(-) (limited to 'src/graphlayout') diff --git a/src/graphlayout/graphlayout.cpp b/src/graphlayout/graphlayout.cpp index 81ea59059..23b0ee13b 100644 --- a/src/graphlayout/graphlayout.cpp +++ b/src/graphlayout/graphlayout.cpp @@ -44,21 +44,21 @@ using namespace vpsc; * Returns true if item is a connector */ bool isConnector(SPItem const *const i) { - SPPath *path = NULL; - if(SP_IS_PATH(i)) { - path = SP_PATH(i); - } - return path && path->connEndPair.isAutoRoutingConn(); + SPPath *path = NULL; + if(SP_IS_PATH(i)) { + path = SP_PATH(i); + } + return path && path->connEndPair.isAutoRoutingConn(); } struct CheckProgress : TestConvergence { CheckProgress(double d,unsigned i,list& - selected,vector& rs,map& nodelookup) : + selected,vector& rs,map& nodelookup) : TestConvergence(d,i), selected(selected), rs(rs), nodelookup(nodelookup) {} - bool operator()(double new_stress, double* X, double* Y) { + bool operator()(double new_stress, double* X, double* Y) { /* This is where, if we wanted to animate the layout, we would need to update * the positions of all objects and redraw the canvas and maybe sleep a bit - cout << "stress="<getDouble("/tools/connector/length", 100.0); - double directed_edge_height_modifier = 1.0; - - bool directed = prefs->getBool("/tools/connector/directedlayout"); - bool avoid_overlaps = prefs->getBool("/tools/connector/avoidoverlaplayout"); + SimpleConstraints scx,scy; + double ideal_connector_length = prefs->getDouble("/tools/connector/length", 100.0); + double directed_edge_height_modifier = 1.0; + + bool directed = prefs->getBool("/tools/connector/directedlayout"); + bool avoid_overlaps = prefs->getBool("/tools/connector/avoidoverlaplayout"); - for (list::iterator i(selected.begin()); - i != selected.end(); - ++i) - { - SPItem *iu=*i; - map::iterator i=nodelookup.find(iu->id); + for (list::iterator i(selected.begin()); + i != selected.end(); + ++i) + { + SPItem *iu=*i; + map::iterator i=nodelookup.find(iu->getId()); if(i==nodelookup.end()) { continue; } unsigned u=i->second; GSList *nlist=iu->avoidRef->getAttachedConnectors(Avoid::runningFrom); list connectors; - + connectors.insert >(connectors.end(),nlist,NULL); for (list::iterator j(connectors.begin()); j != connectors.end(); @@ -177,35 +177,35 @@ void graphlayout(GSList const *const items) { } else { iv=items[0]; } - + if (iv == NULL) { - // The connector is not attached to anything at the + // The connector is not attached to anything at the // other end so we should just ignore it. continue; } // If iv not in nodelookup we again treat the connector // as disconnected and continue - map::iterator v_pair=nodelookup.find(iv->id); + map::iterator v_pair=nodelookup.find(iv->getId()); if(v_pair!=nodelookup.end()) { unsigned v=v_pair->second; //cout << "Edge: (" << u <<","<style->marker[SP_MARKER_LOC_END].set) { if(directed && strcmp(conn->style->marker[SP_MARKER_LOC_END].value,"none")) { - scy.push_back(new SimpleConstraint(v, u, + scy.push_back(new SimpleConstraint(v, u, (ideal_connector_length * directed_edge_height_modifier))); } } } } - if(nlist) { - g_slist_free(nlist); - } - } - const unsigned E = es.size(); - double eweights[E]; - fill(eweights,eweights+E,1); + if(nlist) { + g_slist_free(nlist); + } + } + const unsigned E = es.size(); + double eweights[E]; + fill(eweights,eweights+E,1); vector cs; connectedComponents(rs,es,scx,scy,cs); for(unsigned i=0;i::iterator it(selected.begin()); - it != selected.end(); - ++it) - { - SPItem *u=*it; - if(!isConnector(u)) { - map::iterator i=nodelookup.find(u->id); - if(i!=nodelookup.end()) { + + for (list::iterator it(selected.begin()); + it != selected.end(); + ++it) + { + SPItem *u=*it; + if(!isConnector(u)) { + map::iterator i=nodelookup.find(u->getId()); + if(i!=nodelookup.end()) { Rectangle* r=rs[i->second]; Geom::OptRect item_box(sp_item_bbox_desktop(u)); if(item_box) { @@ -235,8 +235,8 @@ void graphlayout(GSList const *const items) { sp_item_move_rel(u, Geom::Translate(dest - curr)); } } - } - } + } + } for(unsigned i=0;i