Я создал файл уценки как часть проекта c ++, предназначенного для описания определенных функций в проекте.
В этом файле уценки я определил группу с помощью '\ defgroup myGroup Explanation of group'
Я также пометил все объекты, связанные с этой группой, добавив тег \ ingroup для рассматриваемой группы.
Вопрос в том, как отобразить диаграммы UML только для контекста для этой конкретной группы в подробном разделе модуля для этой функции?
Я прочитал документацию по Doxygen и ненашел любую информацию о том, как определить границы контекста группы для рендеринга определенной группы объектов / классов с использованием graphviz.
#include <string>
#include <iostream>
/**
* @ingroup markingsgroup
* @brief This class defines a base class
*/
class BaseClass
{
public:
BaseClass() {}
virtual bool getStatus(void) const = 0;
virtual void setStatus(const bool status) = 0;
};
/**
* @ingroup markingsgroup
* This class defines Class1
*/
class Class1 : public BaseClass
{
public:
Class1() {}
bool getStatus() const
{
return m_status;
}
void setStatus(const bool status)
{
m_status = status;
}
private:
bool m_status;
};
/**
* @ingroup markingsgroup
* This class defines a Class2
*/
class Class2 : public BaseClass
{
public:
Class2() {}
bool getStatus() const
{
return m_status;
}
void setStatus(const bool status)
{
m_status = status;
}
private:
bool m_status;
};
/**
* @ingroup markingsgroup
* @brief Main function
*/
int main(int argc, char *argv[])
{
Class1 myClass1;
Class2 myClass2;
myClass1.setStatus(true);
myClass2.setStatus(myClass1.getStatus());
std::cout << "Class1: " << myClass1.getStatus() << " Class2: " << myClass2.getStatus() << std::endl;
}
Doxyfile изменяет форму по умолчанию:
PROJECT_NAME = "My Project"
PROJECT_NAME = "Marking Project"
OUTPUT_DIRECTORY = /home/fblidner/doxgentest/documentation
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_PACKAGE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_METHODS = YES
INPUT = project
RECURSIVE = YES
GENERATE_XML = YES
XML_PROGRAMLISTING = NO
UML_LOOK = YES
CALLER_GRAPH = YES
PLANTUML_JAR_PATH = /home/fblidner/puppet-manifests/devvm/files/generated/plantuml.jar
MAX_DOT_GRAPH_DEPTH = 10
HAVE_DOT = YES
CALLER_GRAPH = YES