#ifndef GRAPH_LAYOUTER_H #define GRAPH_LAYOUTER_H #include template class MatrixDynamicBase; struct DummyEdge; struct DummyNode; class GraphLayouter { public: typedef void (*LayoutFunction)(std::vector&); static void layoutSimpleRaster(std::vector& nodes); static void layoutSimpleRing(std::vector& nodes); static void layoutSpectralPrototype(std::vector& nodes, const std::vector& edges); private: static MatrixDynamicBase buildLaplacianMatrix(const std::vector& nodes, const std::vector& edges); }; #endif // GRAPH_LAYOUTER_H