summaryrefslogtreecommitdiff
path: root/graphics/pgf/base/source/InterfaceFromOGDF.c++
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/pgf/base/source/InterfaceFromOGDF.c++')
-rw-r--r--graphics/pgf/base/source/InterfaceFromOGDF.c++105
1 files changed, 0 insertions, 105 deletions
diff --git a/graphics/pgf/base/source/InterfaceFromOGDF.c++ b/graphics/pgf/base/source/InterfaceFromOGDF.c++
deleted file mode 100644
index 248ee0b19e..0000000000
--- a/graphics/pgf/base/source/InterfaceFromOGDF.c++
+++ /dev/null
@@ -1,105 +0,0 @@
-#include <pgf/gd/ogdf/c/InterfaceFromOGDF.h>
-#include <pgf/gd/interface/c/InterfaceFromC.h>
-
-#include <ogdf/basic/geometry.h>
-
-
-using namespace ogdf;
-
-namespace scripting {
-
-
- void ogdf_runner::bridge ()
- {
- graph = Graph();
- graph_attributes = GraphAttributes (graph,
- GraphAttributes::nodeGraphics |
- GraphAttributes::edgeGraphics |
- GraphAttributes::nodeLevel |
- GraphAttributes::edgeIntWeight |
- GraphAttributes::edgeDoubleWeight |
- GraphAttributes::nodeWeight);
-
- pgfgd_SyntacticDigraph* g = parameters->syntactic_digraph;
-
- int n = g->vertices.length;
- int m = g->syntactic_edges.length;
-
- node* nodes = new node [n];
-
- for (int i=0; i < n; i++) {
- nodes[i] = graph.newNode();
-
- // Compute width and height
- double x1, x2,y1,y2;
- x1 = x2 = y1 = y2 = 0;
-
- int first = 1;
-
- pgfgd_Path* path = g->vertices.array[i]->path;
-
- for (int j = 1; j < path->length; j++)
- if (!path->strings[j]) {
- double x = path->coordinates[j].x;
- double y = path->coordinates[j].y;
-
- if (first) {
- x1 = x2 = x;
- y1 = y2 = y;
- first = 0;
- } else {
- x1 = x < x1 ? x : x1;
- x2 = x > x2 ? x : x2;
- y1 = y < y1 ? y : y1;
- y2 = y > y2 ? y : y2;
- }
- }
-
- graph_attributes.width(nodes[i]) = x2-x1;
- graph_attributes.height(nodes[i]) = y2-y1;
- }
-
- for (int i=0; i < m; i++) {
- int tail = g->syntactic_edges.array[i]->tail->array_index;
- int head = g->syntactic_edges.array[i]->head->array_index;
-
- graph.newEdge(nodes[tail], nodes[head]);
- }
- }
-
- void ogdf_runner::unbridge ()
- {
- pgfgd_SyntacticDigraph* g = parameters->syntactic_digraph;
-
- node v;
- int i;
- for (i = 0, v = graph.firstNode(); v; v=v->succ(), i++) {
- g->vertices.array[i]->pos.x = graph_attributes.x(v);
- g->vertices.array[i]->pos.y = graph_attributes.y(v);
- }
-
- edge e;
- for (i = 0, e = graph.firstEdge(); e; e=e->succ(), i++) {
- pgfgd_Edge* ed = g->syntactic_edges.array[i];
-
- DPolyline bend = graph_attributes.bends(e);
-
- if (bend.begin().valid()) {
- bend.unify();
- bend.normalize();
-
- // We start with a moveto:
- pgfgd_path_clear (ed);
-
- pgfgd_path_append_moveto_tail(ed);
-
- for (List<DPoint>::iterator it = bend.begin(); it.valid(); it++)
- pgfgd_path_append_lineto(ed, (*it).m_x, (*it).m_y);
-
- // We end with a lineto:
- pgfgd_path_append_lineto_head(ed);
- }
- }
- }
-
-}