Commit b8db55a2 authored by Sebastien Barre's avatar Sebastien Barre

Updated Doxygen scripts and files for VTK 4.0

parent e72a9756
.git* export-ignore
*.bat -crlf
*.dsp -crlf
*.dsw -crlf
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
perl doc_header2doxygen.pl
perl doc_version.pl
perl doc_class2example.pl --link ../../VTK/Utilities/Doxygen
perl doc_class2example.pl --dirmatch "^Testing$" --label "Tests" --title "Class To Tests" --store "doc_class2tests.dox" --unique "t" --link ../../VTK/Utilities/Doxygen
perl doc_index.pl
doxygen
Documenting VTK with doxygen
----------------------------
Sebastien BARRE (Time-stamp: <2001-06-28 03:03:03 barre>)
Sebastien BARRE (Time-stamp: <2001-09-24 13:42:01 barre>)
This file describes how to generate a doxygen-compliant documentation
featuring cross-references between classes and examples, index,
......@@ -17,6 +17,8 @@ now using these scripts to build an up-to-date doxygen-compliant
documentation every night, as part of the "nightly build"
process. Thus, you might browse a pre-built documentation here :
OOOPS WE SHOULD UPDATE THAT:
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
http://www.visualizationtoolkit.org/vtk/quality/Doc/html/
...and download the whole documentation (vtkMan.tar.gz) from the usual
......@@ -24,18 +26,19 @@ nightly mirrors :
http://www.kitware.com/vtkhtml/vtkdata/Nightly.html
ftp://public.kitware.com/pub/vtk/nightly/vtkMan.tar.gz
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Nevertheless, doxygen might still be useful to generate additional
PDF, Postscript, plain LaTeX or Windows Compressed HTML output.
The package is made of :
This package is made of he following Perl scripts:
- doc_header2doxygen.pl : convert VTK headers to doxygen format
- doc_version.pl : extract VTK version and add it to documentation
- doc_header2doxygen.pl : convert the VTK headers to the doxygen format
- doc_version.pl : extract the VTK version and add it to the documentation set
- doc_class2example.pl : build cross-references between classes and examples
- doc_index.pl : build full-text index
- doc_index.pl : build the full-text index
Use the --help option to display the allowed parameters for each
Use the --help option to display the parameters that are allowed for each
script.
Thanks to Vetle Roeim and Jan Stifter who started the project :)
......
#!/usr/bin/env perl
# Time-stamp: <2001-08-17 14:09:42 barre>
# Time-stamp: <2001-09-27 09:16:04 barre>
#
# Extract VTK version and add it to documentation
#
# barre : Sebastien Barre <sebastien@barre.nom.fr>
#
# 0.2 (barre) :
# - update to match the new VTK 4.0 tree
# - change default --header so that it can be launched from Utilities/Doxygen
# - change default --to so that it can be launched from Utilities/Doxygen
# - add --logo file : use 'file' as logo
#
# 0.16 (barre) :
# - change default --to to '../vtk-doxygen' to comply with Kitware's doxyfile.
# - updated VTK home page URL.
# - change default --to to '../vtk-doxygen' to comply with Kitware
# - update VTK home page URL.
#
# 0.15 (barre) :
# - fix RCS/CVS tags problem (regexp replacement when this file is in a CVS)
......@@ -33,18 +39,19 @@ use Fcntl;
use Getopt::Long;
use strict;
my ($VERSION, $PROGNAME, $AUTHOR) = (0.16, $0, "Sebastien Barre");
my ($VERSION, $PROGNAME, $AUTHOR) = (0.2, $0, "Sebastien Barre");
$PROGNAME =~ s/^.*[\\\/]//;
print "$PROGNAME $VERSION, by $AUTHOR\n";
# -------------------------------------------------------------------------
# Defaults (add options as you want : "v" => 1 for default verbose mode)
# Defaults (add options as you want: "verbose" => 1 for default verbose mode)
my %default =
(
to => "../vtk-doxygen",
header => "../../Common/vtkVersion.h",
store => "doc_version.dox",
header => "common/vtkVersion.h"
to => "../../../VTK-doxygen",
logo => "vtk-logo.gif"
);
# -------------------------------------------------------------------------
......@@ -52,15 +59,15 @@ my %default =
my %args;
Getopt::Long::Configure("bundling");
GetOptions (\%args, "header=s", "store=s", "to=s", "help|?");
GetOptions (\%args, "help", "header=s", "logo=s", "store=s", "to=s");
if (exists $args{"help"}) {
print <<"EOT";
$PROGNAME $VERSION
by $AUTHOR
Usage : $PROGNAME [--help|?] [--header file] [--store file] [--to path]
--help|? : this message
Usage : $PROGNAME [--help] [--header file] [--store file] [--to path]
--help : this message
--header file : use 'file' to find version (default: $default{header})
--logo file : use 'file' as logo (default: $default{logo})
--store file : use 'file' to store version (default: $default{store})
--to path : use 'path' as destination directory (default: $default{to})
......@@ -71,6 +78,7 @@ EOT
}
$args{"header"} = $default{"header"} if ! exists $args{"header"};
$args{"logo"} = $default{"logo"} if ! exists $args{"logo"};
$args{"store"} = $default{"store"} if ! exists $args{"store"};
$args{"to"} = $default{"to"} if ! exists $args{"to"};
$args{"to"} =~ s/[\\\/]*$// if exists $args{"to"};
......@@ -80,7 +88,7 @@ my $open_file_as_text = $os_is_win ? O_TEXT : 0;
my $start_time = time();
# -------------------------------------------------------------------------
# Try to get VTK version from vtkVersion.h
# Try to get VTK version from a header
my ($version, $revision, $date) = (undef, undef, undef);
......@@ -90,10 +98,11 @@ sysopen(FILE, $args{"header"}, O_RDONLY|$open_file_as_text)
while (<FILE>) {
if ($_ =~ /define\s+VTK_VERSION\s+\"(.*)\"/) {
$version = $1;
print " => $version\n";
} elsif ($_ =~ /define\s+VTK_SOURCE_VERSION.*(.Revision:.*.?\$).*(.Date:.*?\$).*\"/) {
$revision = $1;
$date = $2;
print "$revision $date\n";
print " => $revision $date\n";
last;
}
}
......@@ -107,13 +116,21 @@ croak "$PROGNAME: unable to find version/date in " . $args{"header"} . "\n"
# Build documentation
my $destination_file = $args{"to"} . "/" . $args{"store"};
print "Building version documentation to ", $destination_file, "...\n";
print "Building version documentation to ", $destination_file, "\n";
sysopen(DEST_FILE, $destination_file, O_WRONLY|O_TRUNC|O_CREAT|$open_file_as_text)
sysopen(DEST_FILE,
$destination_file,
O_WRONLY|O_TRUNC|O_CREAT|$open_file_as_text)
or croak "$PROGNAME: unable to open destination file " . $destination_file . "\n";
print DEST_FILE
"/*! \@mainpage VTK $version Documentation\n\n",
"/*! \@mainpage VTK $version Documentation\n\n";
print DEST_FILE
" \@image html " . $args{"logo"} . "\n"
if exists $args{"logo"};
print DEST_FILE
" $revision\n",
" $date\n",
" \@sa VTK home page (Kitware): http://public.kitware.com\n",
......
#####################################
# doxyfile for vtk (w) by jan stifter
# modified by S. Barre (Time-stamp: <2001-06-30 02:23:16 barre>
# modified by S. Barre (Time-stamp: <2001-09-27 10:52:37 barre>
#####################################
# things you should change:
PROJECT_NAME = VTK
# OUTPUT_DIRECTORY -> where goes the output
# COLS_IN_ALPHA_INDEX = 3 -> how much columns in the alphabetical
# index
# SEARCHENGINE -> only YES, when you have access to a
# cgi-bin directory of a web-server
FULL_PATH_NAMES = YES
WARN_IF_UNDOCUMENTED = NO
PROJECT_NAME = VTK
#PROJECT_NUMBER =
GENERATE_TREEVIEW = NO
CLASS_DIAGRAMS = YES
GENERATE_TODOLIST = YES
GENERATE_BUGLIST = YES
GENERATE_HTML = YES
GENERATE_HTMLHELP = YES
GENERATE_RTF = NO
HAVE_DOT = YES
# Do not even think to display the graphical hierarchy : the vtkObject image
# would be 2000 x 8000 pixels wide, crashing the HTML navigator
CLASS_GRAPH = YES
HAVE_DOT = YES
# HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
TEMPLATE_RELATIONS = YES
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
# do not even think to display the graphical hierarchy : the vtkObject image
# would be 2000 x 8000 pixels wide, crashing the HTML navigator
CLASS_DIAGRAMS = YES
GENERATE_LEGEND = YES
GRAPHICAL_HIERARCHY = NO
EXTRACT_STATIC = YES
FULL_PATH_NAMES = YES
WARN_IF_UNDOCUMENTED = NO
GENERATE_HTMLHELP = NO
GENERATE_RTF = NO
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = ../html/Doc
OUTPUT_DIRECTORY = ../../../doc
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
......@@ -80,6 +72,8 @@ EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members inside documented classes or files.
......@@ -154,6 +148,8 @@ CASE_SENSE_NAMES = YES
VERBATIM_HEADERS = NO
SHOW_INCLUDE_FILES = YES
# If the JAVADOC_AUTOBRIEF tag is set to YES (the default) then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the Javadoc-style will
......@@ -172,11 +168,16 @@ INHERIT_DOCS = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = NO
DISTRIBUTE_GROUP_DOC = YES
# the TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 3
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
......@@ -186,11 +187,11 @@ TAB_SIZE = 3
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = ../vtk-doxygen/common ../vtk-doxygen/contrib ../vtk-doxygen/graphics \
../vtk-doxygen/imaging ../vtk-doxygen/parallel ../vtk-doxygen/patented \
../vtk-doxygen/doc_version.dox ../vtk-doxygen/doc_class2example.dox ../vtk-doxygen/doc_index.dox
# ../VTK-doxygen/doc_version.dox ../VTK-doxygen/doc_class2example.dox ../VTK-doxygen/doc_index.dox
INPUT = ../../../VTK-doxygen/Common ../../../VTK-doxygen/Filtering ../../../VTK-doxygen/Graphics ../../../VTK-doxygen/Hybrid ../../../VTK-doxygen/Imaging ../../../VTK-doxygen/IO ../../../VTK-doxygen/Parallel ../../../VTK-doxygen/Patented ../../../VTK-doxygen/Rendering ../../../VTK-doxygen/doc_version.dox ../../../VTK-doxygen/doc_class2examples.dox ../../../VTK-doxygen/doc_class2tests.dox ../../../VTK-doxygen/doc_index.dox
# INPUT = ../vtk-doxygen/doc_version.dox ../vtk-doxygen/doc_class2example.dox
# INPUT = ../../../VTK-doxygen/doc_class2examples.dox
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
......@@ -234,7 +235,7 @@ EXAMPLE_PATTERNS =
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
IMAGE_PATH = .
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
......@@ -256,7 +257,7 @@ IMAGE_PATH =
# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
# generate HTML output
GENERATE_HTML = YES
#GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
......@@ -420,8 +421,6 @@ PREDEFINED = "vtkSetMacro(name,type)= \
virtual void Set##name (type);" \
"vtkSetObjectMacro(name,type)= \
virtual void Set##name (type*);" \
"vtkSetReferenceCountedObjectMacro(name,type)= \
virtual void Set##name (type*);" \
"vtkGetObjectMacro(name,type)= \
virtual type *Get##name ();" \
"vtkBooleanMacro(name,type)= \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment