# -------------------------------------------------------------------------
# doxyfile for VTK
# modified by S. Barre (Time-stamp: <2005-12-05 12:59:07 barre>
# -------------------------------------------------------------------------

PROJECT_NAME         = VTK
PROJECT_LOGO         = "@VTK_SOURCE_DIR@/vtkLogo.ico"
PROJECT_NUMBER       = "@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@.@VTK_BUILD_VERSION@"

FULL_PATH_NAMES      = YES
STRIP_FROM_PATH      = "@VTK_BINARY_DIR@/Utilities/Doxygen/dox"
WARN_IF_UNDOCUMENTED = NO

GENERATE_TREEVIEW    = NO
GENERATE_TODOLIST    = YES
GENERATE_BUGLIST     = YES
GENERATE_HTML        = YES
GENERATE_HTMLHELP    = @DOXYGEN_GENERATE_HTMLHELP@
GENERATE_LATEX       = NO
GENERATE_MAN         = NO
GENERATE_RTF         = NO
GENERATE_TAGFILE     = "@VTK_BINARY_DIR@/Utilities/Doxygen/vtk@VTK_MAJOR_VERSION@.@VTK_MINOR_VERSION@.tag"

PDF_HYPERLINKS       = YES

SEARCHENGINE         = YES
SERVER_BASED_SEARCH  = NO

HAVE_DOT             = @HAVE_DOT_YESNO@
DOT_PATH             = "@DOT_PATH@"
DOT_IMAGE_FORMAT     = svg
DOT_GRAPH_MAX_NODES  = 75
CLASS_GRAPH          = YES
COLLABORATION_GRAPH  = YES
TEMPLATE_RELATIONS   = YES
INCLUDE_GRAPH        = YES
INCLUDED_BY_GRAPH    = YES
CLASS_DIAGRAMS       = YES
GENERATE_LEGEND      = YES
GRAPHICAL_HIERARCHY  = NO        # would be too large for vtkObject
MAX_DOT_GRAPH_DEPTH  = 3

ALLEXTERNALS         = NO

IMAGE_PATH           = "@VTK_SOURCE_DIR@/Utilities/Doxygen" \
                       "@VTK_SOURCE_DIR@/Filters" \
                       "@VTK_SOURCE_DIR@/Geovis" \
                       "@VTK_SOURCE_DIR@/Rendering" \
                       "@VTK_SOURCE_DIR@"

OUTPUT_DIRECTORY     = "@VTK_BINARY_DIR@/Utilities/Doxygen/doc"

INPUT                = \
          "@VTK_SOURCE_DIR@/Documentation/Doxygen" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_version.dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_class2examples.dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_class2tests.dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_events2.dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_events.dox" \
          "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/doc_VTK_index.dox"

EXCLUDE_PATTERNS     = ".*/Testing/"
EXCLUDE              = \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Common/Core/vtkSetGet.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Common/DataModel/vtkMarchingSquaresLineCases.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Common/DataModel/vtkMarchingCubesTriangleCases.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Common/Core/vtkWindows.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Parallel/MPI/vtkMPI.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/IO/Import/vtk3DS.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/IO/Import/vtkVRML.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/IO/PLY/vtkPLY.h" \
    "@VTK_BINARY_DIR@/Utilities/Doxygen/dox/Rendering/FreeType/fonts/vtkEmbeddedFonts.h"

# TAGFILES           = "@VTK_BINARY_DIR@/Utilities/Doxygen/vtk@VTK_MAJOR_VERSION@-nightly.tag"=http://www.vtk.org/doc/nightly/html

EXTRACT_ALL          = YES
EXTRACT_PRIVATE      = NO
EXTRACT_STATIC       = YES
EXTRACT_LOCAL_CLASSES = NO
HIDE_UNDOC_MEMBERS   = NO
HIDE_UNDOC_CLASSES   = YES
ALWAYS_DETAILED_SEC  = NO
SOURCE_BROWSER       = YES
INLINE_SOURCES       = NO
CASE_SENSE_NAMES     = YES
VERBATIM_HEADERS     = NO
SHOW_INCLUDE_FILES   = YES
JAVADOC_AUTOBRIEF    = YES
SORT_MEMBER_DOCS     = NO
DISTRIBUTE_GROUP_DOC = YES
TAB_SIZE             = 3
HTML_TIMESTAMP       = YES
HTML_HEADER          = "@VTK_SOURCE_DIR@/Utilities/Doxygen/dox_header.html"
HTML_EXTRA_FILES     += "@VTK_SOURCE_DIR@/Utilities/Doxygen/vtk_favicon.png"
HTML_EXTRA_STYLESHEET = "@VTK_SOURCE_DIR@/Utilities/Doxygen/doc_extra_stylesheet.css"
SHORT_NAMES          = @DOXYGEN_SHORT_NAMES@
# PAPER_TYPE           = letter

