Skip to main content

rust_igraph/algorithms/layout/
mod.rs

1//! Graph layout algorithms. Phase 7 entries: ALGO-LO-001 (simple
2//! deterministic layouts: circle, star, grid, sphere) and random layouts.
3//! ALGO-LO-002: Fruchterman-Reingold force-directed layout.
4//! ALGO-LO-003: Kamada-Kawai spring layout.
5//! ALGO-LO-004: Reingold-Tilford tree layout.
6
7#[allow(
8    clippy::cast_precision_loss,
9    clippy::needless_range_loop,
10    clippy::similar_names,
11    clippy::many_single_char_names,
12    clippy::too_many_lines,
13    unknown_lints,
14    clippy::manual_midpoint
15)]
16pub(crate) mod align;
17pub(crate) mod bipartite;
18#[allow(
19    clippy::similar_names,
20    clippy::cast_precision_loss,
21    clippy::cast_possible_truncation,
22    clippy::cast_sign_loss,
23    clippy::needless_range_loop,
24    clippy::too_many_lines,
25    clippy::too_many_arguments,
26    clippy::manual_range_contains
27)]
28pub(crate) mod davidson_harel;
29#[allow(
30    clippy::cast_precision_loss,
31    clippy::cast_possible_truncation,
32    clippy::cast_possible_wrap,
33    clippy::cast_sign_loss,
34    clippy::cast_lossless,
35    clippy::needless_range_loop,
36    clippy::similar_names,
37    clippy::too_many_lines,
38    clippy::too_many_arguments,
39    clippy::doc_markdown
40)]
41pub(crate) mod drl;
42#[allow(
43    clippy::similar_names,
44    clippy::cast_precision_loss,
45    clippy::cast_lossless,
46    clippy::unnecessary_cast,
47    clippy::needless_for_each,
48    clippy::too_many_lines,
49    clippy::cast_possible_truncation,
50    clippy::cast_sign_loss,
51    clippy::cast_possible_wrap
52)]
53pub(crate) mod fruchterman_reingold;
54#[allow(
55    clippy::cast_precision_loss,
56    clippy::cast_possible_truncation,
57    clippy::cast_sign_loss,
58    clippy::needless_range_loop,
59    clippy::similar_names,
60    clippy::too_many_lines
61)]
62pub(crate) mod gem;
63#[allow(
64    clippy::cast_precision_loss,
65    clippy::cast_possible_truncation,
66    clippy::needless_range_loop,
67    clippy::similar_names,
68    clippy::doc_markdown,
69    clippy::too_many_lines,
70    clippy::items_after_statements,
71    clippy::explicit_iter_loop,
72    clippy::float_cmp
73)]
74pub(crate) mod graphopt;
75#[allow(
76    clippy::similar_names,
77    clippy::cast_precision_loss,
78    clippy::cast_lossless,
79    clippy::too_many_lines,
80    clippy::cast_possible_truncation
81)]
82pub(crate) mod kamada_kawai;
83#[allow(
84    clippy::cast_precision_loss,
85    clippy::cast_lossless,
86    clippy::cast_possible_truncation,
87    clippy::cast_sign_loss,
88    clippy::needless_range_loop,
89    clippy::similar_names,
90    clippy::too_many_lines
91)]
92pub(crate) mod lgl;
93#[allow(
94    clippy::cast_precision_loss,
95    clippy::needless_range_loop,
96    clippy::unnecessary_wraps,
97    clippy::float_cmp
98)]
99pub(crate) mod mds;
100#[allow(
101    unknown_lints,
102    clippy::cast_precision_loss,
103    clippy::cast_possible_truncation,
104    clippy::cast_possible_wrap,
105    clippy::cast_sign_loss,
106    clippy::cast_lossless,
107    clippy::needless_range_loop,
108    clippy::similar_names,
109    clippy::many_single_char_names,
110    clippy::manual_midpoint,
111    clippy::too_many_arguments
112)]
113pub(crate) mod merge_dla;
114#[allow(
115    clippy::cast_precision_loss,
116    clippy::cast_possible_truncation,
117    clippy::cast_possible_wrap,
118    clippy::cast_sign_loss,
119    clippy::needless_range_loop,
120    clippy::unnecessary_wraps
121)]
122pub(crate) mod reingold_tilford;
123pub(crate) mod simple;
124#[allow(
125    clippy::cast_precision_loss,
126    clippy::cast_possible_truncation,
127    clippy::cast_possible_wrap,
128    clippy::cast_sign_loss,
129    clippy::needless_range_loop,
130    clippy::too_many_arguments
131)]
132pub(crate) mod sugiyama;
133#[allow(
134    clippy::cast_precision_loss,
135    clippy::cast_possible_truncation,
136    clippy::cast_lossless,
137    clippy::float_cmp,
138    clippy::needless_range_loop,
139    clippy::similar_names,
140    clippy::too_many_lines,
141    clippy::many_single_char_names,
142    clippy::doc_markdown,
143    clippy::used_underscore_binding
144)]
145pub(crate) mod umap;
146
147pub use align::layout_align;
148pub use bipartite::layout_bipartite;
149pub use davidson_harel::{DhParams, layout_davidson_harel};
150pub use drl::{DrlOptions, DrlTemplate, layout_drl, layout_drl_3d};
151pub use fruchterman_reingold::{
152    FrBounds, FrBounds3d, FrGrid, FrParams, FrParams3d, layout_fruchterman_reingold,
153    layout_fruchterman_reingold_3d,
154};
155pub use gem::{GemParams, layout_gem};
156pub use graphopt::{GraphoptParams, layout_graphopt};
157pub use kamada_kawai::{
158    KkBounds, KkBounds3d, KkParams, KkParams3d, layout_kamada_kawai, layout_kamada_kawai_3d,
159};
160pub use lgl::{LglParams, layout_lgl};
161pub use mds::layout_mds;
162pub use merge_dla::layout_merge_dla;
163pub use reingold_tilford::{
164    RootChoice, RtMode, layout_reingold_tilford, layout_reingold_tilford_circular,
165    roots_for_tree_layout,
166};
167pub use simple::{
168    layout_circle, layout_grid, layout_grid_3d, layout_random, layout_random_3d, layout_sphere,
169    layout_star,
170};
171pub use sugiyama::{SugiyamaParams, SugiyamaResult, layout_sugiyama};
172pub use umap::{UmapParams, layout_umap, layout_umap_3d, umap_compute_weights};