diff --git a/doxygen/Doxyfile_rtf_users_guide b/doxygen/Doxyfile_rtf_users_guide deleted file mode 100644 index 188eeb2e..00000000 --- a/doxygen/Doxyfile_rtf_users_guide +++ /dev/null @@ -1,1931 +0,0 @@ -# Doxyfile 1.8.3.1 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" "). - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# http://www.gnu.org/software/libiconv for the list of possible encodings. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or sequence of words) that should -# identify the project. Note that if you do not use Doxywizard you need -# to put quotes around the project name if it contains spaces. - -PROJECT_NAME = Trick - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = $(TRICK_RELEASE) - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer -# a quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = - -# With the PROJECT_LOGO tag one can specify an logo or icon that is -# included in the documentation. The maximum height of the logo should not -# exceed 55 pixels and the maximum width should not exceed 200 pixels. -# Doxygen will copy the logo to the output directory. - -PROJECT_LOGO = - -# 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 = $(TRICK_DOCS) - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional, -# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German, -# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English -# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, -# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, -# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = "The $name class" \ - "The $name widget" \ - "The $name file" \ - is \ - provides \ - specifies \ - contains \ - represents \ - a \ - an \ - the - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. Note that you specify absolute paths here, but also -# relative paths, which will be relative from the directory where doxygen is -# started. - -STRIP_FROM_PATH = $(TRICK_HOME)/ - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = $(TRICK_HOME)/trick_source - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful if your file system -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES 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 -# comments will behave just like regular Qt-style comments -# (thus requiring an explicit @brief command for a brief description.) - -JAVADOC_AUTOBRIEF = YES - -# If the QT_AUTOBRIEF tag is set to YES then Doxygen will -# interpret the first line (until the first dot) of a Qt-style -# comment as the brief description. If set to NO, the comments -# will behave just like regular Qt-style comments (thus requiring -# an explicit \brief command for a brief description.) - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# 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 = 4 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = "userdesc=@htmlonly @endhtmlonly" - -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding -# "class=itcl::class" will allow you to use the command class in the -# itcl::class meaning. - -TCL_SUBST = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = NO - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java -# sources only. Doxygen will then generate output that is more tailored for -# Java. For instance, namespaces will be presented as packages, qualified -# scopes will look different, etc. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources only. Doxygen will then generate output that is more tailored for -# Fortran. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for -# VHDL. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, -# and language is one of the parsers supported by doxygen: IDL, Java, -# Javascript, CSharp, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, -# C++. For instance to make doxygen treat .inc files as Fortran files (default -# is PHP), and .f files as C (default is Fortran), use: inc=Fortran f=C. Note -# that for custom extensions you also need to set FILE_PATTERNS otherwise the -# files are not read by doxygen. - -EXTENSION_MAPPING = - -# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all -# comments according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you -# can mix doxygen, HTML, and XML commands with Markdown formatting. -# Disable only in case of backward compatibilities issues. - -MARKDOWN_SUPPORT = YES - -# When enabled doxygen tries to link words that correspond to documented classes, -# or namespaces to their corresponding documentation. Such a link can be -# prevented in individual cases by by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should -# set this tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also makes the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. -# Doxygen will parse them like normal C++ but will assume all classes use public -# instead of private inheritance when no explicit protection keyword is present. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES (the -# default) will make doxygen replace the get and set methods by a property in -# the documentation. This will only work if the methods are indeed getting or -# setting a simple type. If this is not the case, or you want to show the -# methods anyway, you should set this option to NO. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and -# unions are shown inside the group in which they are included (e.g. using -# @ingroup) instead of on a separate page (for HTML and Man pages) or -# section (for LaTeX and RTF). - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and -# unions with only public data fields will be shown inline in the documentation -# of the scope in which they are defined (i.e. file, namespace, or group -# documentation), provided this scope is documented. If set to NO (the default), -# structs, classes, and unions are shown on a separate page (for HTML and Man -# pages) or section (for LaTeX and RTF). - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum -# is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically -# be useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. - -TYPEDEF_HIDES_STRUCT = NO - -# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to -# determine which symbols to keep in memory and which to flush to disk. -# When the cache is full, less often used symbols will be written to disk. -# For small to medium size projects (<1000 input files) the default value is -# probably good enough. For larger projects a too small cache size can cause -# doxygen to be busy swapping symbols to and from disk most of the time -# causing a significant performance penalty. -# If the system has enough physical memory increasing the cache will improve the -# performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will roughly double the -# memory usage. The cache size is given by this formula: -# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -SYMBOL_CACHE_SIZE = 0 - -# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be -# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given -# their name and scope. Since this can be an expensive process and often the -# same symbol appear multiple times in the code, doxygen keeps a cache of -# pre-resolved symbols. If the cache is too small doxygen will become slower. -# If the cache is too large, memory is wasted. The cache size is given by this -# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0, -# corresponding to a cache size of 2^16 = 65536 symbols. - -LOOKUP_CACHE_SIZE = 0 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal -# scope will be included in the documentation. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. When set to YES local -# methods, which are defined in the implementation section but not in -# the interface are included in the documentation. -# If set to NO (the default) only methods in the interface are included. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base -# name of the file that contains the anonymous namespace. By default -# anonymous namespaces are hidden. - -EXTRACT_ANON_NSPACES = NO - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = NO - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen -# will list include files with double quotes in the documentation -# rather than with sharp brackets. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen -# will sort the (brief and detailed) documentation of class members so that -# constructors and destructors are listed first. If set to NO (the default) -# the constructors will appear in the respective orders defined by -# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS. -# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO -# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the -# hierarchy of group names into alphabetical order. If set to NO (the default) -# the group names will appear in their defined order. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = YES - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to -# do proper type resolution of all parameters of a function it will reject a -# match between the prototype and the implementation of a member function even -# if there is only one candidate or it is obvious which candidate to choose -# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen -# will still accept a match between prototype and implementation in such cases. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = NO - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if section-label ... \endif -# and \cond section-label ... \endcond blocks. - -ENABLED_SECTIONS = Er7UtilsUseGroups - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or macro consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and macros in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. -# This will remove the Files entry from the Quick Index and from the -# Folder Tree View (if specified). The default is YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the -# Namespaces page. -# This will remove the Namespaces entry from the Quick Index -# and from the Folder Tree View (if specified). The default is YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. -# You can optionally specify a file name after the option, if omitted -# DoxygenLayout.xml will be used as the name of the layout file. - -LAYOUT_FILE = $(TRICK_HOME)/doxygen/DoxygenLayout.xml - -# The CITE_BIB_FILES tag can be used to specify one or more bib files -# containing the references data. This must be a list of .bib files. The -# .bib extension is automatically appended if omitted. Using this command -# requires the bibtex tool to be installed. See also -# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style -# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this -# feature you need bibtex and perl available in the search path. Do not use -# file names with spaces, bibtex cannot handle them. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# The WARN_NO_PARAMDOC option can be enabled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = $(TRICK_HOME)/doxygen/warning_msgs - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = $(TRICK_HOME)/doxygen \ - $(TRICK_HOME)/trick_source - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is -# also the default input encoding. Doxygen uses libiconv (or the iconv built -# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for -# the list of possible encodings. - -INPUT_ENCODING = UTF-8 - -# 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 -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh -# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py -# *.f90 *.f *.for *.vhd *.vhdl - -FILE_PATTERNS = *.c \ - *.cc \ - *.cxx \ - *.cpp \ - *.c++ \ - *.d \ - *.java \ - *.ii \ - *.ixx \ - *.ipp \ - *.i++ \ - *.inl \ - *.h \ - *.hh \ - *.hxx \ - *.hpp \ - *.h++ \ - *.idl \ - *.odl \ - *.cs \ - *.php \ - *.php3 \ - *.inc \ - *.m \ - *.mm \ - *.dox \ - *.py \ - *.f90 \ - *.f \ - *.vhd \ - *.vhdl - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = ../trick_source/er7_utils \ - requirements \ - design \ - main_page.dox - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = */io_src/* \ - */testing/* \ - */data_products/* \ - */sim_objects/* \ - */3rd_party/* \ - */trick_swig/* \ - */.svn/* \ - */design.dox \ - */requirements.dox - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = * - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = $(TRICK_HOME)/doxygen \ - $(TRICK_HOME)/doxygen/images \ - $(TRICK_HOME)/bin/java/src/trick/common/resources \ - $(TRICK_HOME)/bin/tcl/images - -# 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 -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. -# If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. -# Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. -# The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty or if -# non of the patterns match the file name, INPUT_FILTER is applied. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) -# and it is also possible to disable source filtering for a specific pattern -# using *.ext= (so without naming a filter). This option only has effect when -# FILTER_SOURCE_FILES is enabled. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MD_FILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page (index.html). -# This can be useful if you have a project on for instance GitHub and want reuse -# the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = YES - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C, C++ and Fortran comments will always remain visible. - -STRIP_CODE_COMMENTS = NO - -# If the REFERENCED_BY_RELATION tag is set to YES -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. -# Otherwise they will link to the documentation. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = NO - -# 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 -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. Note that when using a custom header you are responsible -# for the proper inclusion of any scripts and style sheets that doxygen -# needs, which is dependent on the configuration options used. -# It is advised to generate a default header using "doxygen -w html -# header.html footer.html stylesheet.css YourConfigFile" and then modify -# that header. Note that the header is subject to change so you typically -# have to redo this when upgrading to a newer version of doxygen or when -# changing the value of configuration settings such as GENERATE_TREEVIEW! - -HTML_HEADER = $(TRICK_HOME)/doxygen/header.html - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = $(TRICK_HOME)/doxygen/footer.html - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If left blank doxygen will -# generate a default style sheet. Note that it is recommended to use -# HTML_EXTRA_STYLESHEET instead of this one, as it is more robust and this -# tag will in the future become obsolete. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional -# user-defined cascading style sheet that is included after the standard -# style sheets created by doxygen. Using this option one can overrule -# certain style aspects. This is preferred over using HTML_STYLESHEET -# since it does not replace the standard style sheet and is therefor more -# robust against future updates. Doxygen will copy the style sheet file to -# the output directory. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that -# the files will be copied as-is; there are no commands or markers available. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. -# Doxygen will adjust the colors in the style sheet and background images -# according to this color. Hue is specified as an angle on a colorwheel, -# see http://en.wikipedia.org/wiki/Hue for more information. -# For instance the value 0 represents red, 60 is yellow, 120 is green, -# 180 is cyan, 240 is blue, 300 purple, and 360 is red again. -# The allowed range is 0 to 359. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of -# the colors in the HTML output. For a value of 0 the output will use -# grayscales only. A value of 255 will produce the most vivid colors. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to -# the luminance component of the colors in the HTML output. Values below -# 100 gradually make the output lighter, whereas values above 100 make -# the output darker. The value divided by 100 is the actual gamma applied, -# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2, -# and 100 does not change the gamma. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting -# this to NO can help when comparing the output of multiple runs. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of -# entries shown in the various tree structured indices initially; the user -# can expand and collapse entries dynamically later on. Doxygen will expand -# the tree to such a level that at most the specified number of entries are -# visible (unless a fully collapsed tree already exceeds this amount). -# So setting the number of entries 1 will produce a full collapsed tree by -# default. 0 is a special value representing an infinite number of entries -# and will result in a full expanded tree by default. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files -# will be generated that can be used as input for Apple's Xcode 3 -# integrated development environment, introduced with OSX 10.5 (Leopard). -# To create a documentation set, doxygen will generate a Makefile in the -# HTML output directory. Running make will produce the docset in that -# directory and running "make install" will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find -# it at startup. -# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. - -GENERATE_DOCSET = NO - -# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the -# feed. A documentation feed provides an umbrella under which multiple -# documentation sets from a single provider (such as a company or product suite) -# can be grouped. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that -# should uniquely identify the documentation set bundle. This should be a -# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen -# will append .docset to the name. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely -# identify the documentation publisher. This should be a reverse domain-name -# style string, e.g. com.mycompany.MyDocSet.documentation. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compiled HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING -# is used to encode HtmlHelp index (hhk), content (hhc) and project file -# content. - -CHM_INDEX_ENCODING = - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = YES - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated -# that can be used as input for Qt's qhelpgenerator to generate a -# Qt Compressed Help (.qch) of the generated HTML documentation. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can -# be used to specify the file name of the resulting .qch file. -# The path specified is relative to the HTML output folder. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#namespace - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating -# Qt Help Project output. For more information please see -# http://doc.trolltech.com/qthelpproject.html#virtual-folders - -QHP_VIRTUAL_FOLDER = doc - -# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to -# add. For more information please see -# http://doc.trolltech.com/qthelpproject.html#custom-filters - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see -# -# Qt Help Project / Custom Filters. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's -# filter section matches. -# -# Qt Help Project / Filter Attributes. - -QHP_SECT_FILTER_ATTRS = - -# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can -# be used to specify the location of Qt's qhelpgenerator. -# If non-empty doxygen will try to run qhelpgenerator on the generated -# .qhp file. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files -# will be generated, which together with the HTML files, form an Eclipse help -# plugin. To install this plugin and make it available under the help contents -# menu in Eclipse, the contents of the directory containing the HTML and XML -# files needs to be copied into the plugins directory of eclipse. The name of -# the directory within the plugins directory should be the same as -# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before -# the help appears. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have -# this name. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) -# at top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. Since the tabs have the same information as the -# navigation tree you can set this option to NO if you already set -# GENERATE_TREEVIEW to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. -# If the tag value is set to YES, a side panel will be generated -# containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser). -# Windows users are probably better off using the HTML help feature. -# Since the tree basically has the same information as the tab index you -# could consider to set DISABLE_INDEX to NO when enabling this option. - -GENERATE_TREEVIEW = YES - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values -# (range [0,1..20]) that doxygen will group on one line in the generated HTML -# documentation. Note that a value of 0 will completely suppress the enum -# values from appearing in the overview section. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open -# links to external symbols imported via tag files in a separate window. - -EXT_LINKS_IN_WINDOW = NO - -# Use this tag to change the font size of Latex formulas included -# as images in the HTML documentation. The default is 10. Note that -# when you change the font size after a successful doxygen run you need -# to manually remove any form_*.png images from the HTML output directory -# to force them to be regenerated. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are -# not supported properly for IE 6.0, but are supported on all modern browsers. -# Note that when changing this option you need to delete any form_*.png files -# in the HTML output before the changes have effect. - -FORMULA_TRANSPARENT = YES - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax -# (see http://www.mathjax.org) which uses client side Javascript for the -# rendering instead of using prerendered bitmaps. Use this if you do not -# have LaTeX installed or if you want to formulas look prettier in the HTML -# output. When enabled you may also need to install MathJax separately and -# configure the path to it using the MATHJAX_RELPATH option. - -USE_MATHJAX = NO - -# When MathJax is enabled you can set the default output format to be used for -# thA MathJax output. Supported types are HTML-CSS, NativeMML (i.e. MathML) and -# SVG. The default value is HTML-CSS, which is slower, but has the best -# compatibility. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the -# HTML output directory using the MATHJAX_RELPATH option. The destination -# directory should contain the MathJax.js script. For instance, if the mathjax -# directory is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to -# the MathJax Content Delivery Network so you can quickly see the result without -# installing MathJax. -# However, it is strongly recommended to install a local -# copy of MathJax from http://www.mathjax.org before deployment. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension -# names that should be enabled during MathJax rendering. - -MATHJAX_EXTENSIONS = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box -# for the HTML output. The underlying search engine uses javascript -# and DHTML and should work on any modern browser. Note that when using -# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets -# (GENERATE_DOCSET) there is already a search function so this one should -# typically be disabled. For large projects the javascript based search engine -# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution. - -SEARCHENGINE = YES - -# When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. -# There are two flavours of web server based search depending on the -# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for -# searching and an index file used by the script. When EXTERNAL_SEARCH is -# enabled the indexing and searching needs to be provided by external tools. -# See the manual for details. - -SERVER_BASED_SEARCH = NO - -# When EXTERNAL_SEARCH is enabled doxygen will no longer generate the PHP -# script for searching. Instead the search results are written to an XML file -# which needs to be processed by an external indexer. Doxygen will invoke an -# external search engine pointed to by the SEARCHENGINE_URL option to obtain -# the search results. Doxygen ships with an example indexer (doxyindexer) and -# search engine (doxysearch.cgi) which are based on the open source search engine -# library Xapian. See the manual for configuration details. - -EXTERNAL_SEARCH = NO - -# The SEARCHENGINE_URL should point to a search engine hosted by a web server -# which will returned the search results when EXTERNAL_SEARCH is enabled. -# Doxygen ships with an example search engine (doxysearch) which is based on -# the open source search engine library Xapian. See the manual for configuration -# details. - -SEARCHENGINE_URL = - -# When SERVER_BASED_SEARCH and EXTERNAL_SEARCH are both enabled the unindexed -# search data is written to a file for indexing by an external tool. With the -# SEARCHDATA_FILE tag the name of this file can be specified. - -SEARCHDATA_FILE = searchdata.xml - -# When SERVER_BASED_SEARCH AND EXTERNAL_SEARCH are both enabled the -# EXTERNAL_SEARCH_ID tag can be used as an identifier for the project. This is -# useful in combination with EXTRA_SEARCH_MAPPINGS to search through multiple -# projects and redirect the results back to the right project. - -EXTERNAL_SEARCH_ID = - -# The EXTRA_SEARCH_MAPPINGS tag can be used to enable searching through doxygen -# projects other than the one defined by this configuration file, but that are -# all added to the same external search index. Each project needs to have a -# unique id set via EXTERNAL_SEARCH_ID. The search mapping then maps the id -# of to a relative location where the documentation can be found. -# The format is: EXTRA_SEARCH_MAPPINGS = id1=loc1 id2=loc2 ... - -EXTRA_SEARCH_MAPPINGS = - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = NO - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. -# Note that when enabling USE_PDFLATEX this option is only used for -# generating bitmaps for formulas in the HTML output, but not in the -# Makefile that is written to the output directory. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = letter - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = amsmath \ - amsfonts - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for -# the generated latex document. The footer should contain everything after -# the last chapter. If it is left blank doxygen will generate a -# standard footer. Notice: only use this tag if you know what you are doing! - -LATEX_FOOTER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = YES - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -# If LATEX_SOURCE_CODE is set to YES then doxygen will include -# source code with syntax highlighting in the LaTeX output. -# Note that which sources are shown also depends on other settings -# such as SOURCE_BROWSER. - -LATEX_SOURCE_CODE = NO - -# The LATEX_BIB_STYLE tag can be used to specify the style to use for the -# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See -# http://en.wikipedia.org/wiki/BibTeX for more info. - -LATEX_BIB_STYLE = plain - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = YES - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = YES - -# Load style sheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. -# This is useful -# if you want to understand what is going on. -# On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = NO - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = NO - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# pointed to by INCLUDE_PATH will be searched when a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = $(TRICK_HOME)/trick_source - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = TRICK_VER=$(TRICK_MAJOR) \ - TRICK_MINOR=$(TRICK_MINOR) \ - __GNUC__ \ - ER7_UTILS_MAKE_SIM_INTERFACES(x):= \ - ER7_UTILS_UNUSED:= \ - ER7_UTILS_RESTRICT:= \ - ER7_UTILS_ALWAYS_INLINE:= - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition that -# overrules the definition found in the source code. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all references to function-like macros -# that are alone on a line, have an all uppercase name, and do not end with a -# semicolon, because these will confuse the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. For each -# tag file the location of the external documentation should be added. The -# format of a tag file without this location is as follows: -# -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths -# or URLs. Note that each tag file must have a unique name (where the name does -# NOT include the path). If a tag file is not located in the directory in which -# doxygen is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = $(TRICK_HOME)/share/doc/trick/trick.tag - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option also works with HAVE_DOT disabled, but it is recommended to -# install and use dot, since it yields more powerful graphs. - -CLASS_DIAGRAMS = NO - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see -# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = YES - -# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is -# allowed to run in parallel. When set to 0 (the default) doxygen will -# base this on the number of processors available in the system. You can set it -# explicitly to a value larger than 0 to get control over the balance -# between CPU load and processing speed. - -DOT_NUM_THREADS = 0 - -# By default doxygen will use the Helvetica font for all dot files that -# doxygen generates. When you want a differently looking font you can specify -# the font name using DOT_FONTNAME. You need to make sure dot is able to find -# the font, which can be done by putting it in a standard location or by setting -# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the -# directory containing the font. - -DOT_FONTNAME = FreeSans - -# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs. -# The default size is 10pt. - -DOT_FONTSIZE = 10 - -# By default doxygen will tell dot to use the Helvetica font. -# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to -# set the path where dot can find it. - -DOT_FONTPATH = - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are 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. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If the UML_LOOK tag is enabled, the fields and methods are shown inside -# the class node. If there are many fields or methods and many nodes the -# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS -# threshold limits the number of items for each type to make the size more -# managable. Set this to 0 for no limit. Note that the threshold may be -# exceeded by 50% before the limit is enforced. - -UML_LIMIT_NUM_FIELDS = 10 - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT options are set to YES then -# doxygen will generate a call dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable call graphs -# for selected functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then -# doxygen will generate a caller dependency graph for every global function -# or class method. Note that enabling this option will significantly increase -# the time of a run. So in most cases it will be better to enable caller -# graphs for selected functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will generate a graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are svg, png, jpg, or gif. -# If left blank png will be used. If you choose svg you need to set -# HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible in IE 9+ (other browsers do not have this requirement). - -DOT_IMAGE_FORMAT = png - -# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to -# enable generation of interactive SVG images that allow zooming and panning. -# Note that this requires a modern browser other than Internet Explorer. -# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you -# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files -# visible. Older versions of IE do not have SVG support. - -INTERACTIVE_SVG = NO - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MSCFILE_DIRS tag can be used to specify one or more directories that -# contain msc files that are included in the documentation (see the -# \mscfile command). - -MSCFILE_DIRS = - -# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of -# nodes that will be shown in the graph. If the number of nodes in a graph -# becomes larger than this value, doxygen will truncate the graph, which is -# visualized by representing a node as a red box. Note that doxygen if the -# number of direct children of the root node in a graph is already larger than -# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note -# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH. - -DOT_GRAPH_MAX_NODES = 500 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that the size of a graph can be further restricted by -# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, because dot on Windows does not -# seem to support this out of the box. Warning: Depending on the platform used, -# enabling this option may lead to badly anti-aliased labels on the edges of -# a graph (i.e. they become hard to read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES diff --git a/doxygen/auto_number.pl b/doxygen/auto_number.pl deleted file mode 100755 index 8c8de2ea..00000000 --- a/doxygen/auto_number.pl +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/perl - -use strict ; - -sub read_file($$$) { - my ($file_name, $levels, $prefix) = @_ ; - my ($out_file_name) ; - my ($ii) ; - - local *FILE ; - local *OUTFILE ; - - if ( $file_name =~ /dox_in$/ ) { - - if ( ! -e $file_name ) { - if ( ! -e "$ENV{TRICK_HOME}/trick_source/$file_name" ) { - die "could not open $file_name" ; - } else { - $file_name = "$ENV{TRICK_HOME}/trick_source/$file_name" ; - } - } - open FILE, "$file_name" or die "could not open $file_name" ; - - $out_file_name = $file_name ; - $out_file_name =~ s/_in$// ; - open OUTFILE, "> $out_file_name" or die "could not open $file_name" ; - - while ( ) { - - if ( /^#include\s+"(.*?)"/ ) { - - my ($include_file) = $1 ; - my ($out_include_file) ; - - $out_include_file = $include_file ; - if ( $out_include_file =~ s/_in$// ) { - print OUTFILE "#include \"$out_include_file\"\n" ; - read_file($include_file, $levels, $prefix) ; - } else { - print OUTFILE ; - } - - } elsif ( /^(.*?)LEVEL(\d+)(cont)?(.*)/ ) { - - my ($tag) = $1 ; - my ($level) = $2 ; - my ($cont) = $3 ; - my ($title) = $4 ; - my ($section, $level_dots) ; - - if ( $cont eq "" ) { - $$levels[$level]++ ; - for( $ii = $level + 1 ; $ii < 8 ; $ii++ ) { - $$levels[$ii] = 0 ; - } - } - $section = sprintf "$prefix%02d" , $$levels[1] ; - $level_dots = "$$levels[1]" ; - for( $ii = 2 ; $ii <= $level ; $ii++ ) { - #$section .= $$levels[$ii] ; - $section .= sprintf "%02d" , $$levels[$ii] ; - $level_dots .= ".$$levels[$ii]" ; - } - if ( $tag =~ /\@\w+\s+$/ ) { - print OUTFILE "$tag$section $level_dots $title\n" ; - } else { - print OUTFILE "$tag$level_dots $title\n" ; - } - - } else { - print OUTFILE ; - } - } - } -} - -my @levels = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } ; - -die "Usage: auto_number.pl " if ( scalar @ARGV != 1 ) ; -read_file("main_page.dox_in", \@levels, @ARGV[0]) ; diff --git a/doxygen/main_page.dox b/doxygen/main_page.dox index 11e1918a..1215947b 100644 --- a/doxygen/main_page.dox +++ b/doxygen/main_page.dox @@ -1,9 +1,9 @@ /** @mainpage Trick Documentation --# @subpage users_guide "User's Guide" --# @subpage requirements "Requirements Document" --# @subpage design "Design Document" +Trick Users's Guide now found at http://github.com/nasa/trick/wiki +