FILE_PATTERNS        = *.h *.md *.cmake
EXTENSION_MAPPING    = cmake=c
FILTER_PATTERNS      = *.cmake="@PERL_EXECUTABLE@ @VTK_SOURCE_DIR@/Utilities/Doxygen/filters/cmake2c.pl"
RECURSIVE            = YES

ALPHABETICAL_INDEX   = YES
COLS_IN_ALPHA_INDEX  = 3
IGNORE_PREFIX        = vtk

ENABLE_PREPROCESSING = YES
MACRO_EXPANSION      = YES
SEARCH_INCLUDES      = YES
INCLUDE_PATH         =
EXPAND_ONLY_PREDEF   = YES
EXPAND_AS_DEFINED = vtkDataArray \
                    vtkAllEventsMacro \
                    vtkEventDeclarationMacro \
                    _vtk_add_event
PREDEFINED  = "vtkSetMacro(name,type)= \
                 virtual void Set##name (type);" \
              "vtkGetMacro(name,type)= \
                 virtual type Get##name ();" \
              "vtkSetStringMacro(name)= \
                 virtual void Set##name (const char*);" \
              "vtkGetStringMacro(name)= \
                 virtual char* Get##name ();" \
              "vtkSetClampMacro(name,type,min,max)= \
                 virtual void Set##name (type);" \
              "vtkSetObjectMacro(name,type)= \
                 virtual void Set##name (type*);" \
              "vtkGetObjectMacro(name,type)= \
                 virtual type *Get##name ();" \
              "vtkBooleanMacro(name,type)= \
                 virtual void name##On (); \
                 virtual void name##Off ();" \
              "vtkSetVector2Macro(name,type)= \
                 virtual void Set##name (type, type); \
                 void Set##name (type [2]);" \
              "vtkGetVector2Macro(name,type)= \
                 virtual type *Get##name (); \
                 virtual void Get##name (type &, type &); \
                 virtual void Get##name (type [2]);" \
              "vtkSetVector3Macro(name,type)= \
                 virtual void Set##name (type, type, type); \
                 virtual void Set##name (type [3]);" \
              "vtkGetVector3Macro(name,type)= \
                 virtual type *Get##name (); \
                 virtual void Get##name (type &, type &, type &); \
                 virtual void Get##name (type [3]);" \
              "vtkSetVector4Macro(name,type)= \
                 virtual void Set##name (type, type, type, type); \
                 virtual void Set##name (type [4]);" \
              "vtkGetVector4Macro(name,type)= \
                 virtual type *Get##name (); \
                 virtual void Get##name (type &, type &, type &, type &); \
                 virtual void Get##name (type [4]);" \
               "vtkSetVector6Macro(name,type)= \
                 virtual void Set##name (type, type, type, type, \
                                         type, type); \
                 virtual void Set##name (type [6]);" \
               "vtkGetVector6Macro(name,type)= \
                  virtual type *Get##name (); \
                  virtual void Get##name (type &, type &, type &, \
                                          type &, type &, type &); \
                  virtual void Get##name (type [6]);" \
               "vtkSetVectorMacro(name,type,count)= \
                  virtual void Set##name(type data[]);" \
               "vtkGetVectorMacro(name,type,count)= \
                   virtual type *Get##name (); \
                   virtual void Get##name(type data[##count]);" \
               "vtkWorldCoordinateMacro(name)= \
                   virtual vtkCoordinate *Get##name##Coordinate (); \
                   virtual void Set##name(float x[3]); \
                   virtual void Set##name(float x, float y, float z); \
                   virtual float *Get##name();" \
               "vtkViewportCoordinateMacro(name)= \
                   virtual vtkCoordinate *Get##name##Coordinate (); \
                   virtual void Set##name(float x[2]); \
                   virtual void Set##name(float x, float y); \
                   virtual float *Get##name();" \
               "vtkTypeMacro(thisClass,superclass)= \
                   typedef superclass Superclass; \
                   private: \
                   virtual const char* GetClassNameInternal() const; \
                   public: \
                   static vtkTypeBool IsTypeOf(const char *type); \
                   virtual vtkTypeBool IsA(const char *type); \
                   static thisClass* SafeDownCast(vtkObjectBase *o); \
                   protected: \
                   virtual vtkObjectBase *NewInstanceInternal() const; \
                   public: \
                   thisClass *NewInstance() const;" \
               "VTK_LEGACY(x)= x" \
               "VTK_NEWINSTANCE=" \
               "VTK_ZEROCOPY=" \
               "VTK_EXPECTS(x)=" \
               "VTK_SIZEHINT(...)=" \
               "VTK_DEPRECATED_IN_8_2_0(msg)=" \
               "VTK_DEPRECATED_IN_9_0_0(msg)=" \
               "VTK_DEPRECATED_IN_9_1_0(msg)=" \
               "DOXYGEN_SHOULD_SKIP_THIS"
