diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2016-01-23 22:29:47 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2016-02-02 20:13:44 (GMT) |
commit | fb66cae35cd59d1026fe3c6de46ae3a2ed6f9f91 (patch) | |
tree | c69a90068c188c7e45d162723c8d3a1640852a46 /src/dot.h | |
parent | 5475bf2e9a0f1517567186b47595b8dad2b6b3a3 (diff) | |
download | Doxygen-fb66cae35cd59d1026fe3c6de46ae3a2ed6f9f91.zip Doxygen-fb66cae35cd59d1026fe3c6de46ae3a2ed6f9f91.tar.gz Doxygen-fb66cae35cd59d1026fe3c6de46ae3a2ed6f9f91.tar.bz2 |
Reimplemented node renumbering for dot graph to improve performance
Diffstat (limited to 'src/dot.h')
-rw-r--r-- | src/dot.h | 23 |
1 files changed, 16 insertions, 7 deletions
@@ -78,7 +78,7 @@ class DotNode void removeParent(DotNode *n); int findParent( DotNode *n ); void write(FTextStream &t,GraphType gt,GraphOutputFormat f, - bool topDown,bool toChildren,bool backArrows,bool reNumber); + bool topDown,bool toChildren,bool backArrows); int m_subgraphId; void clearWriteFlag(); void writeXML(FTextStream &t,bool isClassGraph); @@ -89,13 +89,14 @@ class DotNode bool isVisible() const { return m_visible; } TruncState isTruncated() const { return m_truncated; } int distance() const { return m_distance; } + void renumberNodes(int &number); private: void colorConnectedNodes(int curColor); void writeBox(FTextStream &t,GraphType gt,GraphOutputFormat f, - bool hasNonReachableChildren, bool reNumber=FALSE); + bool hasNonReachableChildren); void writeArrow(FTextStream &t,GraphType gt,GraphOutputFormat f,DotNode *cn, - EdgeInfo *ei,bool topDown, bool pointBack=TRUE, bool reNumber=FALSE); + EdgeInfo *ei,bool topDown, bool pointBack=TRUE); void setDistance(int distance); const DotNode *findDocNode() const; // only works for acyclic graphs! void markAsVisible(bool b=TRUE) { m_visible=b; } @@ -160,7 +161,7 @@ class DotGfxHierarchyTable QList<DotNode> *m_rootNodes; QDict<DotNode> *m_usedNodes; - static int m_curNodeNumber; + int m_curNodeNumber; DotNodeList *m_rootSubgraphs; }; @@ -180,6 +181,7 @@ class DotClassGraph void writeDocbook(FTextStream &t); void writeDEF(FTextStream &t); QCString diskName() const; + static void resetNumbering(); private: void buildGraph(ClassDef *cd,DotNode *n,bool base,int distance); @@ -211,6 +213,8 @@ class DotInclDepGraph QCString diskName() const; void writeXML(FTextStream &t); void writeDocbook(FTextStream &t); + static void resetNumbering(); + private: void buildGraph(DotNode *n,FileDef *fd,int distance); void determineVisibleNodes(QList<DotNode> &queue,int &maxNodes); @@ -238,10 +242,11 @@ class DotCallGraph bool isTooBig() const; void determineVisibleNodes(QList<DotNode> &queue, int &maxNodes); void determineTruncatedNodes(QList<DotNode> &queue); - + static void resetNumbering(); + private: DotNode *m_startNode; - static int m_curNodeNumber; + static int m_curNodeNumber; QDict<DotNode> *m_usedNodes; bool m_inverse; QCString m_diskName; @@ -312,6 +317,8 @@ class DotGroupCollaboration bool writeImageMap=TRUE,int graphId=-1) const; void buildGraph(GroupDef* gd); bool isTrivial() const; + static void resetNumbering(); + private : void addCollaborationMember( Definition* def, QCString& url, EdgeType eType ); void addMemberList( class MemberList* ml ); @@ -320,7 +327,7 @@ class DotGroupCollaboration const QCString& _label, const QCString& _url ); DotNode *m_rootNode; - int m_curNodeId; + static int m_curNodeNumber; QDict<DotNode> *m_usedNodes; QCString m_diskName; QList<Edge> m_edges; @@ -488,4 +495,6 @@ void writeDotImageMapFromFile(FTextStream &t, const QCString& relPath,const QCString& baseName, const QCString& context,int graphId=-1); +void resetDotNodeNumbering(); + #endif |