opencv / opencv

Open Source Computer Vision Library
https://opencv.org
Apache License 2.0
78.14k stars 55.72k forks source link

doc: disable inheritance graphs #25542

Closed mshabunin closed 4 months ago

mshabunin commented 4 months ago

Resolves #25481

Some clas inheritance graphs are too big, so I decided to turn them off completely. Graphs for selected classes can be enabled using inheritancegraph command (https://www.doxygen.nl/manual/commands.html#cmdinheritancegraph).

I noticed that some collaboration diagrams can be quite large as well (see second diagram here: https://docs.opencv.org/4.x/d3/d63/classcv_1_1Mat.html), so we might need to disable them too (COLLABORATION_GRAPH option).

Extra change was needed to fix Javadoc documentation generation (version 17), for some reason two examples caused build issues.

asmorkalov commented 4 months ago

The patch has not disabled inheritance graphs. See https://pullrequest.opencv.org/buildbot/export/pr/25542/docs/d9/dba/classcv_1_1StereoBM.html as example.

mshabunin commented 4 months ago

@asmorkalov , it is not "inheritance graph", it is "collaboration diagram" :slightly_smiling_face: Currently both are enabled, this PR disables only "inheritance graph". We can disable "collaboration diagram" too (COLLABORATION_GRAPH option). Do you think we should disable it?

Current version with both graphs: https://docs.opencv.org/4.x/d9/dba/classcv_1_1StereoBM.html

Difference:

If the CLASS_GRAPH tag is set to YES or GRAPH or BUILTIN then doxygen will generate a graph for each documented class showing the direct and indirect inheritance relations.

If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a graph for each documented class showing the direct and indirect implementation dependencies (inheritance, containment, and class references variables) of the class with other documented classes.