static void dot_init_node(node_t * n) { common_init_node(n); dot_nodesize(n, GD_flip(n->graph)); alloc_elist(4, ND_in(n)); alloc_elist(4, ND_out(n)); alloc_elist(2, ND_flat_in(n)); alloc_elist(2, ND_flat_out(n)); alloc_elist(2, ND_other(n)); ND_UF_size(n) = 1; }
static void dot_cleanup_node(node_t * n) { free_list(ND_in(n)); free_list(ND_out(n)); free_list(ND_flat_out(n)); free_list(ND_flat_in(n)); free_list(ND_other(n)); free_label(ND_label(n)); if (ND_shape(n)) ND_shape(n)->fns->freefn(n); memset(&(n->u), 0, sizeof(Agnodeinfo_t)); }
static void dot_init_node(node_t * n) { agbindrec(n, "Agnodeinfo_t", sizeof(Agnodeinfo_t), TRUE); //graph custom data common_init_node(n); gv_nodesize(n, GD_flip(agraphof(n))); alloc_elist(4, ND_in(n)); alloc_elist(4, ND_out(n)); alloc_elist(2, ND_flat_in(n)); alloc_elist(2, ND_flat_out(n)); alloc_elist(2, ND_other(n)); ND_UF_size(n) = 1; }
static void dot_cleanup_node(node_t * n) { free_list(ND_in(n)); free_list(ND_out(n)); free_list(ND_flat_out(n)); free_list(ND_flat_in(n)); free_list(ND_other(n)); free_label(ND_label(n)); free_label(ND_xlabel(n)); if (ND_shape(n)) ND_shape(n)->fns->freefn(n); agdelrec(n, "Agnodeinfo_t"); }
static void dot_cleanup_node(node_t * n) { free_list(ND_in(n)); free_list(ND_out(n)); free_list(ND_flat_out(n)); free_list(ND_flat_in(n)); free_list(ND_other(n)); free_label(ND_label(n)); if (ND_shape(n)) ND_shape(n)->fns->freefn(n); #ifndef WITH_CGRAPH memset(&(n->u), 0, sizeof(Agnodeinfo_t)); #else /* WITH_CGRAPH */ agclean(agraphof(n), AGNODE,"Agnodeinfo_t"); #endif /* WITH_CGRAPH */ }
void delete_other_edge(edge_t * e) { assert(e != NULL); zapinlist(&(ND_other(e->tail)), e); }
void safe_other_edge(edge_t * e) { safe_list_append(e, &(ND_other(e->tail))); }
void other_edge(edge_t * e) { elist_append(e, ND_other(e->tail)); }