static Web webFromTriple(S a, S b, S c) { ret webFromTriple(triple(a, b, c)); } static Web webFromTriple(Triple t) { ret webFromTriple(t, 0.2, 0.2, 0.8, 0.7); } static Web webFromTriple(Triple t, double x1, double y1, double x2, double y2) { Web web = webWithoutIndexAndLock(); // save space S a = unnull(t.a), b = unnull(t.b), c = unnull(t.c); web_addRelation(web, a, c, b); //Web web = webFromTriples(t.a, t.b, t.c); web_setPosition(first(web.nodes), x1, y1); web_setPosition(second(web.nodes), x2, y2); if (t instanceof TripleWeb) { TripleWeb w = cast t; web.globalID = w.globalID; web.created = w.created; web.source = w.source; } ret web; }