48namespace topology_module {
114 DegOneCrossings = 0x0001,
159 bool setExternal =
true,
bool reuseGAEmbedding =
false);
190 int compare_vectors(
const double& x1,
const double& y1,
const double& x2,
const double& y2);
208 return static_cast<int>(a) |
static_cast<int>(b);
Declaration of CombinatorialEmbedding and face.
Includes declaration of graph class.
Declaration of doubly linked lists and iterators.
Declaration of classes GenericPoint, GenericPolyline, GenericLine, GenericSegment,...
Basic declarations, included by all source files.
Class for adjacency list elements.
Class for the representation of edges.
Faces in a combinatorial embedding.
Stores additional attributes of a graph (like layout information).
Data type for general directed graphs (adjacency list representation).
Encapsulates a pointer to a list element.
Class for the representation of nodes.
Planarized representations (of a connected component) of a graph.
Constructs embeddings from given layout.
bool skipable(topology_module::EdgeLeg *legA, topology_module::EdgeLeg *legB)
void addOption(TopologyModule::Options o)
Options
The (pre/post)processing options.
double faceSum(PlanRep &PG, const GraphAttributes &AG, face f)
bool checkFlipCrossing(PlanRep &PG, node v, bool flip=true)
double angle(DPoint p, DPoint q, DPoint r)
face getExternalFace(PlanRep &PG, const GraphAttributes &AG)
bool setEmbeddingFromGraph(PlanRep &PG, GraphAttributes &GA, adjEntry &adjExternal, bool setExternal=true, bool reuseGAEmbedding=false)
Uses the layout GA to determine an embedding for PG.
void sortEdgesFromLayout(Graph &G, GraphAttributes &GA)
Sorts the edges around all nodes of GA corresponding to the layout given in GA.
void postProcess(PlanRep &PG)
void planarizeFromLayout(PlanRep &PG, GraphAttributes &AG)
void handleImprecision(PlanRep &PG)
EdgeArray< List< topology_module::EdgeLeg * > > m_eLegs
int compare_vectors(const double &x1, const double &y1, const double &x2, const double &y2)
virtual ~TopologyModule()
NodeArray< DPoint > m_crossPosition
bool hasCrossing(topology_module::EdgeLeg *legA, topology_module::EdgeLeg *legB, DPoint &xp)
RegisteredArray for edges of a graph, specialized for EdgeArray<edge>.
RegisteredArray for nodes, edges and adjEntries of a graph.
Helper class for the computation of crossings.
ListIterator< EdgeLeg * > m_eIterator
each edgeLeg holds an entry with a ListIterator pointing to its entry in a <edgeLeg*> List for an ori...
EdgeLeg(edge e, int number, DPoint p1, DPoint p2)
int m_number
the order nuumber on the edge, starting at 0
edge m_copyEdge
the edge in the PlanRep copy corresponding to the EdgeLeg
DPoint m_p2
"Starting" and "End" point of the EdgeLeg
bool m_topDown
we store the direction of the crossed EdgeLeg, too if crossingEdgeLeg is horizontally left to right
DPoint m_xp
to avoid sorting both edgelegs and crossing points, do not store a pair of them, but allow the xp to ...
#define OGDF_EXPORT
Specifies that a function or class is exported by the OGDF dynamic library (shared object / DLL),...
The namespace for all OGDF objects.
int operator|(int lhs, UMLOpt rhs)
int operator&(int lhs, UMLOpt rhs)