Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
hierarchy.h File Reference
#include <neatogen/sparsegraph.h>
#include <stddef.h>
Include dependency graph for hierarchy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ex_vtx_data
 
struct  Hierarchy
 
struct  levelparms_t
 
struct  hierparms_t
 

Functions

Hierarchycreate_hierarchy (v_data *graph, int nvtxs, int nedges, ex_vtx_data *geom_graph, int ngeom_edges, hierparms_t *)
 
void set_active_levels (Hierarchy *, int *, int, levelparms_t *)
 
double find_closest_active_node (Hierarchy *, double x, double y, int *)
 
size_t extract_active_logical_coords (Hierarchy *hierarchy, int node, int level, double *x_coords, double *y_coords, size_t counter)
 
int set_active_physical_coords (Hierarchy *, int node, int level, double *x_coords, double *y_coords, int counter)
 
void init_active_level (Hierarchy *hierarchy, int level)
 
int init_ex_graph (v_data *graph1, v_data *graph2, int n, double *x_coords, double *y_coords, ex_vtx_data **gp)
 
void rescale_layout_polar (double *x_coords, double *y_coords, double *x_foci, double *y_foci, int num_foci, size_t n, int interval, double width, double height, double distortion)
 
void find_physical_coords (Hierarchy *, int, int, double *x, double *y)
 
void find_old_physical_coords (Hierarchy *hierarchy, int level, int node, double *x, double *y)
 
int find_active_ancestor (Hierarchy *, int, int)
 
void find_active_ancestor_info (Hierarchy *hierarchy, int level, int node, int *levell, int *nodee)
 
void quicksort_place (double *place, int *ordering, size_t size)
 

Function Documentation

◆ create_hierarchy()

Hierarchy * create_hierarchy ( v_data graph,
int  nvtxs,
int  nedges,
ex_vtx_data geom_graph,
int  ngeom_edges,
hierparms_t parms 
)

Definition at line 665 of file hierarchy.c.

References coarsen_match(), cpExGraph(), cpGraph(), Hierarchy::cv2v, Hierarchy::geom_graphs, ex_vtx_data::globalIndex, graph(), Hierarchy::graphs, gv_alloc(), gv_calloc(), gv_recalloc(), MAX, Hierarchy::maxNodeIndex, nedges, Hierarchy::nedges, Hierarchy::nlevels, Hierarchy::nvtxs, parms, and Hierarchy::v2cv.

Referenced by makeHier().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ extract_active_logical_coords()

size_t extract_active_logical_coords ( Hierarchy hierarchy,
int  node,
int  level,
double *  x_coords,
double *  y_coords,
size_t  counter 
)

Definition at line 999 of file hierarchy.c.

References Hierarchy::cv2v, extract_active_logical_coords(), Hierarchy::geom_graphs, and graph().

Referenced by extract_active_logical_coords(), and positionAllItems().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_active_ancestor()

int find_active_ancestor ( Hierarchy hierarchy,
int  level,
int  node 
)

◆ find_active_ancestor_info()

void find_active_ancestor_info ( Hierarchy hierarchy,
int  level,
int  node,
int *  levell,
int *  nodee 
)

Definition at line 1078 of file hierarchy.c.

References ex_vtx_data::active_level, Hierarchy::geom_graphs, and Hierarchy::v2cv.

Referenced by drawtopfishedges().

Here is the caller graph for this function:

◆ find_closest_active_node()

double find_closest_active_node ( Hierarchy hierarchy,
double  x,
double  y,
int *  closest_fine_node 
)

Definition at line 929 of file hierarchy.c.

References find_leftmost_descendant(), findClosestActiveNode(), Hierarchy::nlevels, and Hierarchy::nvtxs.

Referenced by changetopfishfocus().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ find_old_physical_coords()

void find_old_physical_coords ( Hierarchy hierarchy,
int  level,
int  node,
double *  x,
double *  y 
)

Definition at line 1097 of file hierarchy.c.

References Hierarchy::geom_graphs, ex_vtx_data::old_active_level, ex_vtx_data::old_physical_x_coord, ex_vtx_data::old_physical_y_coord, and Hierarchy::v2cv.

Referenced by get_temp_coords().

Here is the caller graph for this function:

◆ find_physical_coords()

void find_physical_coords ( Hierarchy hierarchy,
int  level,
int  node,
double *  x,
double *  y 
)

Definition at line 1064 of file hierarchy.c.

References ex_vtx_data::active_level, Hierarchy::geom_graphs, ex_vtx_data::physical_x_coord, ex_vtx_data::physical_y_coord, and Hierarchy::v2cv.

Referenced by get_temp_coords().

Here is the caller graph for this function:

◆ init_active_level()

void init_active_level ( Hierarchy hierarchy,
int  level 
)

Definition at line 1129 of file hierarchy.c.

References Hierarchy::geom_graphs, graph(), Hierarchy::nlevels, and Hierarchy::nvtxs.

Referenced by makeHier().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ init_ex_graph()

int init_ex_graph ( v_data graph1,
v_data graph2,
int  n,
double *  x_coords,
double *  y_coords,
ex_vtx_data **  gp 
)

Definition at line 946 of file hierarchy.c.

References v_data::edges, ex_vtx_data::edges, gv_calloc(), nedges, v_data::nedges, ex_vtx_data::nedges, neighbor, ex_vtx_data::size, ex_vtx_data::x_coord, and ex_vtx_data::y_coord.

Referenced by makeHier().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ quicksort_place()

void quicksort_place ( double *  place,
int *  ordering,
size_t  size 
)

Definition at line 105 of file rescale_layout.c.

Referenced by rescale_layout_polarFocus().

Here is the caller graph for this function:

◆ rescale_layout_polar()

void rescale_layout_polar ( double *  x_coords,
double *  y_coords,
double *  x_foci,
double *  y_foci,
int  num_foci,
size_t  n,
int  interval,
double  width,
double  height,
double  distortion 
)

Definition at line 194 of file rescale_layout.c.

References copy_vector(), free(), graph(), gv_calloc(), MIN, rescale_layout_polarFocus(), scadd(), and UG_graph().

Referenced by positionAllItems().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_active_levels()

void set_active_levels ( Hierarchy hierarchy,
int *  foci_nodes,
int  num_foci,
levelparms_t parms 
)

Definition at line 753 of file hierarchy.c.

References ex_vtx_data::active_level, Hierarchy::cv2v, dist_from_foci(), free(), Hierarchy::geom_graphs, graph(), gv_calloc(), MIN, Hierarchy::nlevels, Hierarchy::nvtxs, parms, and quicksort_place().

Referenced by changetopfishfocus(), and prepare_topological_fisheye().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_active_physical_coords()

int set_active_physical_coords ( Hierarchy hierarchy,
int  node,
int  level,
double *  x_coords,
double *  y_coords,
int  counter 
)

Definition at line 1033 of file hierarchy.c.

References Hierarchy::cv2v, Hierarchy::geom_graphs, graph(), and set_active_physical_coords().

Referenced by positionAllItems(), and set_active_physical_coords().

Here is the call graph for this function:
Here is the caller graph for this function: