Graphviz 13.0.0~dev.20241220.2304
|
#include <assert.h>
#include <cgraph/list.h>
#include <twopigen/circle.h>
#include <inttypes.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <util/alloc.h>
#include <util/gv_ctype.h>
#include <util/gv_math.h>
#include <util/streq.h>
Go to the source code of this file.
Macros | |
#define | DEF_RANKSEP 1.00 |
#define | UNSET 10.00 |
Functions | |
static void | setNStepsToLeaf (Agraph_t *g, Agnode_t *n, Agnode_t *prev) |
static bool | isLeaf (Agraph_t *g, Agnode_t *n) |
static void | initLayout (Agraph_t *g) |
static Agnode_t * | findCenterNode (Agraph_t *g) |
static void | setNStepsToCenter (Agraph_t *g, Agnode_t *n) |
static uint64_t | setParentNodes (Agraph_t *sg, Agnode_t *center) |
static void | setSubtreeSize (Agraph_t *g) |
static void | setChildSubtreeSpans (Agraph_t *g, Agnode_t *n) |
static void | setSubtreeSpans (Agraph_t *sg, Agnode_t *center) |
static bool | is_set (double a) |
has the given value been assigned? | |
static void | setChildPositions (Agraph_t *sg, Agnode_t *n) |
static void | setPositions (Agraph_t *sg, Agnode_t *center) |
static double * | getRankseps (Agraph_t *g, uint64_t maxrank) |
static void | setAbsolutePos (Agraph_t *g, uint64_t maxrank) |
Agnode_t * | circleLayout (Agraph_t *sg, Agnode_t *center) |
Definition at line 312 of file circle.c.
References agerrorf(), agfstnode(), agnameof(), agnnodes(), center(), findCenterNode(), initLayout(), ND_pos, setAbsolutePos(), setParentNodes(), setPositions(), setSubtreeSize(), setSubtreeSpans(), and Verbose.
Referenced by twopi_layout().
Definition at line 96 of file circle.c.
References agfstnode(), agnxtnode(), center(), NULL, setNStepsToLeaf(), and SLEAF.
Referenced by circleLayout().
|
static |
Definition at line 257 of file circle.c.
References agfindgraphattr, DEF_RANKSEP, gv_calloc(), gv_isspace(), late_string(), MIN_RANKSEP, NULL, and Agraph_s::root.
Referenced by setAbsolutePos().
|
static |
Definition at line 74 of file circle.c.
References agfstnode(), agnnodes(), agnxtnode(), INF, isLeaf(), SCENTER, SLEAF, THETA, and UNSET.
Referenced by circleLayout().
|
static |
Definition at line 214 of file circle.c.
References is_exactly_equal(), and UNSET.
Referenced by setChildPositions().
Definition at line 55 of file circle.c.
References agfstedge(), aghead, agnxtedge(), and agtail.
Referenced by initLayout().
|
static |
Definition at line 288 of file circle.c.
References agfstnode(), agnxtnode(), free(), getRankseps(), ND_pos, SCENTER, THETA, and Verbose.
Referenced by circleLayout().
Definition at line 217 of file circle.c.
References agfstedge(), aghead, agnxtedge(), agtail, is_set(), NCHILD, setChildPositions(), SPAN, SPARENT, and THETA.
Referenced by setChildPositions(), and setPositions().
Definition at line 186 of file circle.c.
References agfstedge(), aghead, agnxtedge(), agtail, NCHILD, setChildSubtreeSpans(), SPAN, SPARENT, and STSIZE.
Referenced by setChildSubtreeSpans(), and setSubtreeSpans().
Definition at line 119 of file circle.c.
References ag_xget, agfindedgeattr, agfstedge(), aghead, agnxtedge(), agtail, NCHILD, SCENTER, SPARENT, and streq().
Referenced by setParentNodes().
Definition at line 32 of file circle.c.
References agfstedge(), aghead, agnxtedge(), agtail, prev, setNStepsToLeaf(), and SLEAF.
Referenced by findCenterNode(), and setNStepsToLeaf().
Definition at line 149 of file circle.c.
References agfstnode(), agnxtnode(), center(), SCENTER, setNStepsToCenter(), and SPARENT.
Referenced by circleLayout().
Definition at line 243 of file circle.c.
References center(), setChildPositions(), and THETA.
Referenced by circleLayout().
|
static |
Definition at line 174 of file circle.c.
References agfstnode(), agnxtnode(), NCHILD, parent, SPARENT, and STSIZE.
Referenced by circleLayout().
Definition at line 207 of file circle.c.
References center(), M_PI, setChildSubtreeSpans(), and SPAN.
Referenced by circleLayout().