/* tuneControl: * Use user values to reset control * * Possible parameters: * ctrl->use_node_weights */ static void tuneControl (graph_t* g, spring_electrical_control ctrl) { long seed; int init; seed = ctrl->random_seed; init = setSeed (g, INIT_RANDOM, &seed); if (init != INIT_RANDOM) { agerr(AGWARN, "sfdp only supports start=random\n"); } ctrl->random_seed = seed; ctrl->K = late_double(g, agfindgraphattr(g, "K"), -1.0, 0.0); ctrl->p = -1.0*late_double(g, agfindgraphattr(g, "repulsiveforce"), -AUTOP, 0.0); ctrl->multilevels = late_int(g, agfindgraphattr(g, "levels"), INT_MAX, 0); ctrl->smoothing = late_smooth(g, agfindgraphattr(g, "smoothing"), SMOOTHING_NONE); ctrl->tscheme = late_quadtree_scheme(g, agfindgraphattr(g, "quadtree"), QUAD_TREE_NORMAL); /* ctrl->method = late_mode(g, agfindgraphattr(g, "mode"), METHOD_SPRING_ELECTRICAL); */ ctrl->method = METHOD_SPRING_ELECTRICAL; ctrl->beautify_leaves = mapBool (agget(g, "beautify"), FALSE); ctrl->rotation = late_double(g, agfindgraphattr(g, "rotation"), 0.0, -MAXDOUBLE); ctrl->edge_labeling_scheme = late_int(g, agfindgraphattr(g, "label_scheme"), 0, 0); if (ctrl->edge_labeling_scheme > 4) { agerr (AGWARN, "label_scheme = %d > 4 : ignoring\n", ctrl->edge_labeling_scheme); ctrl->edge_labeling_scheme = 0; } }
boolean mapbool(char *p) { return mapBool (p, FALSE); }