+This documentation contains information about internal Trick classes and enumerations. */ diff --git a/doxygen/main_page_users_guide.dox b/doxygen/main_page_users_guide.dox deleted file mode 100644 index 6a6b8ce7..00000000 --- a/doxygen/main_page_users_guide.dox +++ /dev/null @@ -1,7 +0,0 @@ -/** -@mainpage Trick User's Guide - -*/ - -#include users_guide/main_page.dox - diff --git a/doxygen/makefile b/doxygen/makefile index 1c15a4d4..ab9dd2f7 100644 --- a/doxygen/makefile +++ b/doxygen/makefile @@ -5,18 +5,10 @@ export TRICK_MAJOR = $(shell echo $(TRICK_RELEASE) | cut -f 1 -d.) export TRICK_MINOR = $(shell echo $(TRICK_RELEASE) | cut -f 2 -d.) all: - cd users_guide ; ../auto_number.pl u - cd requirements ; ../auto_number.pl r - cd design ; ../auto_number.pl d doxygen Doxyfile - @ cp */*.html ${TRICK_DOCS}/html @ cp ${TRICK_HOME}/trick_source/java/src/trick/common/resources/trick_small.gif ${TRICK_DOCS}/html @ cp ${TRICK_HOME}/doxygen/trick_icon.png ${TRICK_DOCS}/html -rtf_users_guide: - cd users_guide ; ../auto_number.pl u - doxygen Doxyfile_rtf_users_guide - clean: @ test `uname -s` = Darwin \ && \ diff --git a/doxygen/remove_user_doc.pl b/doxygen/remove_user_doc.pl deleted file mode 100755 index ae72107a..00000000 --- a/doxygen/remove_user_doc.pl +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/perl - -use strict ; - -my (@all_lines) ; -my ($contents) ; - -foreach my $f ( @ARGV ) { - print "$f\n" ; - open (FH, "+< $f") ; - - @all_lines = ; - $contents = join "" , @all_lines ; - - $contents =~ s/()//igs ; - - seek(FH,0,0) ; - print FH $contents ; - truncate(FH, tell(FH)) ; - close(FH) ; -} - diff --git a/doxygen/users_guide/CP.dox_in b/doxygen/users_guide/CP.dox_in deleted file mode 100644 index 69e61341..00000000 --- a/doxygen/users_guide/CP.dox_in +++ /dev/null @@ -1,158 +0,0 @@ -/** -@page LEVEL2 Making the Simulation. - -@section LEVEL3 Simulation Compilation Environment Variables - -TRICK_CFLAGS and TRICK_CXXFLAGS affect where model source files are searched for and -how the files are compiled. See section @ref Trick_Environment for more information -to how to set TRICK_CFLAGS and TRICK_CXXFLAGS when compiling a simulation. - -@section LEVEL3 Making the Simulation for the First Time. - -Make and the makefiles contain all of the magic of building a simulation. When a -simulation is ready to be built for the very first time run we run the -configuration processor script (CP) in the simulation directory. - -UNIX prompt> CP - -CP creates a small makefile and calls make to start the simulation build process. -The small makefile does not change and is the same from simulation to simulation. -It can be copied from another simulation directory and the CP step may be skipped. -From this point CP does not need to be run again, all compilations use "make". - -When make is invoked, the first rule it executes is to parse the S_define file. -The parser from this point will be referred to as CP. CP was the main compilation -command before %Trick 10. Using the S_define file created by the user, the CP -finds all source code related to the simulation, builds the code using a C compiler, -and puts it all together to make one executable. In its processing it -gathers/generates all the IO source code, default data, recursive -header/object dependencies and external library dependencies. - -After the initial CP is run, when there are changes made to model source code or -the S_define file, they are recompiled using make. - -UNIX prompt> make - -@section LEVEL3 How Trick Finds Simulation Source Code - -%Trick must compile a list of all of the source code required to create the -simulation described in the S_define file. %Trick does this by creating a list -of required header files, and the automatic I/O souce code it must build to go -with those header files, and the model source code files. - -Header files are searched for starting from the S_define file. Any file that is -double pound "##" included in the S_define file is automatically included in the -list of header files. Each header file is recursively parsed to determine all -lower level header files on which the top level header is dependent on. Doing this -for all double pound files gives us the full list of header files. - -Model source files are found through LIBRARY DEPENDENCIES. Starting in the S_define -file, any LIBRARY DEPENDENCIES listed are searched for. See -@ref S_define_Library_Dependencies for more information on how to add dependencies -in the S_define file. All of the header files gathered from the previous step are -also searched for library dependencies. Finally all model source code found from -the previous steps is recursively searched for additional dependencies. -See @ref Library_Dependencies for more information on how to add dependencies to -model source code. Rules to compile all of these files are written to the makefile. - -@section LEVEL3 Changing Simulation Compilation through Makefile Overrides - -Sometimes a programmer may want %Trick to pick up specific compiler flags or some -special makefile rule for building a model or building the simulation. %Trick allows the -programmer to override the default Makefile rules with a facility we are calling -“makefile overrides”. - -For overrides in model directories, a user can create a file called “makefile_overrides”. -In this file s/he can override any of the rules that are within the Makefile. When a -make_build command is issued, this makefile_overrides file is looked for and if it is -present, it is included from the Makefile. The rules contained in the overrides file are -then read in when make is called. - -This same file is looked for in each directory when a CP is performed. Each -“makefile_overrides” file in this case is read into memory and certain rules are translated -so only those files in that directory are affected. Instead of just including these files -(where there can be multiple files), all of the translated output is inserted into the Makefile. - -For overrides in sim directories, there is a sim specific overrides file called -“S_overrides.mk”. If this file is present in the sim directory, it is included after the -directory specific overrides. The rules in this file are the last word in how things are -going to compile. - -@section LEVEL4 Example Of How To Optimize A Model - -- Go to model dir to optimize - -UNIX Prompt> cd /user/me/trick_models/ball/L1 - -- Edit a file called “makefile_overrides” with the following line: - -objects: TRICK_CFLAGS += -O3 - -- Do a make_build - -UNIX Prompt>make_build - -After make_build, look at Makefile. There is a line -“include makefile_overrides”. This is what will pick up the optimization flag. - -- Build the model. - -UNIX Prompt> make - -That’s it. - -@section LEVEL4 Example Of How To Add a Pre-compiled Library to the Simulation - -- Go to simulation dir. - -UNIX Prompt> cd /user/me/trick_sims/SIM_ball_L1 - -- Edit a file called “S_overrides.mk". Append to the TRICK_USER_LINK_LIBS variable. - -TRICK_USER_LINK_LIBS = -L/path/to/library -lmy_lib - -@section LEVEL4 Example Of How To Exclude a Directory from ICG during CP - -- Go to simulation dir. - -UNIX Prompt> cd /user/me/trick_sims/SIM_ball_L1 - -- Edit a file called “S_overrides.mk”. Append to the TRICK_ICG_EXCLDUE variable. - -TRICK_ICG_EXCLUDE += /path/to/exclude:/another/path/to/exclude - -@section LEVEL4 Example Of How To Exclude a Directory from most CP processing - -- Edit a file called “S_overrides.mk”. Append to the TRICK_EXCLDUE variable. - -TRICK_EXCLUDE += /path/to/exclude:/another/path/to/exclude - -@section LEVEL3 Cleaning Up - -There are several levels of clean. - -UNIX Prompt> make clean - -Clean tries to remove only object files directly related to the current simulation. -It will remove all of the generated files in the simulation directory. Clean -also selectively removes model object files used to link this simulation. - -UNIX Prompt> make real_clean - -Real_clean is equivalent to clean. - -UNIX Prompt> make spotless - -Spotless is less discriminate in the files it removes. In addition to all -of the files that clean removes, spotless will remove complete model object -directories where any file included in the simulation was found. - -UNIX Prompt> make apocalypse - -Apocalypse is a special case rule when simulation libraries are used to build -a simulation. See section @ref Simulation_Libraries for more information -about. In addition to all of files that spotless removes, apocalype will -run the spotless rule on any simulation directory the current simulation -includes. - -*/ diff --git a/doxygen/users_guide/S_define.dox_in b/doxygen/users_guide/S_define.dox_in deleted file mode 100644 index 99941e83..00000000 --- a/doxygen/users_guide/S_define.dox_in +++ /dev/null @@ -1,795 +0,0 @@ -/** -@page LEVEL2 Simulation Definition File (S_define) - -The “Simulation Definition File” or S_define is the file which outlays the architecture -of the simulation. Details about job frequencies, job class, job data, importing/exporting -data to other simulations, freeze cycles, integration, etc. are all housed in this one file. -It is the file which Trick’s main processor, CP, parses to determine what will be part of -the simulation and how the pieces fit together. - -This section begins with the syntax for the S_define, then details each and every entry -in the syntax template. This section also details how to use Trick’s main processor, CP. - -@verbatim -[/* [TRICK_HEADER] - -PURPOSE: (purpose statement) -[LIBRARY DEPENDENCIES: - ( - [(/)] - ) -] - -[DEFAULT_DATA: - ( - [(struct_type instance_name /)] - ) -] -*/] - -#include "sim_objects/default_trick_sys.sm" - -##include "/" - -%header{ - /* User header code block */ -%} - -%{ - /* User code block */ -%} - -class : public Trick::SimObject { - - [(public|protected|private):] - - [*]* [dims]* - - ([args]) { - - [C<#>] [{job_tag}] [P<#>] ([, [, [,]]] ) \ - [ =] ([args]) ; - - } - - [([args]) { ... } ;] -} ; - -[job_class_order { - , - , - ... -} ;] - -[ [(args)] ;] - -[integrate () [, = {[ [,]]};] - -[void create_connections() { }] - -@endverbatim - -@section LEVEL3 Trick Header Comment - -This optional section of the S_define file is a C style comment found anywhere in the S_define file. -CP will parse the %Trick Header comment looking for library dependencies and default data. Library -dependencies are model source code files that are added to the list of files to be compiled and -linked into the simulation. These dependencies differ from the ones found in the actual model source -code in that they are the full relative path to the actual source code file, not the resulting object file. -CP also looks for old style default data files. Each default data entry has 3 fields, the structure type, the -instance name, and the relative path to the default data file. CP will read in the default data file -substituting each occurance of the structure type in the file with the instance name. All of the default -data files are concatenated to the S_default.dat file. - -@anchor S_define_Library_Dependencies -@section LEVEL4 S_define Library Dependencies - -@verbatim -LIBRARY DEPENDENCY: - ((relative_path/model_1.c) - (relative_path/model_2.cpp)) -@endverbatim - -Library dependencies list out model source code files required by the simulation. There are several -locations to add library dependencies, one of which is in the S_define file. The format of -dependencies in the S_define file is a relative path to the model source file. The path is relative -to -I include paths found in TRICK_CFLAGS and TRICK_CXXFLAGS. - -For example if the full path to our model is /this/is/a/full/path/to/model.c and in our TRICK_CFLAGS -we have -I/this/is/a/full as one of the included search paths, the library dependency must complete the -full path to the file, in this case path/to/model.c. Library dependendencies in the S_define file -differ from ones found in model source code as they must be the full path to the source file not the -object file. - -@section LEVEL3 Include files - -There are two types of includes in the S_define file. - -@section LEVEL4 Single pound "#" includes. - -Include files with a single pound "#" are parsed as they are part of the S_define file. They are -treated just as #include files in C or C++ files. These files usually include other sim objects or -instantiations as part of the S_define file. - -@section LEVEL4 Double pound "#" includes. - -Include files with a double pound "##" are not parsed as part of the S_define file. These files are the -model header files. They include the model class and structure definitions as well as C prototypes for -functions used in the S_define file. Double pound files are copied, minus one pound, to S_source.hh. - -@section LEVEL3 User Header Code Block - -This section of the S_define (encapsulated by "%header{...%}") can be used for including header files -directly into the S_source.hh. Header files listed here will not be input processed. - -@section LEVEL3 User Code Block - -This section of the S_define (encapsulated by “%{.....%}”) can be used for any user specific -“global” C code. CP will simply insert this section of code into the “S_source.c” file after -all header files are included. Typically this feature is used as a quick method for customizing -simulations with additions of global variables and functions. - -@section LEVEL3 Simulation Object Definition - -A simulation definition file may contain any number of simulation object definitions. -A simulation object definition is of the form: class : public Trick::SimObject { ... }. -All sim objects must inherit from the Trick::SimObject or a derivative. A sim object definition -may contain zero or more data structure declarations and zero or more module declarations. - -@section LEVEL4 Model Classes and Data Structures - -Model classes and data structures are declared within a sim object. Model classes and data structures -may be public, protected, or private within the sim object. Standard C++ privacy rules apply to -all data with the sim object. Sim object protected and private data will not be accessible to the input -processor. - -Intrisic types are allowed as sim object data members. - -@section LEVEL4 Job Declarations - -Jobs are the hands and feet of the simulation. They are the building blocks for the -simulation. Jobs are C or C++ routines with special %Trick tags that determine scheduling, -object dependencies, etc. - -Jobs only appear in the constructor of the sim object. - -[C<#>] [{job_tag}] [P<#>] ([, [, [,]]] ) ([args]) ; - -Most of these fields are optional depending on how the module is classified or utilized -within the sim. The following subsections detail the usage and purpose of each of these fields. - -@section LEVEL5 Child Thread Specification -The first field of a module declaration is an optional child process specification in -the form of a capital C immediately followed by an integer child ID number; i.e. C1, C2, C3, -etc. The child process specification allows parallel processing for simulation modules. - -Every simulation has a parent process. A child specification will result in the spawning of -a thread for each distinct child ID specified. More than one job can be specified for each child ID. -Jobs with child specifications will run in parallel with other jobs within each software frame, -so users may be required to specify job dependencies (see Section 4.4.10) to keep parallel jobs -from stepping on each other’s common data access. The collection of the parent process and all -of its children defined in one S_define file is referred to as a Process Group (PG). A simulation -can be composed of multiple synchronized or non-synchronized PGs which will be discussed in more -detail in Section 4.4.12. and Section 7.2. - -In most cases, for maximum execution performance, jobs should only be specified to run on a child -process if the host workstation has more than one CPU; and preferably, one CPU per child specified. -With the same rule in mind, using more than one PG in the simulation design should only occur when -the simulation has parallel components and multiple process/multiple computers are available. When -the host workstation has only one CPU, a simulation with a job running on a child will be much slower -than the same simulation with no children. There are exceptions to this rule, like running asynchronous -background modules on a child that only runs the child during the wait cycle of a simulation set up for -real-time operations. - -Child IDs start at 1 and may skip any integer values. The %Trick Executive will spawn enough threads -to accomodate the highest Child ID specified in the S_define file. Jobs without a child specification -will be executed by the parent process. Jobs with a C1 child specification will be executed by the -first child thread; jobs with a C2 specification will be executed by the second child thread; and so on. - -Child Threads have three different scheduling choices. See Section XYZ for child thread scheduling -details. - -@section LEVEL5 Job Tagging -This optional field allows you to “tag” a job or set of jobs. The tag is surrounded in curly -braces. In the input file, you may then operate on the tag. All jobs with the same tag will be -modified in the same manner. For example, if jobA and jobB are tagged BLUE, the input file may -have a statement: - -trick.add_read(13.0, """trick.exec_set_job_cycle("BLUE" , 0.001)""") - -This will change the frequency of the jobs to 1 millisecond. You might also disable the jobs -tagged BLUE with the following: - -trick.add_read(10.0, """trick.exec_set_job_onoff("BLUE" , False)""") - -@section LEVEL5 Job Phasing -The next field of a job declaration is an optional phase number specification in the form of a -capital P immediately followed by an integer phase ID number from 1 to 65534, e.g., P1, P2, P3, etc. -Without a specified phase field, the default phase number is 60000. The phase specification may be -used on all class jobs to sequence the execution of jobs in the same class. Jobs tagged with P1 -execute first, then P2, etc. Jobs with the same phase number are executed in the order they are -in the S_define. - -@section LEVEL5 Execution Schedule Time Specification -The execution schedule specification specifies the job’s execution cycle time, start time, and -stop time. The time specs must be a comma separated list of floating point numbers enclosed by -parentheses, e.g. (1.0,0.5,10.0) would execute a module starting at 0.5 seconds, and every 1.0 -seconds thereafter until 10.0 seconds was reached (9.5 seconds would be the time of the last -job call). The start and stop fields are optional; e.g. (1.0,0.5) does the same as the previous -example except the module will keep being called after 10.0 seconds. Also, a (1.0) specification -will start the job at 0.0 (the default) and continue calling the job at 1.0 second intervals. - -Only the jobs categorized as CYCLIC or also -the freeze_scheduled job class (see Table SD_1 below) require the execution time specification. -All schedule time specifications are in seconds. - -All other job classes categorized in Table SD_1 should NOT specify an execution time specification: -- NON-CYCLIC (red color) of course do not require a spec because they run only once. -- FRAME-BOUNDARY (blue color) are tied to each execution frame and not a cycle time. -- INTEGRATOR (cyan color) are specified via the state integration specifications for the simulation (see Section 4.4.7). -- SELF-SCHEDULING (yellow color) are responsible for scheduling themselves. -- FREEZE (purple color) are tied to the freeze frame (EXCEPT for freeze_scheduled class jobs which DO need the spec.) -- CHECKPOINT (orange color) are tied to checkpointing and run only once. - -@section LEVEL5 Job Class -The job class determines where in the simulation a job is run. Each job in the S_define file -requires a job class. - -

