Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

Loading...
Searching...
No Matches
ConvexHull.h
Go to the documentation of this file.
1
32#pragma once
33
35#include <ogdf/basic/geometry.h>
37
38#include <vector>
39
40namespace ogdf {
41
43
49private:
50 bool sameDirection(const DPoint& start, const DPoint& end, const DPoint& s, const DPoint& e) const;
51
52 // calculates a convex hull very quickly but only works with cross-free Polygons!
53 DPolygon conv(const DPolygon& poly) const;
54
55 // Calculates the Part of the convex hull that is left of line start-end
56 // /a points should only contain points that really are left of the line.
57 void leftHull(std::vector<DPoint> points, DPoint& start, DPoint& end, DPolygon& hullPoly) const;
58
59
60public:
63
64 DPoint calcNormal(const DPoint& start, const DPoint& end) const;
65 double leftOfLine(const DPoint& normal, const DPoint& point, const DPoint& pointOnLine) const;
66
67 DPolygon call(std::vector<DPoint> points) const;
70};
71
72}
Declaration of class GraphAttributes which extends a Graph by additional attributes.
MLG is the main data structure for ModularMultilevelMixer.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Computes the convex hull of a set of points or a layout.
Definition ConvexHull.h:48
double leftOfLine(const DPoint &normal, const DPoint &point, const DPoint &pointOnLine) const
DPolygon call(MultilevelGraph &MLG) const
bool sameDirection(const DPoint &start, const DPoint &end, const DPoint &s, const DPoint &e) const
DPoint calcNormal(const DPoint &start, const DPoint &end) const
DPolygon call(std::vector< DPoint > points) const
void leftHull(std::vector< DPoint > points, DPoint &start, DPoint &end, DPolygon &hullPoly) const
DPolygon call(GraphAttributes &GA) const
DPolygon conv(const DPolygon &poly) const
Polygons with real coordinates.
Definition geometry.h:981
Stores additional attributes of a graph (like layout information).
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF DLL.
Definition config.h:101
static MultilevelBuilder * getDoubleFactoredZeroAdjustedMerger()
The namespace for all OGDF objects.