chiark / gitweb /
quite nice
[moebius2.git] / minimise.h
1 /*
2  * Routines used for minimisation (only)
3  */
4
5 #ifndef MINIMISE_H
6 #define MINIMISE_H
7
8 #include "mgraph.h"
9
10 double compute_energy(const struct Vertices *vs);
11
12 double graph_layout_cost(const Vertices v);
13 void graph_layout_prepare();
14
15 void compute_vertex_areas(const Vertices vertices);
16 void compute_edge_lengths(const Vertices vertices);
17 extern double vertex_areas[N], vertex_mean_edge_lengths[N], edge_lengths[N][V6];
18
19 double noncircular_rim_cost(const Vertices vertices);
20 double edgewise_vertex_displacement_cost(const Vertices vertices);
21 double edge_length_variation_cost(const Vertices vertices);
22 double rim_proximity_cost(const Vertices vertices);
23
24 extern const char *input_file, *output_file;
25 extern char *output_file_tmp;
26
27 enum printing_instance { pr_cost, pr_size, pr__max };
28 int printing_check(enum printing_instance, int indent);
29
30 #endif /*MINIMISE_H*/