From 9aef2a268ee54624301a8ddc93eaded4a693eb45 Mon Sep 17 00:00:00 2001 From: erg Date: Tue, 15 Feb 2005 04:37:34 +0000 Subject: [PATCH] When dim >=3, allow pos="%lf,%lf,%lf" input --- lib/neatogen/neatoinit.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/neatogen/neatoinit.c b/lib/neatogen/neatoinit.c index 1fba9d3b6..0661e0bce 100644 --- a/lib/neatogen/neatoinit.c +++ b/lib/neatogen/neatoinit.c @@ -75,7 +75,22 @@ int user_pos(attrsym_t * posptr, attrsym_t * pinptr, node_t * np, int nG) p = agxget(np, posptr->index); if (p[0]) { c = '\0'; - if (sscanf(p, "%lf,%lf%c", pvec, pvec + 1, &c) >= 2) { + if ((Ndim >= 3) && + (sscanf(p, "%lf,%lf,%lf%c", pvec, pvec+1, pvec+2, &c) >= 3)){ + ND_pinned(np) = P_SET; + if (PSinputscale > 0.0) { + int i; + for (i = 0; i < Ndim; i++) + pvec[i] = pvec[i] / PSinputscale; + } + if (Ndim > 3) + jitter_d(np, nG, 3); + if ((c == '!') + || (pinptr && mapbool(agxget(np, pinptr->index)))) + ND_pinned(np) = P_PIN; + return TRUE; + } + else if (sscanf(p, "%lf,%lf%c", pvec, pvec + 1, &c) >= 2) { ND_pinned(np) = P_SET; if (PSinputscale > 0.0) { int i; -- 2.40.0