Graphviz 13.0.0~dev.20241220.2304
Loading...
Searching...
No Matches
agglomerative_bundling.cpp File Reference
#include <algorithm>
#include <common/types.h>
#include <common/globals.h>
#include <sparse/general.h>
#include <math.h>
#include <time.h>
#include <sparse/SparseMatrix.h>
#include <mingle/edge_bundling.h>
#include <mingle/ink.h>
#include <mingle/agglomerative_bundling.h>
#include <mingle/nearest_neighbor_graph.h>
#include <string.h>
#include <vector>
Include dependency graph for agglomerative_bundling.cpp:

Go to the source code of this file.

Typedefs

using aib_t = std::vector< Agglomerative_Ink_Bundling >
 

Enumerations

enum  { MINGLE_DEBUG =0 }
 

Functions

static aib_t Agglomerative_Ink_Bundling_init (SparseMatrix A, const std::vector< pedge > &edges, int level)
 
static void Agglomerative_Ink_Bundling_delete (aib_t &grid)
 
static void Agglomerative_Ink_Bundling_establish (aib_t &grid, int *pick, double angle_param, double angle)
 
static aib_t Agglomerative_Ink_Bundling_new (SparseMatrix A0, const std::vector< pedge > &edges, double angle_param, double angle)
 
static void agglomerative_ink_bundling_internal (int dim, SparseMatrix A, std::vector< pedge > &edges, int nneighbors, int *recurse_level, int MAX_RECURSE_LEVEL, double angle_param, double angle, double *current_ink, double *ink00)
 
void agglomerative_ink_bundling (int dim, SparseMatrix A, std::vector< pedge > &edges, int nneighbor, int MAX_RECURSE_LEVEL, double angle_param, double angle)
 

Typedef Documentation

◆ aib_t

using aib_t = std::vector<Agglomerative_Ink_Bundling>

Definition at line 54 of file agglomerative_bundling.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MINGLE_DEBUG 

Definition at line 25 of file agglomerative_bundling.cpp.

Function Documentation

◆ agglomerative_ink_bundling()

void agglomerative_ink_bundling ( int  dim,
SparseMatrix  A,
std::vector< pedge > &  edges,
int  nneighbor,
int  MAX_RECURSE_LEVEL,
double  angle_param,
double  angle 
)

Definition at line 503 of file agglomerative_bundling.cpp.

References A, agglomerative_ink_bundling_internal(), dim, ink_count, and Verbose.

Referenced by edge_bundling().

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

◆ Agglomerative_Ink_Bundling_delete()

static void Agglomerative_Ink_Bundling_delete ( aib_t grid)
static

Definition at line 77 of file agglomerative_bundling.cpp.

References grid, and SparseMatrix_delete().

Referenced by agglomerative_ink_bundling_internal().

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

◆ Agglomerative_Ink_Bundling_establish()

static void Agglomerative_Ink_Bundling_establish ( aib_t grid,
int *  pick,
double  angle_param,
double  angle 
)
static

Definition at line 92 of file agglomerative_bundling.cpp.

References A, Agglomerative_Ink_Bundling_establish(), Agglomerative_Ink_Bundling_init(), B, FORMAT_COORD, grid, ink(), ink1(), MATRIX_TYPE_REAL, MINGLE_DEBUG, SparseMatrix_struct::n, NULL, SparseMatrix_coordinate_form_add_entry(), SparseMatrix_delete(), SparseMatrix_from_coordinate_format(), SparseMatrix_multiply(), SparseMatrix_new(), SparseMatrix_transpose(), UNMATCHED, and Verbose.

Referenced by Agglomerative_Ink_Bundling_establish(), and Agglomerative_Ink_Bundling_new().

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

◆ Agglomerative_Ink_Bundling_init()

static aib_t Agglomerative_Ink_Bundling_init ( SparseMatrix  A,
const std::vector< pedge > &  edges,
int  level 
)
static

Definition at line 56 of file agglomerative_bundling.cpp.

References A, grid, ink1(), SparseMatrix_struct::n, and SparseMatrix_is_symmetric().

Referenced by Agglomerative_Ink_Bundling_establish(), and Agglomerative_Ink_Bundling_new().

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

◆ agglomerative_ink_bundling_internal()

static void agglomerative_ink_bundling_internal ( int  dim,
SparseMatrix  A,
std::vector< pedge > &  edges,
int  nneighbors,
int *  recurse_level,
int  MAX_RECURSE_LEVEL,
double  angle_param,
double  angle,
double *  current_ink,
double *  ink00 
)
static

Definition at line 329 of file agglomerative_bundling.cpp.

References A, Agglomerative_Ink_Bundling_delete(), agglomerative_ink_bundling_internal(), Agglomerative_Ink_Bundling_new(), dim, grid, SparseMatrix_struct::ia, ink(), ink1(), SparseMatrix_struct::ja, SparseMatrix_struct::m, MINGLE_DEBUG, nearest_neighbor_graph(), pedge::npoints, pedge_delete(), pedge_double(), pedge_wgt_new(), pedge_wgts_realloc(), SparseMatrix_struct::size, SparseMatrix_delete(), Verbose, pedge::wgt, pedge::wgts, pedge::x, point_t::x, and point_t::y.

Referenced by agglomerative_ink_bundling(), and agglomerative_ink_bundling_internal().

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

◆ Agglomerative_Ink_Bundling_new()

static aib_t Agglomerative_Ink_Bundling_new ( SparseMatrix  A0,
const std::vector< pedge > &  edges,
double  angle_param,
double  angle 
)
static

Definition at line 308 of file agglomerative_bundling.cpp.

References A, Agglomerative_Ink_Bundling_establish(), Agglomerative_Ink_Bundling_init(), grid, SparseMatrix_struct::m, MATRIX_TYPE_REAL, SparseMatrix_get_real_adjacency_matrix_symmetrized(), and SparseMatrix_is_symmetric().

Referenced by agglomerative_ink_bundling_internal().

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