代码拉取完成,页面将自动刷新
#ifndef CGRAPHVIZDIAGRAMER_H
#define CGRAPHVIZDIAGRAMER_H
#include <QMap>
#include <graphviz/gvc.h>
#include "IDiagramer.h"
namespace Diagram {
class CGraphvizDiagramer : public IDiagramer
{
public:
CGraphvizDiagramer();
~CGraphvizDiagramer();
void resetGraph() override;
void addNode(std::shared_ptr<Node> pNode) override;
void addEdge(std::shared_ptr<Edge> pEdge) override;
void setLayout(LAYOUT_TYPE type) override;
void setGraphConfig(const QVector<QPair<QVariant, QVariant>>& config) override;
QImage generateImg() override;
void setHideSingleClass(bool bFlag) override;
void setHideOneToOne(bool bFlag) override;
private:
struct ExtNode
{
std::shared_ptr<Node> pNode;
Agnode_t* pAgnode;
};
private:
void __removeHideNode();
private:
GVC_t* m_pGvc;
Agraph_t* m_pGraph;
QMap<QString, ExtNode> m_mapNodes;
LAYOUT_TYPE m_layoutType;
bool m_bHideSingleClass;
bool m_bHideOneToOne;
QVector<QPair<QVariant, QVariant>> m_graphConfig;
};
}
#endif // CGRAPHVIZDIAGRAMER_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。