-KEY: Job Class Category Colors used in Table SD_1 - - - - - - - - - -
Category ColorThe job classes in Table SD_1 are categorized as one of the following:
@b NON-CYCLICjobs that run once either at simulation startup or termination
@b FRAME-BOUNDARYjobs that run cyclically before/after the scheduled job loop
@b INTEGRATORjobs that run first in the scheduled job loop for %Trick state integration
@b SELF-SCHEDULINGjobs in the scheduled job loop that must schedule themselves when to run
@b CYCLICjobs in the scheduled job loop that run cyclically according to their specified cycle time
@b FREEZEjobs that are run during the freeze execution mode
@b CHECKPOINTjobs that are run when a checkpoint is dumpded or loaded
- -Table SD_1 %Trick-Provided Job Classes - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Job Class NameDescription
@b default_dataModule executes only once at simulation time = zero. - Called @e before input file is read.
@b initializationModule executes only once at simulation time = zero. - Called @e after input file is read.
\
@b top_of_frameModule runs at the beginning of every execution frame, before the scheduled job loop, - even before any child threads are started for the frame.
\
@b pre_integrationRuns only once before the integration loop. - For example, in the case of a Runge Kutta 4, the derivative and integration jobs will be called - four times during the integration steps. A pre_integration job will execute a - single time before this four step integration process has occurred.
\
@b derivativeEquations of motion (EOM) derivative function.
@b integrationEquations of motion state integration function.
\
@b post_integrationRuns only once after the integration loop.
@b dynamic_eventRuns after the integration loop - (after any post_integration jobs). Provides a continuous time dependent equation whose root - defines a discontinuous event in the system EOM, evaluation of function returns an - estimated delta time to reach the root.
@b automaticModule which reschedules its own next call time, and will run before other CYCLIC jobs in the frame.
@b environmentTime dependent boundary conditions (mother nature).
@b sensor Simulated interface between dynamics and control simulation components.
@b sensor_emitterSame as sensor, but for the emitter portion of an integrated - multi-component sensor system.
@b sensor_reflectorSame as sensor, but for the reflector portion of an - integrated multi-component sensor system.
@b sensor_receiverSame as sensor, but for the receiver portion of an - integrated multi-component sensor system.
@b scheduledTypical flight software and hardware subsystems.
@b effectorSimulated interface between control and force generator - simulation components.
@b effector_emitterSame as effector, but for the ’action’ portion of an - action-reaction effector system.
@b effector_receiverSame as effector, but for the ’reaction’ portion of an - action-reaction effector system.
@b loggingSimulation data recording or displaying.
@b automatic_lastModule which reschedules its own next call time, and will run after other CYCLIC jobs in the frame.
\
@b end_of_frameModule runs at the end of every execution frame, after the scheduled job loop completes.
\
@b freeze_initModule executes only once upon entering FREEZE mode.
\
\
@b freeze_scheduledModule executes cyclically during simulation FREEZE mode according to its specified cycle time.
\
@b freezeModule runs at end of every freeze frame, after the freeze loop completes.
\
@b unfreezeModule executes only once upon leaving FREEZE mode before returning to RUN mode.
@b checkpointModule executes only once @e before a checkpoint is @e dumped.
@b post_checkpointModule executes only once @e after a checkpoint is @e dumped.
@b preload_checkpointModule executes only once @e before a checkpoint is @e loaded.
@b restartModule executes only once @e after a checkpoint is @e loaded.
@b shutdownModule executes only once at simulation termination to allow a - graceful shutdown.
-
- - - -@section LEVEL5 Job Return Type -All integration class jobs must return an integer value which represents the current integration -pass identifier. If all integration passes are complete, the job must return a zero. - -All dynamic_event class jobs must return a double precision value representing the estimated time -to go to the defined event, in seconds. - -All other jobs managed by the %Trick executive, not integration or dynamic_event, may return any -type. If a function is declared with an integer return value, the job must return a non-negative -integer or else the executive will assume an error occurred an immediately terminate the simulation. -If the job does not return an integer, %Trick will not take any action based on a return value. Note -that initialization job return values are NOT checked by the executive. - -@section LEVEL5 Job Name -This field specifies the job name of the job as defined in the job’s source code. - -C function and C++ member functions can be called as a jobs. Here is a quick example of a C and C++ -calls. - -@verbatim - -%{ -extern "C" { - c_function() ; -} -%} - -class MySimObject() : public Trick::SimObject { - - public: - Ball my_ball ; - - MySimObject() { - (1.0 , "scheduled") c_function() ; - (1.0 , "scheduled") my_ball.print_state() ; - } - -} - -@endverbatim - - -@section LEVEL5 Job Calling Arguments - -Job calling arguments adhere to C++ calling argument standards. - -@section LEVEL4 Sim Object Methods - -Methods may be defined within a sim object. These methods may be used as simulation jobs. -A possible use for sim object methods would be to call non C/C++ code with minimal overhead from -the S_define file. - -@section LEVEL3 Specifying Scheduled Loop Job Class Order - -This section of the S_define (encapsulated by "job_class_order{...};) can be used to specify a new -scheduled loop job class order. The user may simply re-order the existing job classes that exist or -can specify a new set of scheduled loop job classes. Job classes that are eligible for reassignment -are listed in Table SD_1 between automatic and automatic_last inclusive. The order they are shown -in the table is the default ordering. - -@code - -job_class_order { - my_job_class_1 ; - my_job_class_2 ; - scheduled ; - my_job_class_3 ; -} - -@endcode - -@section LEVEL3 Simulation Object C++ properties - -Sim objects are C++ objects. They posess all of the capabilities of C++ objects. This section -describes how to use some C++ features with sim objects. - -@section LEVEL4 Simulation Object Instantiations - -@section LEVEL5 Multiple Instantiations - -Sim objects are instatiated within the S_define file. They are regular class objects, and as such -are treated that way. Sim objects may be multiply instantiated. Multiply instantiated sim objects -works with both C and C++ models contained within the sim object. - -@code - -class ballSimObject : public Trick::SimObject { - public: - Ball obj ; - ballSimObject() { - ("initialization") obj.state_init() ; - ("derivative") obj.force_field() ; - ("derivative") obj.state_deriv() ; - ("integration", &my_integ) trick_ret = obj.state_integ() ; - (10.0, "scheduled") trick_ret = obj.state_print() ; - } -} - -// Make 2 balls -ballSimObject ball ; -ballSimObject ball2 ; - -@endcode - -@section LEVEL5 Sim Object Constructor Arguments and Initializer Lists - -Sim objects instantiations may take arguments. These arguments may be used in the sim object's -initialzation list. An initialization list constructs member variables of the class. They -are listed as a comma separated list after the declaration of a constructor. Arguments passed -to the sim object constructor may be passed onto member variable constructors. - -@note -C structures may be zeroed out when included in the sim object's initialization list. - -@code -class ballSimObject : public Trick::SimObject { - public: - Ball obj ; - C_STRUCT c_struct ; - - // passes int argument to obj constructor. Zeros out c_struct. - ballSimObject(int num) : obj(num) , c_struct() { - } ; -} - -// Sim object constructor requires an integer argument. -ballSimObject ball(5) ; -@endcode - -@section LEVEL5 Sim Object Constructor Arguments and Job Control - -Arguments to sim objects may also be used to control job execution. Most items in the job -specification may be set to the value of an argument. - -@code - -class ballSimObject : public Trick::SimObject { - public: - Ball obj ; - ballSimObject(int phase, double cycle , const char * job_class) { - (job_class) obj.state_init() ; - Pphase ("derivative") obj.force_field() ; - ("derivative") obj.state_deriv() ; - ("integration", &my_integ) trick_ret = obj.state_integ() ; - (cycle, "scheduled") trick_ret = obj.state_print() ; - } -} - -ballSimObject ball(1 , 10.0 , “initialization”) ; -// This ball has different job properties than the first ball. -ballSimObject ball2( 2 , 5.0 , “default_data” ) ; - -@endcode - -@section LEVEL4 Multiple Constructors - -Sim objects may define multiple constructors. Each constructor may define different job -parameters or even an entirely different set of jobs. Arguments to the sim object -instantiation determine which sim object constructor and which jobs are run. - -@code - -class ballSimObject : public Trick::SimObject { - public: - Ball obj ; - ballSimObject(int phase, double cycle , const char * job_class) { - (job_class) obj.state_init() ; - Pphase ("derivative") obj.force_field() ; - ("derivative") obj.state_deriv() ; - ("integration", &my_integ) trick_ret = obj.state_integ() ; - (cycle, "scheduled") trick_ret = obj.state_print() ; - } - ballSimObject(const char * job_class) { - (job_class) obj.state_init() ; - } - -} - -ballSimObject ball(1 , 10.0 , “initialization”) ; -ballSimObject ball2( “default_data” ) ; - -@endcode - -@section LEVEL4 Sim Object Inheritance - -Sim objects may inherit from other sim objects. Jobs in the derived class will be run after those -of the base sim object class. Both C and C++ jobs may be inherited. - -@code - -class ballSimObject : public Trick::SimObject { - public: - Ball obj ; - ballSimObject() { - (10.0, "scheduled") trick_ret = obj.state_print() ; - } -} - -class anotherBallSimObject : public ballSimObject { - public: - anotherBallSimObject() { - // This job will run after the above state_print() - (10.0, "scheduled") another_print() ; - } -} - -anotherBallSimObject ball() ; - -@endcode - -@section LEVEL4 Polymorphism in Sim Object jobs. - -Polymorphism can be used to dynamically set objects at initialization or even change object types -during runtime. Given an abstract class and two derived classes: - -@code - -class Ball { - public: - virtual void print_type() = 0 ; -} ; - -class Baseball : public Ball { - public: - virtual void print_type() ; -} ; - -class Soccerball : public Ball { - public: - virtual void print_type() ; -} ; - -@endcode - -We may use a Ball base pointer in the S_define. - -@code - -class ballSimObject : public Trick::SimObject { - public: - Ball * ball_ptr ; - ballSimObject() { - (1.0 , "scheduled") ball_ptr->print_type() ; - } -} ; - -ballSimObject ball ; - -@endcode - -ball_ptr is not instantiated when the simulation is compiled. If nothing is assigned to ball_ptr -before the first scheduled call of ball_ptr->print_type() then the call will fail and the sim -will core. We can allocate ball_ptr in the input file. We can even change ball_ptr in the -middle of the simulation. - -@verbatim -ball.ball_ptr = trick.TMM_declare_var_s("Soccerball[1]") -trick.add_read(20.0 , """ball.ball_ptr = trick.TMM_declare_var_s("Baseball[1]")""") -@endverbatim - -@section LEVEL3 State Integration Specification - -%Trick manages state integration with exceptional flexibility. The integration specification -allows the developer to group the derivative, integration, and dynamic_event class modules -(for any combination of sim objects) for state integration using a particular integrator and -state integration time step. Some simulations will have several different sets of state -parameters, each set requiring a unique state integration scheme and integration time step. -Likewise, other simulations will require all the derivative class modules from a group of -sim objects to be executed before the integration class modules of the same sim object group. -The integration specification provides this capability. - -The integration specification is of the following form: - -integrate () [,] ; - -An alternative instantiation syntax which is pure C++ is of the form: - -IntegLoopSimObject (, [,], NULL ) ; - -This form must have NULL as the final argument to the instantiation. - -The integrate tag is a reserved word for the CP. The is a state integration -cycle time in seconds. At least one sim object name must be specified followed by any number -of additional sim object names separated by commas. An S_define can have at most one integrate -statement per sim object, and at least one integrate statement for all sim objects. - -@section LEVEL3 Parameter Collection Mechanism - -The parameter collection mechanism is probably the most difficult capability of the CP to -understand and utilize. This capability is useful when the user wants a single job to handle -‘n’ number (either a known or unknown ‘n’) of parameters of the same type. The parameter -collection mechanism is an alternative for a variable calling argument list The collection -mechanism syntax in the S_define file is as follows: - -collect = { } ; - -or - -collect = { [,] } ; - -There is also a C code equivalent to adding collect references one at a time that may -be put in a create_connections section of the S_define file. The advantage of this -method is that not all of the collects must be listed in a single collect statement. -This function call syntax may also be used in the input file to add collects at runtime. - -@code - -void create_connections() { - reference = add_collect( reference , reference_1 ) ; - reference = add_collect( reference , reference_2 ) ; -} - -@endcode - -The collect capability allows the developer to build a job which accesses an unknown number -of independent simulation parameters. For example, if designed correctly, a derivative class -module should be capable of incorporating any number of known and unknown (future capabilities) -external forces and torques without any code changes to the derivative module. The collection -mechanism stores the addresses of, and number of, any number of independent parameters in a -single pointer array. The derivative module can use this array to access each parameter in the -collection list. See Section 10.0 for programming requirements for this capability. - -The collect statements in the S_define file must be supported by source code implemented by -the math model developer. This collect support code can reside in any function in the simulation, -including functions that are not listed in the S_define file. In general, for every collect -statement in the S_define file, there are two places where source code must be developed: a -data structure definition file (*.h) and a function source file (*.c). - -As a real world example, orbital dynamics can include a large number of environmental effects -for high precision state propagation, or a small number of effects for general purpose state -propagation. A spacecraft EOM derivative module should be designed to include any number and -combination of known and unknown (future) effects. A low fidelity parameter collection for -external torques on the spacecraft might look like: - -@code -collect shuttle.orbital.rotation.external_torque[0] = { - shuttle.aero.out.torque[0] } ; -@endcode - -A higher fidelity parameter collection might look like: - -@code -collect shuttle.orbital.rotation.external_torque[0] = { - shuttle.aero.out.torque[0] , - shuttle.grav.out.gravity_gradient_torque[0] , - shuttle.solar_pressure.out.torque[0] } ; -@endcode - -For those cases when there are no parameters to collect: - -@code -collect shuttle.orbital.rotation.external_torque[0] = { } ; -@endcode - -The key here is that if a new external torque for the spacecraft is added to the simulation, -that torque can be accessed by the existing derivative module without code modification to the -derivative module. Note that all parameters listed must be of the same type and array dimension. - -To use the parameter collection mechanism of the S_define file, the developer must perform three tasks: - --# from the example above, the external_torque parameter must be declared in its data structure - definition file as a two dimensional void pointer, i.e. void ** external_torque ;, --# a loop must be placed in the derivative module which accesses the collected parameters, and --# the parameter collection statement must be added to the S_define. - -The external_torque parameter must be declared as a two dimensional void pointer for two reasons. -First, the void type is not processed by the ICG. This means that this parameter cannot be recorded -for output or assigned data for input. If the type was any other type than void, the ICG would -assume the parameter required dynamic memory allocation and the resulting ICG generated code would -cause a fatal runtime error (usually accompanied by a core dump). Second, from an automatic code -generation viewpoint, the external_torque parameter is actually an unconstrained array of pointers, -where the pointers in the unconstrained array could be of any type (including data structure pointers); -i.e. the first pointer (*) of the declaration is the array dimension, the second is the address to -each of the collected parameters. - -To make the collection mechanism work, the developer must add specific collection mechanism code to -their module. For the above example, the derivative module code might look like the following; the -text in bold indicates code which will be unchanged regardless of the parameters being collected: - -@code -#include “dynamics/v2/dynamics.h” -#include “sim_services/include/collect_macros.h” - -int derivative_job( DYN_ROT * R ) { - - int i ; - double **collect ; - double total_torque[3] ; - - total_torque[0] = total_torque[1] = total_torque[2] = 0.0 ; - - /* typecast the void ** as a usable double** */ - collect = (double**)R->external_torque ; - - /* - Loop on the number of collected items - from the above collect statement example: - collect[0] -> shuttle.aero.out.torque - collect[1] -> shuttle.grav.out.gravity_gradient_torque - collect[2] -> shuttle.solar_pressure.out.torque - */ - for( i = 0 ; i < NUM_COLLECT(collect) ; i++ ) { - total_torque[0] += collect[i][0] ; - total_torque[1] += collect[i][1] ; - total_torque[2] += collect[i][2] ; - } - - return( 0 ) ; -} -@endcode - -Several aspects of this example code which need mentioning are listed below. - --# A local pointer parameter must be declared of the same type as the parameters being - collected, in this case the parameters being collected are double precision; hence, - double **collect ;. --# The shuttle.orbital.rotation.external_torque (actually a void**) is typecast as a - double** and assigned to the local variable: collect = (double**)R->external_torque ;. --# The number of parameters collected is saved in the first eight bytes before the - address to the external_torque parameter. The conditional statement of the for loop - demonstrates how the number of collected parameters is retrieved: NUM_COLLECT(collect). --# This example, and all other collection mechanism code implementations, assume the - developer knows the type and array size of the parameters being collected. In this - example, the parameters collected were single dimensioned double precision arrays with - three elements per array. - -@section LEVEL3 Create Connections - -The create_connections section contains arbitrary code that is executed right after sim -object instantiations. Code in this section is performed before any job of any job class. -The intended use of this section is to glue the sim objects together. Sim objects that -need pointers to other sim objects may be assigned in the create_connections routine. -Default parameters may also be set such as defining a default simulation stop time. Any -arbitrary code may be added to the create_connections section. - -There may be multiple create_connection sections in the S_define file. They will be -concatenated together in the order they appear in the S_define file. - -@code - -class AsimObject : public Trick::SimObject { - public: - modelA a ; - // This pointer points to a different sim object - modelB * b_ptr ; - - AsimObject() { - // This job requires type modelB from a different sim object - (1.0 , "scheduled") a.job(b_ptr) ; - } -} ; - -class BsimObject: public Trick::SimObject { - public: - modelB b ; -} - -AsimObject A ; -BsimObject B ; - -void create_connections() { - - // Connects the AsimObject and BsimObject together. - A.b_ptr = &B.b - - // Sets a default stop time for the simulation. - exec_set_terminate_time(300.0) ; -} -@endcode - -*/ diff --git a/doxygen/users_guide/S_main.dox_in b/doxygen/users_guide/S_main.dox_in deleted file mode 100644 index 6645cc41..00000000 --- a/doxygen/users_guide/S_main.dox_in +++ /dev/null @@ -1,71 +0,0 @@ -/** -@page LEVEL1 S_main_${TRICK_HOST_CPU}.exe - -S_main_${TRICK_HOST_CPU}.exe is generated by the CP and is the simulation main executable -program. - -The runtime configuration of the executive and its associated support utilities may be -manipulated through entries in the simulation input file. The input file is described -in detail in @ref Input_File. - -The command line for the runtime executive is: - -@verbatim -S_main_.exe [trick_version] [sie] - RUN_/ [-d] - [-O ] - [-OO ] - [-u ] -@endverbatim - -- is the same as the ${TRICK_HOST_CPU} gte variable -- The first argument in the command line must be the simulation input file name. The - input file name can be in the form of a full path name but MUST have a RUN_ - directory immediately above the input file name. By default, all the simulation - output is directed to this RUN_ directory. The standard is - input; however, a simulation could be started from a checkpoint file by substituting - chkpnt_