Tenho procurado algum material que descreva como gerar diagramas de classe simples com doxygen, mas não consegui encontrar um. Alguém pode ajudar?
Preciso criar diagramas conforme mostrado abaixo a partir de um conjunto de arquivos C ++.
Se houver ferramentas melhores para fazer isso com mais facilidade, entre em contato.
Respostas:
O Doxygen cria diagramas de herança, mas não acho que criará uma hierarquia de classes inteira. Ele permite que você use a ferramenta GraphViz. Se você usar a ferramenta de interface do Doxygen GUI, encontrará as opções relevantes em
Step2: -> Wizard tab -> Diagrams
. As opções de relação DOT estão na guia Especialista.fonte
Citação desta postagem (escrita pelo próprio autor do doxygen):
fonte
Hmm, esta parece ser uma questão um pouco velha, mas como eu tenho mexido com a configuração do Doxygen nos últimos dias, enquanto minha cabeça ainda está cheia de informações atuais, vamos tentar -
Acho que as respostas anteriores quase acertaram:
A opção que falta é adicionar
COLLABORATION_GRAPH = YES
o Doxyfile. Suponho que você possa fazer a coisa equivalente em algum lugar na GUI do doxywizard (eu não uso doxywizard).Portanto, como um exemplo mais completo, as opções típicas de "Doxyfile" relacionadas à saída UML que costumo usar são:
Essas configurações irão gerar diagramas de "herança" (
CLASS_GRAPH=YES
) e "colaboração" (COLLABORATION_GRAPH=YES
).Dependendo do seu destino para "implantação" da saída doxygen, a configuração
DOT_IMAGE_FORMAT = svg
também pode ser útil. Com a saída svg, os diagramas são "escaláveis" em vez da resolução fixa de formatos de bitmap como .png. Aparentemente, se estiver visualizando a saída em navegadores diferentes do IE, tambémINTERACTIVE_SVG = YES
haverá o que permitirá "zoom e panorâmica interativos" dos diagramas SVG gerados. Eu tentei isso há algum tempo, e a saída do svg era muito atraente visualmente, mas, na época, o suporte do navegador para o svg ainda era um pouco inconsistente, então espero que essa situação tenha melhorado recentemente.Como outros comentários mencionaram, algumas dessas configurações (
DOT_GRAPH_MAX_NODES
em particular) têm impactos potenciais no desempenho, então YMMV.Eu tendo a odiar respostas no estilo "RTFM", então peço desculpas por esta frase, mas neste caso a documentação do Doxygen é realmente sua, então verifique os documentos do Doxygen nas configurações mencionadas acima - da última vez que olhei, você pode encontrar os detalhes em http://www.doxygen.nl/manual/config.html .
fonte
RECURSIVE
para SIMO Enterprise Architect construirá um diagrama UML a partir do código-fonte importado.
fonte
Acho que você precisará editar o arquivo doxys e definir GENERATE_UML (algo assim) como verdadeiro. E você precisa ter o dot / graphviz instalado.
fonte
As 2 respostas mais votadas estão corretas. A partir de hoje, a única coisa que eu precisava mudar (das configurações padrão) era habilitar a geração usando o ponto em vez do gerador embutido.
Algumas notas importantes:
html/inherits.html
ou (na navegação do site) classes => hierarquia de classes => "Vá para a hierarquia de classes textuais".T
.foo
herdado deT
e oT
parâmetro de tipo de modelo tiver um padrão, esse padrão será assumido. Se houver um tipobar
que herda defoo<U>
ondeU
for diferente do padrão,bar
terá umfoo<U>
pai.foo<>
ebar<U>
não terá um pai comum.variant
instanciação será exibida para herançavariant<Ts...>
.<...>
string em seu nome representando parâmetros de tipo e não-tipo que não possuem padrões.fonte