diff --git a/docs/DoxyfileMan b/docs/DoxyfileMan new file mode 100644 index 000000000..978cf3b23 --- /dev/null +++ b/docs/DoxyfileMan @@ -0,0 +1,1600 @@ +# Doxyfile 1.6.3 + +# 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 a sequence of words surrounded +# by quotes) that should identify the project. + +PROJECT_NAME = MeshLab + +# 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 = 1.3 + +# 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 = ./doxygenMan + +# 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-Cyrilic, 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. + +STRIP_FROM_PATH = + +# 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 = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter +# (but less readable) file names. This can be useful is your file systems +# 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 = NO + +# 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 = 8 + +# 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 = + +# 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, C#, 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 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 make 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 to 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 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 penality. +# 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 rougly 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 + +#--------------------------------------------------------------------------- +# 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 = 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 namespace 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 = YES + +# 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 = 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 = YES + +# 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 sectionname ... \endif. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines +# the initial value of a variable or define 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 defines 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 + +# If the sources in your project are distributed over multiple directories +# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy +# in the documentation. The default is NO. + +SHOW_DIRECTORIES = NO + +# 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. The 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 = + +#--------------------------------------------------------------------------- +# 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 + +# This WARN_NO_PARAMDOC option can be abled 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 = + +#--------------------------------------------------------------------------- +# 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 = ./dox + +# 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++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx +# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 + +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 = NO + +# The EXCLUDE tag can be used to specify files and/or directories that should +# 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. + +EXCLUDE = + +# The EXCLUDE_SYMLINKS tag can be used select whether or not files or +# directories that are symbolic links (a Unix filesystem 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 = + +# 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 = + +# 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, INPUT_FILTER +# is applied to all files. + +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 + +#--------------------------------------------------------------------------- +# 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 = NO + +# 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 and C++ comments will always remain visible. + +STRIP_CODE_COMMENTS = YES + +# 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 = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. +# If a relative path is entered the value of OUTPUT_DIRECTORY will be +# 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. + +HTML_HEADER = + +# 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 = + +# 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 the tag is left blank doxygen +# will generate a default style sheet. Note that doxygen will try to copy +# the style sheet file to the HTML output directory, so don't put your own +# stylesheet in the HTML output directory as well, or it will be erased! + +HTML_STYLESHEET = + +# 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_ALIGN_MEMBERS tag is set to YES, the members of classes, +# files or namespaces will be aligned in HTML using tables. If set to +# NO a bullet list will be used. + +HTML_ALIGN_MEMBERS = 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. For this to work a browser that supports +# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox +# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari). + +HTML_DYNAMIC_SECTIONS = NO + +# 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 + +# 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 = NO + +# 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 at +# top of each HTML page. The value NO (the default) enables the index and +# the value YES disables it. + +DISABLE_INDEX = NO + +# This tag can be used to set the number of enum values (range [1..20]) +# that doxygen will group on one line in the generated HTML documentation. + +ENUM_VALUES_PER_LINE = 4 + +# 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. + +GENERATE_TREEVIEW = NO + +# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories, +# and Class Hierarchy pages using a tree view instead of an ordered list. + +USE_INLINE_TREES = NO + +# 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 + +# 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 + +# 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 PHP enabled web server instead of at the web client +# using Javascript. Doxygen will generate the search PHP script and index +# file to put on the web server. The advantage of the server +# based approach is that it scales better to large projects and allows +# full text search. The disadvances is that it is more difficult to setup +# and does not have live searching capabilities. + +SERVER_BASED_SEARCH = NO + +#--------------------------------------------------------------------------- +# 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 = YES + +# 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, a4wide, letter, legal and +# executive. If left blank a4wide will be used. + +PAPER_TYPE = a4wide + +# 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 = + +# 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 = dox/header.tex + +# 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 + +#--------------------------------------------------------------------------- +# 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 = NO + +# 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 = NO + +# Load stylesheet 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 +# in the INCLUDE_PATH (see below) will be search if 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 = + +# 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 = + +# 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. + +EXPAND_AS_DEFINED = + +# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then +# doxygen's preprocessor will remove all function-like macros that are alone +# on a line, have an all uppercase name, and do not end with a semicolon. Such +# function macros are typically used for boiler-plate code, and 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. +# Optionally an initial location of the external documentation +# can be added for each tagfile. 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. If a location is present for each tag, the installdox tool +# does not have to be run to correct the links. +# 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 = + +# 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 is superseded by the HAVE_DOT option below. This is only a +# fallback. It is recommended to install and use dot, since it yields more +# powerful graphs. + +CLASS_DIAGRAMS = YES + +# 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 = NO + +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need 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 output directory to look for the +# FreeSans.ttf font (which doxygen will put there itself). If you specify a +# different font using DOT_FONTNAME you can set the path where dot +# can find it using this tag. + +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 +# 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 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 graphical hierarchy of all classes instead of a textual one. + +GRAPHICAL_HIERARCHY = YES + +# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES 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 png, jpg, or gif +# If left blank png will be used. + +DOT_IMAGE_FORMAT = png + +# 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 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 = 50 + +# 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/docs/dox/doxygen.sty b/docs/dox/doxygen.sty new file mode 100644 index 000000000..7b99e2fad --- /dev/null +++ b/docs/dox/doxygen.sty @@ -0,0 +1,351 @@ +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{doxygen} + +% Packages used by this style file +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{calc} +\RequirePackage{color} +\RequirePackage{fancyhdr} +\RequirePackage{verbatim} + +% Setup fancy headings +\pagestyle{fancyplain} +\newcommand{\clearemptydoublepage}{% + \newpage{\pagestyle{empty}\cleardoublepage}% +} +\renewcommand{\chaptermark}[1]{% + \markboth{#1}{}% +} +\renewcommand{\sectionmark}[1]{% + \markright{\thesection\ #1}% +} +\lhead[\fancyplain{}{\bfseries\thepage}]{% + \fancyplain{}{\bfseries\rightmark}% +} +\rhead[\fancyplain{}{\bfseries\leftmark}]{% + \fancyplain{}{\bfseries\thepage}% +} +\rfoot[\fancyplain{}{\bfseries\scriptsize% + Generated on Fri Sep 17 11:38:59 2010 by doxygen\lfoot[]{\fancyplain{}{\bfseries\scriptsize% + Generated on Fri Sep 17 11:38:59 2010 by doxygen}} +\cfoot{} + +%---------- Internal commands used in this style file ---------------- + +% Generic environment used by all paragraph-based environments defined +% below. Note that the command \title{...} needs to be defined inside +% those environments! +\newenvironment{DoxyDesc}[1]{% + \begin{list}{}% + {% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +%---------- Commands used by doxygen LaTeX output generator ---------- + +% Used by
 ... 
+\newenvironment{DoxyPre}{% + \small% + \begin{alltt}% +}{% + \end{alltt}% + \normalsize% +} + +% Used by @code ... @endcode +\newenvironment{DoxyCode}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @example, @include, @includelineno and @dontinclude +\newenvironment{DoxyCodeInclude}{% + \DoxyCode% +}{% + \endDoxyCode% +} + +% Used by @verbatim ... @endverbatim +\newenvironment{DoxyVerb}{% + \footnotesize% + \verbatim% +}{% + \endverbatim% + \normalsize% +} + +% Used by @verbinclude +\newenvironment{DoxyVerbInclude}{% + \DoxyVerb% +}{% + \endDoxyVerb% +} + +% Used by numbered lists (using '-#' or
    ...
) +\newenvironment{DoxyEnumerate}{% + \enumerate% +}{% + \endenumerate% +} + +% Used by bullet lists (using '-', @li, @arg, or
    ...
) +\newenvironment{DoxyItemize}{% + \itemize% +}{% + \enditemize% +} + +% Used by description lists (using
...
) +\newenvironment{DoxyDescription}{% + \description% +}{% + \enddescription% +} + +% Used by @image, @dotfile, and @dot ... @enddot +% (only if caption is specified) +\newenvironment{DoxyImage}{% + \begin{figure}[H]% + \begin{center}% +}{% + \end{center}% + \end{figure}% +} + +% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc +% (only if no caption is specified) +\newenvironment{DoxyImageNoCaption}{% +}{% +} + +% Used by @attention +\newenvironment{DoxyAttention}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @author and @authors +\newenvironment{DoxyAuthor}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @date +\newenvironment{DoxyDate}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @invariant +\newenvironment{DoxyInvariant}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @note +\newenvironment{DoxyNote}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @post +\newenvironment{DoxyPostcond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @pre +\newenvironment{DoxyPrecond}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @remark +\newenvironment{DoxyRemark}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @return +\newenvironment{DoxyReturn}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @since +\newenvironment{DoxySince}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @see +\newenvironment{DoxySeeAlso}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @version +\newenvironment{DoxyVersion}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @warning +\newenvironment{DoxyWarning}[1]{% + \begin{DoxyDesc}{#1}% +}{% + \end{DoxyDesc}% +} + +% Used by @internal +\newenvironment{DoxyInternal}[1]{% + \paragraph*{#1}% +}{% +} + +% Used by @par and @paragraph +\newenvironment{DoxyParagraph}[1]{% + \begin{list}{}% + {% + \settowidth{\labelwidth}{40pt}% + \setlength{\leftmargin}{\labelwidth}% + \setlength{\parsep}{0pt}% + \setlength{\itemsep}{-4pt}% + \renewcommand{\makelabel}{\entrylabel}% + }% + \item[#1]% +}{% + \end{list}% +} + +% Used by parameter lists +\newenvironment{DoxyParams}[1]{% + \begin{DoxyDesc}{#1}% + \begin{description}% +}{% + \end{description}% + \end{DoxyDesc}% +} + +% Used by return value lists +\newenvironment{DoxyRetVals}[1]{% + \begin{DoxyDesc}{#1}% + \begin{description}% +}{% + \end{description}% + \end{DoxyDesc}% +} + +% Used by exception lists +\newenvironment{DoxyExceptions}[1]{% + \begin{DoxyDesc}{#1}% + \begin{description}% +}{% + \end{description}% + \end{DoxyDesc}% +} + +% Used by template parameter lists +\newenvironment{DoxyTemplParams}[1]{% + \begin{DoxyDesc}{#1}% + \begin{description}% +}{% + \end{description}% + \end{DoxyDesc}% +} + +\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})} +\newenvironment{DoxyCompactList} +{\begin{list}{}{ + \setlength{\leftmargin}{0.5cm} + \setlength{\itemsep}{0pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \renewcommand{\makelabel}{\hfill}}} +{\end{list}} +\newenvironment{DoxyCompactItemize} +{ + \begin{itemize} + \setlength{\itemsep}{-3pt} + \setlength{\parsep}{0pt} + \setlength{\topsep}{0pt} + \setlength{\partopsep}{0pt} +} +{\end{itemize}} +\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} +\newlength{\tmplength} +\newenvironment{TabularC}[1] +{ +\setlength{\tmplength} + {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} + \par\begin{tabular*}{\linewidth} + { |m{\tmplength/2}|m{\tmplength/2} | m{\tmplength*2}| } +% {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} +% {*{#1}{|>|} +} +{\end{tabular*}\par} +\newcommand{\entrylabel}[1]{ + {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}} +\newenvironment{Desc} +{\begin{list}{} + { + \settowidth{\labelwidth}{40pt} + \setlength{\leftmargin}{\labelwidth} + \setlength{\parsep}{0pt} + \setlength{\itemsep}{-4pt} + \renewcommand{\makelabel}{\entrylabel} + } +} +{\end{list}} +\newenvironment{Indent} + {\begin{list}{}{\setlength{\leftmargin}{0.5cm}} + \item[]\ignorespaces} + {\unskip\end{list}} +\setlength{\parindent}{0cm} +\setlength{\parskip}{0.2cm} +\addtocounter{secnumdepth}{1} +\sloppy +\usepackage[T1]{fontenc} +\makeatletter +\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}% + {-3.25ex plus -1ex minus -0.2ex}% + {1.5ex plus 0.2ex}% + {\normalfont\normalsize\bfseries}} +\makeatother +\stepcounter{secnumdepth} +\stepcounter{tocdepth} +\definecolor{comment}{rgb}{0.5,0.0,0.0} +\definecolor{keyword}{rgb}{0.0,0.5,0.0} +\definecolor{keywordtype}{rgb}{0.38,0.25,0.125} +\definecolor{keywordflow}{rgb}{0.88,0.5,0.0} +\definecolor{preprocessor}{rgb}{0.5,0.38,0.125} +\definecolor{stringliteral}{rgb}{0.0,0.125,0.25} +\definecolor{charliteral}{rgb}{0.0,0.5,0.5} +\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0} +\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43} +\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0} +\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0} diff --git a/docs/dox/filter.dox b/docs/dox/filter.dox new file mode 100644 index 000000000..cd70bfab9 --- /dev/null +++ b/docs/dox/filter.dox @@ -0,0 +1,2039 @@ +/*! \mainpage MeshLab Filter Documentation + +\section f0 Mesh aging and chipping simulation + +Simulates the aging effects due to small collisions or various chipping events +

Parameters

+ + + + + + + + + + + + +
\c Bool ReCompute quality from curvature Compute per vertex quality values using mesh mean curvature
algorithm. In this way only the areas with higher curvature
will be eroded. If not checked, the quality values already
present over the mesh will be used. --
\c Bool Smooth vertex quality Smooth per vertex quality values. This allows to extend the
area affected by the erosion process. --
\c AbsPerc Min quality threshold Represents the minimum quality value two vertexes must have
to consider the edge they are sharing. --
\c AbsPerc Edge len threshold The minimum length of an edge. Useful to avoid the creation of too many small faces. --
\c AbsPerc Max chip depth The maximum depth of a chip. --
\c Int Fractal Octaves The number of octaves that are used in the generation of the
fractal noise using Perlin noise; reasonalble values are in the
1..8 range. Setting it to 1 means using a simple Perlin Noise. --
\c AbsPerc Noise frequency scale Changes the noise frequency scale: this affects chip dimensions and
the distance between chips. The value denotes the average values
between two dents. Smaller number means small and frequent chips. --
\c Float Noise clamp threshold [0..1] All the noise values smaller than this parameter will be
considered as 0. --
\c Float Displacement steps The whole displacement process is performed as a sequence of small
offsets applyed on each vertex. This parameter represents the number
of steps into which the displacement process will be splitted.
Useful to avoid the introduction of self intersections.
Bigger number means better accuracy. --
\c Bool Affect only selected faces The aging procedure will be applied to the selected faces only. --
\c Bool Store erosion informations Select this option if you want to store the erosion informations
over the mesh. A new attribute will be added to each vertex
to contain the displacement offset applied to that vertex. --
+ +\section f1 Ambient Occlusion - Per Vertex + +Generates environment occlusions values for the loaded mesh +

Parameters

+ + + + + + + + +
\c Float Directional Bias [0..1] The balance between a uniform and a directionally biased set of lighting direction
: - 0 means light came only uniformly from any direction
- 1 means that all the light cames from the specified cone of directions
- other values mix the two set of lighting directions --
\c Int Requested views Number of different views uniformly placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Point3f Lighting Direction Number of different views placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Float Cone amplitude Number of different views uniformly placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Bool Use GPU acceleration In order to use GPU-Mode, your hardware must support FBOs, FP32 Textures and Shaders. Normally increases the performance by a factor of 4x-5x --
\c Bool Use VBO if supported By using VBO, Meshlab loads all the vertex structure in the VRam, greatly increasing rendering speed (for both CPU and GPU mode). Disable it if problem occurs --
\c Int Depth texture size(should be 2^n) Defines the depth texture size used to compute occlusion from each point of view. Higher values means better accuracy usually with low impact on performance --
+ +\section f2 Ambient Occlusion - Per Face + +Generates environment occlusions values for the loaded mesh +

Parameters

+ + + + + + + + +
\c Float Directional Bias [0..1] The balance between a uniform and a directionally biased set of lighting direction
: - 0 means light came only uniformly from any direction
- 1 means that all the light cames from the specified cone of directions
- other values mix the two set of lighting directions --
\c Int Requested views Number of different views uniformly placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Point3f Lighting Direction Number of different views placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Float Cone amplitude Number of different views uniformly placed around the mesh. More views means better accuracy at the cost of increased calculation time --
\c Bool Use GPU acceleration In order to use GPU-Mode, your hardware must support FBOs, FP32 Textures and Shaders. Normally increases the performance by a factor of 4x-5x --
\c Bool Use VBO if supported By using VBO, Meshlab loads all the vertex structure in the VRam, greatly increasing rendering speed (for both CPU and GPU mode). Disable it if problem occurs --
\c Int Depth texture size(should be 2^n) Defines the depth texture size used to compute occlusion from each point of view. Higher values means better accuracy usually with low impact on performance --
+ +\section f3 Automatic pair Alignement + +Automatic Rough Alignment of two meshes. Based on the paper 4-Points Congruent Sets for Robust Pairwise Surface Registration, by Aiger,Mitra, Cohen-Or. Siggraph 2008 +

Parameters

+ + + + + +
\c Mesh First Mesh The mesh were the coplanar bases are sampled (it will contain the trasformation) --
\c Mesh Second Mesh The mesh were similar coplanar based are searched. --
\c Float Estimated fraction of the + first mesh overlapped by the second --
\c Float Error tolerance --
+ +\section f4 Surface Reconstruction: Ball Pivoting + +Reconstruct a surface using the Ball Pivoting Algorithm (Bernardini et al. 1999).
Starting with a seed triangle, the BPA algorithm pivots a ball around an edge (i.e. it revolves around the edge while keeping in contact with the edge endpoints) until it touches another point, forming another triangle. The process continues until all reachable edges have been tried. +

Parameters

+ + + + + +
\c AbsPerc Pivoting Ball radius (0 autoguess) The radius of the ball pivoting (rolling) over the set of points. Gaps that are larger than the ball radius will not be filled; similarly the small pits that are smaller than the ball radius will be filled. --
\c Float Clustering radius (% of ball radius) To avoid the creation of too small triangles, if a vertex is found too close to a previous one, it is clustered/merged with it. --
\c Float Angle Threshold (degrees) If we encounter a crease angle that is too large we should stop the ball rolling --
\c Bool Delete intial set of faces if true all the initial faces of the mesh are deleted and the whole surface is rebuilt from scratch, other wise the current faces are used as a starting point. Useful if you run multiple times the algorithm with an incrasing ball radius. --
+ +\section f5 Remove vertices wrt quality + +Remove all the vertices with a quality lower smaller than the specified constant +

Parameters

+ + +
\c AbsPerc Delete all vertices with quality under: --
+ +\section f6 Remove isolated pieces (wrt face num) + +Remove isolated connected components composed by a limited number of triangles +

Parameters

+ + +
\c Int Enter minimum conn. comp size: Delete all the connected components (floating pieces) composed by a number of triangles smaller than the specified one --
+ +\section f7 Remove isolated pieces (wrt diameter) + +Remove isolated connected components whose diameter is smaller than the specified constant +

Parameters

+ + +
\c AbsPerc Enter max diameter of isolated pieces Delete all the connected components (floating pieces) with a diameter smaller than the specified one --
+ +\section f8 Align Mesh using Picked Points + +Align this mesh with another that has corresponding picked points. +

Parameters

+ + + + + + + + + + + + + +
\c Int Sample Number Number of samples that we try to choose at each ICP iteration --
\c Float Minimal Starting Distance For all the chosen sample on one mesh we consider for ICP only the samples nearer than this value.If MSD is too large outliers could be included, if it is too small convergence will be very slow. A good guess is needed here, suggested values are in the range of 10-100 times of the device scanning error.This value is also dynamically changed by the 'Reduce Distance Factor' --
\c Float Target Distance When 50% of the chosen samples are below this distance we consider the two mesh aligned. Usually it should be a value lower than the error of the scanning device. --
\c Int Max Iteration Num The maximum number of iteration that the ICP is allowed to perform. --
\c Bool Normal Equalized Sampling if true (default) the sample points of icp are choosen with a distribution uniform with respect to the normals of the surface. Otherwise they are distributed in a spatially uniform way. --
\c Float MSD Reduce Factor At each ICP iteration the Minimal Starting Distance is reduced to be 5 times the percentile of the sample distances (e.g. if RF is 0.9 the new Minimal Starting Distance is 5 times the value such that 90% of the sample lies at a distance lower than . --
\c Bool Rigid matching If true the ICP is cosntrained to perform matching only throug roto-translations (no scaling allowed). If false a more relaxed transformation matrix is allowed (scaling and shearing can appear). --
\c Bool Use Markers for Alignment if true (default), then use the user picked markers to do an alignment (or pre alignment if you also use ICP). --
\c Bool Scale the mesh if true (false by default), in addition to the alignment, scale the mesh based on the points picked --
\c Bool Use ICP for Alignment if true (default), then use the ICP to align the two meshes. --
\c Mesh Stuck Mesh The mesh that will not move. --
\c Mesh Mesh to Move The mesh that will move to fit close to the Stuck Mesh. --
+ +\section f9 Select Faces by view angle + +Select faces according to the angle between their normal and the view direction. It is used in range map processing to select and delete steep faces parallel to viewdirection +

Parameters

+ + + + +
\c DynamicFloat angle threshold (deg) faces with normal at higher angle w.r.t. the view direction are selected --
\c Bool Use ViewPoint from Mesh Camera Uses the ViewPoint from the camera associated to the current mesh + if there is no camera, an error occurs --
\c Point3f ViewPoint if UseCamera is true, this value is ignored --
+ +\section f10 Remove T-Vertices by edge flip + +Removes t-vertices by flipping the opposite edge on the degenerate face if the triangulation quality improves +

Parameters

+ + + +
\c Float Ratio Detects faces where the base/height ratio is lower than this value --
\c Bool Iterate until convergence Iterates the algorithm until it reaches convergence --
+ +\section f11 Remove T-Vertices by edge collapse + +Removes t-vertices from the mesh by collapsing the shortest of the incident edges +

Parameters

+ + + +
\c Float Ratio Detects faces where the base/height ratio is lower than this value --
\c Bool Iterate until convergence Iterates the algorithm until it reaches convergence --
+ +\section f12 Remove Duplicate Faces + +Remove all the duplicate faces. Two faces are considered equal if they are composed by the same set of verticies, regardless of the order of the vertices. +

Parameters

+No parameters.
+\section f13 Remove Isolated folded face by edge flip + +Remove all the single folded faces. A face is considered folded if its normal is opposite to all the adjacent faces. It is removed by flipping it against the face f adjacent along the edge e such that the vertex opposite to e fall inside f +

Parameters

+No parameters.
+\section f14 Merge Close Vertices + +Merge togheter all the vertices that are nearer than the speicified threshold. Like a unify duplicated vertices but with some tolerance. +

Parameters

+ + +
\c AbsPerc Merging distance All the vertices that closer than this threshold are merged toghether. Use very small values, default values is 1/10000 of bounding box diagonal. --
+ +\section f15 Clamp Vertex Quality + +Clamp vertex quality values to a given range according to specific values or to percentiles +

Parameters

+ + + + + +
\c Float Min The value that will be mapped with the lower end of the scale (blue) --
\c Float Max The value that will be mapped with the upper end of the scale (red) --
\c DynamicFloat Percentile Crop [0..100] If not zero this value will be used for a percentile cropping of the quality values.
If this parameter is set to P the value V for which P% of the vertices have a quality lower(greater) than V is used as min (max) value.

The automated percentile cropping is very useful for automatically discarding outliers. --
\c Bool Zero Simmetric If true the min max range will be enlarged to be symmertic (so that green is always Zero) --
+ +\section f16 Saturate Vertex Quality + +Saturate vertex quality, so that for each vertex the gradient of the quality is lower than the given threshold value (in absolute value) +The saturation is done in a conservative way (quality is always decreased and never increased) +

Parameters

+ + + +
\c Float Gradient Threshold The maximum value admitted for the quality gradient (in absolute valu) --
\c Bool Update ColorMap if true the color ramp is computed again --
+ +\section f17 Colorize by vertex Quality + +Color vertices depending on their quality field (manually equalized). +

Parameters

+ + + + + +
\c Float Min The value that will be mapped with the lower end of the scale (blue) --
\c Float Max The value that will be mapped with the upper end of the scale (red) --
\c DynamicFloat Percentile Crop [0..100] If not zero this value will be used for a percentile cropping of the quality values.
If this parameter is set to P the value V for which P% of the vertices have a quality lower(greater) than V is used as min (max) value.

The automated percentile cropping is very useful for automatically discarding outliers. --
\c Bool Zero Simmetric If true the min max range will be enlarged to be symmertic (so that green is always Zero) --
+ +\section f18 Colorize by face Quality + +Color faces depending on their quality field (manually equalized). +

Parameters

+ + + + + +
\c Float Min The value that will be mapped with the lower end of the scale (blue) --
\c Float Max The value that will be mapped with the upper end of the scale (red) --
\c DynamicFloat Percentile Crop [0..100] If not zero this value will be used for a percentile cropping of the quality values.
If this parameter is set to P the value V for which P% of the vertices have a quality lower(greater) than V is used as min (max) value.

The automated percentile cropping is very useful for automatically discarding outliers. --
\c Bool Zero Simmetric If true the min max range will be enlarged to be symmertic (so that green is always Zero) --
+ +\section f19 Discrete Curvatures + +Colorize according to various discrete curvature computed as described in:
'Discrete Differential-Geometry Operators for Triangulated 2-Manifolds'
M. Meyer, M. Desbrun, P. Schroder, A. H. Barr +

Parameters

+ + +
\c Enum Type: Choose the curvatures. Mean and Gaussian curvature are computed according the technique described in the Desbrun et al. paper.
Absolute curvature is defined as |H|+|K| and RMS curvature as sqrt(4* H^2 - 2K) as explained in
Improved curvature estimationfor watershed segmentation of 3-dimensional meshes by S. Pulla, A. Razdan, G. Farin. --
+ +\section f20 Per Face Quality according to Triangle shape and aspect ratio + +Compute a quality and colorize faces depending on triangle quality:
1: minimum ratio height/edge among the edges
2: ratio between radii of incenter and circumcenter
3: 2*sqrt(a, b)/(a+b), a, b the eigenvalues of M^tM, M transform triangle into equilateral +

Parameters

+ + +
\c Enum Metric: Choose a metric to compute triangle quality. --
+ +\section f21 Smooth: Laplacian Vertex Color + +Laplacian Smooth Vertex Color +

Parameters

+ + +
\c Int Iteration the number ofiteration of the smoothing algorithm --
+ +\section f22 Smooth: Laplacian Face Color + +Laplacian Smooth Face Color +

Parameters

+ + +
\c Int Iteration the number ofiteration of the smoothing algorithm --
+ +\section f23 Transfer Color: Vertex to Face + +Vertex to Face color transfer +

Parameters

+No parameters.
+\section f24 Transfer Color: Face to Vertex + +Face to Vertex color transfer +

Parameters

+No parameters.
+\section f25 Transfer Color: Texture to Vertex + +Texture to Vertex color transfer +

Parameters

+No parameters.
+\section f26 Random Face Color + +Colorize Faces randomly. If internal edges are present they are used +

Parameters

+No parameters.
+\section f27 Vertex Color Filling + +Fills the color of the vertexes of the mesh with a color choosed by the user. +

Parameters

+ + + + +
\c DynamicFloat Red: Sets the red component of the color. --
\c DynamicFloat Green: Sets the green component of the color. --
\c DynamicFloat Blue: Sets the blue component of the color. --
+ +\section f28 Vertex Color Invert + +Inverts the colors of the vertexes of the mesh. +

Parameters

+No parameters.
+\section f29 Vertex Color Thresholding + +Reduces the color the vertexes of the mesh to two colors according to a threshold. +

Parameters

+ + + + +
\c Color Color 1: Sets the color to apply below the threshold. --
\c Color Color 2: Sets the color to apply above the threshold. --
\c DynamicFloat Threshold: Colors above the threshold becomes Color 2, others Color 1. --
+ +\section f30 Vertex Color Brightness and Contrast + +Change the color the vertexes of the mesh adjusting both brightness and contrast of the mesh. +

Parameters

+ + + +
\c DynamicFloat Brightness: Sets the amount of brightness that will be added/subtracted to the colors.
Brightness = 255 -> all white;
Brightness = -255 -> all black; --
\c DynamicFloat Contrast factor: Sets the amount of contrast of the mesh. --
+ +\section f31 Vertex Color Gamma Correction + +Provides standard gamma correction for adjusting the color the vertexes of the mesh. +

Parameters

+ + +
\c DynamicFloat Gamma: Sets the values of the exponent gamma. --
+ +\section f32 Vertex Color Levels Adjoustement + +The filter allows adjustment of color levels. It is a custom way to map an interval of color into another one. The user can set the input minimum and maximum levels, gamma and the output minimum and maximum levels (many tools call them respectively input black point, white point, gray point, output black point and white point). +

Parameters

+ + + + + + + + + +
\c DynamicFloat Min input level: --
\c DynamicFloat Gamma: --
\c DynamicFloat Max input level: --
\c DynamicFloat Min output level: --
\c DynamicFloat Max output level: --
\c Bool Red Channel: --
\c Bool Green Channel: --
\c Bool Blue Channel: --
+ +\section f33 Vertex Color Colourisation + +Allows the application of a color to the mesh. In spite of the Fill operation, the color is blended with the mesh according to a given intensity. . +

Parameters

+ + + + + +
\c DynamicFloat Hue: Changes the hue of the mesh. --
\c DynamicFloat Saturation: Changes the saturation of the mesh. --
\c DynamicFloat Luminance: Changes the luminance of the mesh. --
\c DynamicFloat Intensity: Sets the intensity with which the color it's blended to the mesh. --
+ +\section f34 Vertex Color Desaturation + +The filter desaturates the colors of the mesh. This provides a simple way to convert a mesh in gray tones. The user can choose the desaturation method to apply; they are based on Lightness, Luminosity and Average. +

Parameters

+ + +
\c Enum Desaturation method: Lightness is computed as (Max(r,g,b)+Min(r,g,b))/2
Luminosity is computed as 0.212*r + 0.715*g + 0.072*b
Average is computed as (r+g+b)/3 --
+ +\section f35 Equalize Vertex Color + +The filter equalizes the colors histogram. It is a kind of automatic regulation of contrast; the colors histogram is expanded to fit all the range of colors. +

Parameters

+ + + + +
\c Bool Red Channel: Select the red channel. --
\c Bool Green Channel: Select the green channel. --
\c Bool Blue Channel: Select the blue channel.

If no channels are selected
filter works on Lightness. --
+ +\section f36 Vertex Color White Balance + +The filter provides a standard white balance transformation. It is done correcting the RGB channels with a factor such that, the brighter color in the mesh, that is supposed to be white, becomes really white. +

Parameters

+ + + +
\c Bool Automatic white balance If checked, an automatic balancing is done, otherwise an unbalanced white color must be chosen --
\c Color Unbalanced white: The color that is supposed to be white. --
+ +\section f37 Perlin color + +Paints the mesh using PerlinColor function. The color assigned to verteces depends on their position in the space; it means that near verteces will be painted with similar colors. +

Parameters

+ + +
\c DynamicFloat Frequency: Frequency of the Perlin Noise function. High frequencies produces many small splashes of colours, while low frequencies produces few big splashes. --
+ +\section f38 Color noise + +Adds to the color the requested amount of bits of noise. Bits of noise are added independently for each RGB channel. +

Parameters

+ + +
\c Int Noise bits: Bits of noise added to each RGB channel. Example: 3 noise bits adds three random offsets in the [-4,+4] interval to each RGB channels. --
+ +\section f39 PerMesh Color Scattering + +Assigns a random color to each mesh in the document. Colors change every time the filter is executed, but are always chosen so that they differs as much as possible. +

Parameters

+No parameters.
+\section f40 Box + +Create a Box +

Parameters

+ + +
\c Float Scale factor Scales the new mesh --
+ +\section f41 Sphere + +Create a Sphere +

Parameters

+No parameters.
+\section f42 Icosahedron + +Create an Icosahedron +

Parameters

+No parameters.
+\section f43 Dodecahedron + +Create an Dodecahedron +

Parameters

+No parameters.
+\section f44 Tetrahedron + +Create a Tetrahedron +

Parameters

+No parameters.
+\section f45 Octahedron + +Create an Octahedron +

Parameters

+No parameters.
+\section f46 Cone + +Create a Cone +

Parameters

+ + + + + +
\c Float Radius 1 Radius of the bottom circumference --
\c Float Radius 2 Radius of the top circumference --
\c Float Height Height of the Cone --
\c Int Side Number of sides of the polygonal approximation of the cone --
+ +\section f47 Fractal Terrain + +Generates a fractal terrain perturbation with five different algorithms.
+Some good parameter values to start with are:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Seed Octaves Lacunarity Fractal increment Offset Gain
fBM11021.2--
Standard multifractal1820.90.9-
Heterogeneous multifractal1830.90.4-
Hybrid multifractal1840.10.3-
Ridged multifractal2840.50.92
+

+Detailed algorithms descriptions can be found in:

+Ebert, D.S., Musgrave, F.K., Peachey, D., Perlin, K., and Worley, S.
+Texturing and Modeling: A Procedural Approach.
+Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. + + + +

Parameters

+ + + + + + + + + + + + +
\c Int Subdivision steps: Defines the detail of the generated terrain. Allowed values are in range [2,9]. Use values from 6 to 9 to obtain reasonable results. --
\c DynamicFloat Max height: Defines the maximum perturbation height as a fraction of the terrain's side. --
\c DynamicFloat Scale factor: Scales the fractal perturbation in and out. Values larger than 1 mean zoom out; values smaller than one mean zoom in. --
\c Float Seed: By varying this seed, the terrain morphology will change. +Don't change the seed if you want to refine the current terrain morphology by changing the other parameters. --
\c Enum Algorithm The algorithm with which the fractal terrain will be generated. --
\c DynamicFloat Octaves: The number of Perlin noise frequencies that will be used to generate the terrain. Reasonable values are in range [2,9]. --
\c Float Lacunarity: The gap between noise frequencies. This parameter is used in conjunction with fractal increment to compute the spectral weights that contribute to the noise in each octave. --
\c Float Fractal increment: This parameter defines how rough the generated terrain will be. The range of reasonable values changes according to the used algorithm, however you can choose it in range [0.2, 1.5]. --
\c Float Offset: This parameter controls the multifractality of the generated terrain. If offset is low, then the terrain will be smooth. --
\c Float Gain: Ignored in all the algorithms except the ridged one. This parameter defines how hard the terrain will be. --
\c Bool Save as vertex quality Saves the perturbation value as vertex quality. --
+ +\section f48 Fractal Displacement + +Generates a fractal terrain perturbation with five different algorithms.
+Some good parameter values to start with are:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Seed Octaves Lacunarity Fractal increment Offset Gain
fBM11021.2--
Standard multifractal1820.90.9-
Heterogeneous multifractal1830.90.4-
Hybrid multifractal1840.10.3-
Ridged multifractal2840.50.92
+

+Detailed algorithms descriptions can be found in:

+Ebert, D.S., Musgrave, F.K., Peachey, D., Perlin, K., and Worley, S.
+Texturing and Modeling: A Procedural Approach.
+Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2002. + + +

Hint: search a good compromise between offset and height factor parameter. +

Parameters

+ + + + + + + + + + + + +
\c AbsPerc Max height: Defines the maximum height for the perturbation. --
\c DynamicFloat Scale factor: Scales the fractal perturbation in and out. Values larger than 1 mean zoom out; values smaller than one mean zoom in. --
\c Int Normals smoothing steps: Face normals will be smoothed to make the perturbation more homogeneous. This parameter represents the number of smoothing steps. --
\c Float Seed: By varying this seed, the terrain morphology will change. +Don't change the seed if you want to refine the current terrain morphology by changing the other parameters. --
\c Enum Algorithm The algorithm with which the fractal terrain will be generated. --
\c DynamicFloat Octaves: The number of Perlin noise frequencies that will be used to generate the terrain. Reasonable values are in range [2,9]. --
\c Float Lacunarity: The gap between noise frequencies. This parameter is used in conjunction with fractal increment to compute the spectral weights that contribute to the noise in each octave. --
\c Float Fractal increment: This parameter defines how rough the generated terrain will be. The range of reasonable values changes according to the used algorithm, however you can choose it in range [0.2, 1.5]. --
\c Float Offset: This parameter controls the multifractality of the generated terrain. If offset is low, then the terrain will be smooth. --
\c Float Gain: Ignored in all the algorithms except the ridged one. This parameter defines how hard the terrain will be. --
\c Bool Save as vertex quality Saves the perturbation value as vertex quality. --
+ +\section f49 Craters Generation + +Generates craters onto a mesh using radial functions.
+There must be at least two layers to apply this filter:
+
    +
  • the layer that contains the target mesh; we assume that this mesh is sufficiently refined;
  • +
  • the layer that contains the samples which represent the central points of craters.
  • +
+ +There are three radial functions available to generate craters, two of which are Gaussian and Multiquadric, +and the third is a variant of multiquadric. Blending functions are also provided to blend +the crater elevation towards the mesh surface. +If you want the preview to work, be sure to select the target mesh layer before launching the +filter. You can select this layer by clicking on it in the layer dialog. + +

Parameters

+ + + + + + + + + + + + + + + + + +
\c Mesh Target mesh: The mesh on which craters will be generated. --
\c Mesh Samples layer: The samples that represent the central points of craters. --
\c Int Seed: The seed with which the random number generator is initialized. The random generator generates radius and depth for each crater into the given range. --
\c Int Normals smoothing steps: Vertex normals are smoothed this number of times before generating craters. --
\c Enum Radial function: The radial function used to generate craters. --
\c DynamicFloat Min crater radius: Defines the minimum radius of craters in range [0, 1]. Values near 0 mean very small craters. --
\c DynamicFloat Max crater radius: Defines the maximum radius of craters in range [0, 1]. Values near 1 mean very large craters. --
\c DynamicFloat Min crater depth: Defines the minimum depth of craters in range [0, 1]. --
\c DynamicFloat Max crater depth: Defines the maximum depth of craters in range [0, 1]. Values near 1 mean very deep craters. --
\c DynamicFloat Elevation: Defines how much the crater rise itself from the mesh surface, giving an "impact-effect". --
\c Enum Blending algorithm: The algorithm that is used to blend the perturbation towards the mesh surface. --
\c DynamicFloat Blending threshold: The fraction of craters radius beyond which the radial function is replaced with the blending function. --
\c Bool Successive impacts If not checked, the impact-effects of generated craters will be superimposed with each other. --
\c Bool Postprocessing noise Slightly perturbates the craters with a noise function. --
\c Bool Invert perturbation If checked, inverts the sign of radial perturbation to create bumps instead of craters. --
\c Bool Save as vertex quality Saves the perturbation as vertex quality. --
+ +\section f50 Conditional Vertex Selection + +Boolean function using muparser lib to perform vertex selection over current mesh.
It's possibile to use parenthesis, per-vertex variables and boolean operator:
(,),and,or,<>,=
It's possibile to use the following per-vertex variables in the expression:
x, y, z, nx, ny, nz (normal), r, g, b (color), q (quality), rad, vi,
and all custom vertex attributes already defined by user.
+

Parameters

+ + + +
\c String boolean function type a boolean function that will be evaluated in order to select a subset of vertices
example: (y > 0) and (ny > 0) --
\c Bool Strict face selection If checked a face is selected if ALL its vertices are selected.
If unchecked a face is selected if at least one of its vertices is selected --
+ +\section f51 Conditional Face Selection + +Boolean function using muparser lib to perform faces selection over current mesh.
It's possibile to use parenthesis, per-vertex variables and boolean operator:
(,),and,or,<>,=
It's possibile to use per-face variables like attributes associated to the three vertex of every face.
x0,y0,z0 for first vertex; x1,y1,z1 for second vertex; x2,y2,z2 for third vertex.
and also nx0,ny0,nz0 nx1,ny1,nz1 etc. for normals and r0,g0,b0 for color,q0,q1,q2 for quality.
+

Parameters

+ + +
\c String boolean function type a boolean function that will be evaluated in order to select a subset of faces
--
+ +\section f52 Geometric Function + +Geometric function using muparser lib to generate new Coord
You can change x,y,z for every vertex according to the function specified.
It's possibile to use the following per-vertex variables in the expression:
x, y, z, nx, ny, nz (normal), r, g, b (color), q (quality), rad, vi,
and all custom vertex attributes already defined by user.
+

Parameters

+ + + + +
\c String func x = insert function to generate new coord for x --
\c String func y = insert function to generate new coord for y --
\c String func z = insert function to generate new coord for z --
+ +\section f53 Per Face Color Function + +Color function using muparser lib to generate new RGB color for every face
Insert three function each one for red, green and blue channel respectively.
It's possibile to use per-face variables like attributes associated to the three vertex of every face.
x0,y0,z0 for first vertex; x1,y1,z1 for second vertex; x2,y2,z2 for third vertex.
and also nx0,ny0,nz0 nx1,ny1,nz1 etc. for normals and r0,g0,b0 for color,q0,q1,q2 for quality.
+

Parameters

+ + + + +
\c String func r = function to generate Red component. Expected Range 0-255 --
\c String func g = function to generate Green component. Expected Range 0-255 --
\c String func b = function to generate Blue component. Expected Range 0-255 --
+ +\section f54 Per Vertex Color Function + +Color function using muparser lib to generate new RGB color for every vertex
Insert three function each one for red, green and blue channel respectively.
It's possibile to use the following per-vertex variables in the expression:
x, y, z, nx, ny, nz (normal), r, g, b (color), q (quality), rad, vi,
and all custom vertex attributes already defined by user.
+

Parameters

+ + + + +
\c String func r = function to generate Red component. Expected Range 0-255 --
\c String func g = function to generate Green component. Expected Range 0-255 --
\c String func b = function to generate Blue component. Expected Range 0-255 --
+ +\section f55 Per Vertex Quality Function + +Quality function using muparser to generate new Quality for every vertex
It's possibile to use the following per-vertex variables in the expression:
x, y, z, nx, ny, nz (normal), r, g, b (color), q (quality), rad, vi,
and all custom vertex attributes already defined by user.
+

Parameters

+ + + + +
\c String func q = function to generate new Quality for every vertex --
\c Bool normalize if checked normalize all quality values in range [0..1] --
\c Bool map into color if checked map quality generated values into per-vertex color --
+ +\section f56 Per Face Quality Function + +Quality function using muparser to generate new Quality for every face
Insert three function each one for quality of the three vertex of a face
It's possibile to use per-face variables like attributes associated to the three vertex of every face.
x0,y0,z0 for first vertex; x1,y1,z1 for second vertex; x2,y2,z2 for third vertex.
and also nx0,ny0,nz0 nx1,ny1,nz1 etc. for normals and r0,g0,b0 for color,q0,q1,q2 for quality.
+

Parameters

+ + + + +
\c String func q0 = function to generate new Quality foreach face --
\c Bool normalize if checked normalize all quality values in range [0..1] --
\c Bool map into color if checked map quality generated values into per-vertex color --
+ +\section f57 Define New Per Vertex Attribute + +Add a new Per-Vertex scalar attribute to current mesh and fill it with the defined function.
The name specified below can be used in other filter functionIt's possibile to use the following per-vertex variables in the expression:
x, y, z, nx, ny, nz (normal), r, g, b (color), q (quality), rad, vi,
and all custom vertex attributes already defined by user.
+

Parameters

+ + + +
\c String Name the name of new attribute. you can access attribute in other filters through this name --
\c String Function = function to calculate custom attribute value for each vertex --
+ +\section f58 Define New Per Face Attribute + +Add a new Per-Face attribute to current mesh.
You can specify custom name and a function to generate attribute's value
It's possible to use per-face variables in the expression:
x0,y0,z0 for first vertex; x1,y1,z1 for second vertex; x2,y2,z2 for third vertex.
and also nx0,ny0,nz0 nx1,ny1,nz1 etc. for normals and r0,g0,b0 for color,q0,q1,q2 for quality.
name specified below can be used in other filter function +

Parameters

+ + + +
\c String Name the name of new attribute. you can access attribute in other filters through this name --
\c String Function = function to calculate custom attribute value for each vertex --
+ +\section f59 Grid Generator + +Generate a new 2D Grid mesh with number of vertices on X and Y axis specified by user with absolute length/height.
It's possible to center Grid on origin. +

Parameters

+ + + + + + +
\c Int num vertices on x number of vertices on x. it must be positive --
\c Int num vertices on y number of vertices on y. it must be positive --
\c Float x scale absolute scale on x (float) --
\c Float y scale absolute scale on y (float) --
\c Bool centered on origin center grid generated by filter on origin.
Grid is first generated and than moved into origin (using muparser lib to perform fast calc on every vertex) --
+ +\section f60 Implicit Surface + +Generate a new mesh that corresponds to the 0 valued isosurface defined by the scalar field generated by the given expression +

Parameters

+ + + + + + + + + +
\c Float Size of Voxel Size of the voxel that is used by for the grid where the field is sampled. Smaller this value, higher precision, but higher processing times. --
\c Float Min X Range where the field is sampled --
\c Float Min Y Range where the field is sampled --
\c Float Min Z Range where the field is sampled --
\c Float Max X Range where the field is sampled --
\c Float Max Y Range where the field is sampled --
\c Float Max Z Range where the field is sampled --
\c String Function = This expression is evaluated for each voxel of the grid. The surface passing through the zero valued points of this field is then extracted using marching cube. --
+ +\section f61 Refine User-Defined + +Refine current mesh with user defined parameters.
Specify a Boolean Function needed to select which edges will be cut for refinement purpose.
Each edge is identified with first and second vertex.
Arguments accepted are first and second vertex attributes:
x0,y0,z0 x1,y1,z1 for coord nx0,ny0,nz0 nx1,ny1,nz1 for normal
r0,g0,b0 r1,g1,b1 for color q0 q1 for quality.

Coords for new vertex on edge are generated with function x,y and z
You can use x0,y0,z0 and x1,y1,z1
+

Parameters

+ + + + + +
\c String boolean function type a boolean function that will be evaluated on every edge --
\c String x = function to generate x coord of new vertex in [x0,x1].
For example (x0+x1)/2 --
\c String y = function to generate x coord of new vertex in [y0,y1].
For example (y0+y1)/2 --
\c String z = function to generate x coord of new vertex in [z0,z1].
For example (z0+z1)/2 --
+ +\section f62 Iso Parametrization + +The filter build the abstract Isoparameterization of a two-manifold triangular mesh
An adaptively chosen abstract domain of the parameterization is built. For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + + + + + +
\c Int Abstract Min Mesh Size This number and the following one indicate the range face number of the abstract mesh that is used for the parametrization process.
The algorithm will choose the best abstract mesh with the number of triangles within the specified interval.
If the mesh has a very simple structure this range can be very low and strict;for a roughly spherical object if you can specify a range of [8,8] faces you get a octahedral abstract mesh, e.g. a geometry image.
Large numbers (greater than 400) are usually not of practical use. --
\c Int Abstract Max Mesh Size See above. --
\c Enum Optimization Criteria Choose a metric to stop the parametrization within the interval
1: Best Heuristic : stop considering both isometry and number of faces of base domain
2: Area + Angle : stop at minimum area and angle distorsion
3: Regularity : stop at minimum number of irregular vertices
4: L2 : stop at minimum OneWay L2 Stretch Eff --
\c Int Convergence Precision This parameter controls the convergence speed/precision of the optimization of the texture coordinates. Larger the number slower the processing and ,eventually, slighly better results --
\c Bool Double Step Use this bool to divide the parameterization in 2 steps. Double step makes the overall process faster and robust, but it may increase the distorsion --
+ +\section f63 Iso Parametrization Remeshing + +Remeshing based on an Abstract Isoparameterization, each triangle of the domain is recursively subdivided.
For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + +
\c Int Sampling Rate This specify the sampling rate for remeshing. --
+ +\section f64 Iso Parametrization Build Atlased Mesh + +The filter build a new mesh with a standard atlased per wedge texture. The atlas is simply done by splitting each triangle of the abstract domain
For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + +
\c DynamicFloat BorderSize ratio This parameter controls the amount of space that must be left between each diamond when building the atlas.It directly affects how many triangle are splitted during this conversion.
In abstract parametrization mesh triangles can naturally cross the triangles of the abstract domain, so when converting to a standard parametrization we must cut all the triangles that protrudes outside each diamond more than the specified threshold.The unit of the threshold is in percentage of the size of the diamond,The bigger the threshold the less triangles are splitted, but the more UV space is used (wasted). --
+ +\section f65 Iso Parametrization Load Abstract Domain + +Load the Isoparameterization from a saved Abstract Mesh
For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + +
\c String Abstract Mesh file The filename of the abstract mesh that has to be loaded --
+ +\section f66 Iso Parametrization Save Abstract Domain + +Save the Isoparameterization on an Abstract Mesh
For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + +
\c String Abstract Mesh file The filename where the abstract mesh has to be saved --
+ +\section f67 Iso Parametrization transfer between meshes + +Transfer the Isoparametrization between two meshes, the two meshes must be reasonably similar and well aligned. It is useful to transfer back an isoparam onto the original mesh after having computed it on a dummy, clean watertight model.
For more details see:
Pietroni, Tarini and Cignoni, 'Almost isometric mesh parameterization through abstract domains'
IEEE Transaction of Visualization and Computer Graphics 2010 +

Parameters

+ + + +
\c Mesh Source Mesh The mesh already having an Isoparameterization --
\c Mesh Target Mesh The mesh to be Isoparameterized --
+ +\section f68 Compute Topological Measures + +Selected faces are moved (or duplicated) in a new layer +

Parameters

+No parameters.
+\section f69 Compute Topological Measures for Quad Meshes + +Selected faces are moved (or duplicated) in a new layer +

Parameters

+No parameters.
+\section f70 Compute Integral of Gaussian Curvature + +Compute Integral of Gaussian Curvature +

Parameters

+No parameters.
+\section f71 Per Vertex Quality Stat + +Compute some statistical measures (min, max, med, stdev, variance, about the distribution of per vertex quality values +

Parameters

+No parameters.
+\section f72 Per Face Quality Stat + +Compute some statistical measures (min, max, med, stdev, variance, about the distribution of per face quality values +

Parameters

+No parameters.
+\section f73 Per Vertex Quality Histogram + +Compute a histogram with a given number of bin of the per vertex quality +

Parameters

+ + + + +
\c Float Min The value that is used as a lower bound for the set of bins (all the value smaller this one will be put in the first bin) --
\c Float Max The value that is used as a upper bound for the set of bins (all the value over this one will be put in the last bin) --
\c Int Number of bins Number of bins in which the range of values is subdivided --
+ +\section f74 Per Face Quality Histogram + +Compute a histogram with a given number of bin of the per face quality +

Parameters

+ + + + +
\c Float Min The value that is used as a lower bound for the set of bins (all the value smaller this one will be put in the first bin) --
\c Float Max The value that is used as a upper bound for the set of bins (all the value over this one will be put in the last bin) --
\c Int Number of bins Number of bins in which the range of values is subdivided --
+ +\section f75 Compute Geometric Measures + +Create a new layer containing the same model as the current one +

Parameters

+No parameters.
+\section f76 Subdivision Surfaces: Loop + +Apply Loop's Subdivision Surface algorithm. It is an approximant subdivision method and it works for every triangle and has rules for extraordinary vertices.
+

Parameters

+ + + + + +
\c Enum Weighting scheme Change the weights used. Allow to optimize some beaviors in despite of others. --
\c Int Iterations Number of time the model is subdivided. --
\c AbsPerc Edge Threshold All the edges longer than this threshold will be refined.
Setting this value to zero will force an uniform refinement. --
\c Bool Affect only selected faces If selected the filter affect only the selected faces --
+ +\section f77 Subdivision Surfaces: Butterfly Subdivision + +Apply Butterfly Subdivision Surface algorithm. It is an interpolated method, defined on arbitrary triangular meshes. The scheme is known to be C1 but not C2 on regular meshes
+

Parameters

+ + + + +
\c Int Iterations Number of time the model is subdivided. --
\c AbsPerc Edge Threshold All the edges longer than this threshold will be refined.
Setting this value to zero will force an uniform refinement. --
\c Bool Affect only selected faces If selected the filter affect only the selected faces --
+ +\section f78 Remove Unreferenced Vertex + +Check for every vertex on the mesh if it is referenced by a face and removes it +

Parameters

+No parameters.
+\section f79 Remove Duplicated Vertex + +Check for every vertex on the mesh if there are two vertices with same coordinates and removes it +

Parameters

+No parameters.
+\section f80 Remove Zero Area Faces + +Removes null faces (the one with area equal to zero) +

Parameters

+No parameters.
+\section f81 Select Faces with edges longer than... + +Select all triangles having an edge with lenght greater or equal than a given threshold +

Parameters

+ + +
\c DynamicFloat Edge Threshold All the faces with an edge longer than this threshold will be deleted. Useful for removing long skinny faces obtained by bad triangulation of range maps. --
+ +\section f82 Clustering decimation + +Collapse vertices by creating a three dimensional grid enveloping the mesh and discretizes them based on the cells of this grid +

Parameters

+ + + +
\c AbsPerc Cell Size The size of the cell of the clustering grid. Smaller the cell finer the resulting mesh. For obtaining a very coarse mesh use larger values. --
\c Bool Affect only selected faces If selected the filter affect only the selected faces --
+ +\section f83 Quadric Edge Collapse Decimation + +Simplify a mesh using a Quadric based Edge Collapse Strategy, better than clustering but slower +

Parameters

+ + + + + + + + + + + + +
\c Int Target number of faces The desired final number of faces. --
\c Float Percentage reduction (0..1) If non zero, this parameter specifies the desired final size of the mesh as a percentage of the initial size. --
\c Float Quality threshold Quality threshold for penalizing bad shaped faces.
The value is in the range [0..1] + 0 accept any kind of face (no penalties), + 0.5 penalize faces with quality < 0.5, proportionally to their shape + --
\c Bool Preserve Boundary of the mesh The simplification process tries not to destroy mesh boundaries --
\c Bool Preserve Normal Try to avoid face flipping effects and try to preserve the original orientation of the surface --
\c Bool Preserve Topology Avoid all the collapses that should cause a topology change in the mesh (like closing holes, squeezing handles, etc). If checked the genus of the mesh should stay unchanged. --
\c Bool Optimal position of simplified vertices Each collapsed vertex is placed in the position minimizing the quadric error. + It can fail (creating bad spikes) in case of very flat areas. +If disabled edges are collapsed onto one of the two original vertices and the final mesh is composed by a subset of the original vertices. --
\c Bool Planar Simplification Add additional simplification constraints that improves the quality of the simplification of the planar portion of the mesh. --
\c Bool Weighted Simplification Use the Per-Vertex quality as a weighting factor for the simplification. The weight is used as a error amplification value, so a vertex with a high quality value will not be simplified and a portion of the mesh with low quality values will be aggressively simplified. --
\c Bool Post-simplification cleaning After the simplification an additional set of steps is performed to clean the mesh (unreferenced vertices, bad faces, etc) --
\c Bool Simplify only selected faces The simplification is applied only to the selected set of faces. + Take care of the target number of faces! --
+ +\section f84 Quadric Edge Collapse Decimation (with texture) + +Simplify a textured mesh using a Quadric based Edge Collapse Strategy, better than clustering but slower +

Parameters

+ + + + + + + + + + +
\c Int Target number of faces --
\c Float Percentage reduction (0..1) If non zero, this parameter specifies the desired final size of the mesh as a percentage of the initial mesh. --
\c Float Quality threshold Quality threshold for penalizing bad shaped faces.
The value is in the range [0..1] + 0 accept any kind of face (no penalties), + 0.5 penalize faces with quality < 0.5, proportionally to their shape + --
\c Float Texture Weight Additional weight for each extra Texture Coordinates for every (selected) vertex --
\c Bool Preserve Boundary of the mesh The simplification process tries not to destroy mesh boundaries --
\c Bool Optimal position of simplified vertices Each collapsed vertex is placed in the position minimizing the quadric error. + It can fail (creating bad spikes) in case of very flat areas. +If disabled edges are collapsed onto one of the two original vertices and the final mesh is composed by a subset of the original vertices. --
\c Bool Preserve Normal Try to avoid face flipping effects and try to preserve the original orientation of the surface --
\c Bool Planar Simplification Add additional simplification constraints that improves the quality of the simplification of the planar portion of the mesh. --
\c Bool Simplify only selected faces The simplification is applied only to the selected set of faces. + Take care of the target number of faces! --
+ +\section f85 Subdivision Surfaces: Midpoint + +Apply a plain subdivision scheme where every edge is splitted on its midpoint +

Parameters

+ + + + +
\c Int Iterations Number of time the model is subdivided. --
\c AbsPerc Edge Threshold All the edges longer than this threshold will be refined.
Setting this value to zero will force an uniform refinement. --
\c Bool Affect only selected faces If selected the filter affect only the selected faces --
+ +\section f86 Re-Orient all faces coherentely + +Re-orient in a consistent way all the faces of the mesh +

Parameters

+No parameters.
+\section f87 Transform: Flip and/or swap axis + +Generate a matrix transformation that flips each one of the axis or swaps a couple of axis. The listed transformations are applied in that order. +

Parameters

+ + + + + + + + +
\c Bool Flip X axis If selected the axis will be swapped (mesh mirrored along the YZ plane --
\c Bool Flip Y axis If selected the axis will be swapped (mesh mirrored along the XZ plane --
\c Bool Flip Z axis If selected the axis will be swapped (mesh mirrored along the XY plane --
\c Bool Swap X-Y axis If selected the two axis will be swapped. All the swaps are performed in this order --
\c Bool Swap X-Z axis If selected the two axis will be swapped. All the swaps are performed in this order --
\c Bool Swap Y-Z axis If selected the two axis will be swapped. All the swaps are performed in this order --
\c Bool Freeze Matrix The transformation is explicitly applied and the vertex coords are actually changed --
+ +\section f88 Transform: Rotate + +Generate a matrix transformation that rotates the mesh. The mesh can be rotated around one of the axis or a given axis and w.r.t. to the origin or the baricenter, or a given point. +

Parameters

+ + + + + + + + + +
\c Enum Rotation on: Choose a method --
\c Enum Center of rotation: Choose a method --
\c DynamicFloat Rotation Angle Angle of rotation (in degree). If snapping is enable this vaule is rounded according to the snap value --
\c Bool Snap angle If selected, before starting the filter will remove anyy unreference vertex (for which curvature values are not defined) --
\c Point3f Custom axis This rotation axis is used only if the 'custom axis' option is chosen. --
\c Point3f Custom center This rotation center is used only if the 'custom point' option is chosen. --
\c Float Snapping Value This value is used to snap the rotation angle. --
\c Bool Freeze Matrix The transformation is explicitly applied and the vertex coords are actually changed --
+ +\section f89 Transform: Rotate to Fit to a plane + +Generate a matrix transformation that rotates the mesh so that the selected set of points fit well the XY plane. +

Parameters

+No parameters.
+\section f90 Transform: Align to Principal Axis + +Generate a matrix transformation that rotates the mesh aligning it to its principal axis of inertia.If the mesh is watertight the Itertia tensor is computed assuming the interior of the mesh has a uniform density.In case of an open mesh or a point clouds the inerta tensor is computed assuming each vertex is a constant puntual mass. +

Parameters

+ + +
\c Bool Use vertex If selected, only the vertices of the mesh are used to compute the Principal Axis. Mandatory for point clouds or for non water tight meshes --
+ +\section f91 Transform: Scale + +Generate a matrix transformation that scale the mesh. The mesh can be also automatically scaled to a unit side box. +

Parameters

+ + + + + + + + + +
\c DynamicFloat X Axis Scaling --
\c DynamicFloat Y Axis Scaling --
\c DynamicFloat Z Axis Scaling --
\c Bool Uniform Scaling If selected an uniform scaling (the same for all the three axis) is applied (the X axis value is used) --
\c Enum Center of rotation: Choose a method --
\c Point3f Custom center This rotation center is used only if the 'custom point' option is chosen. --
\c Bool Scale to Unit bbox If selected, the object is scaled to a box whose sides are at most 1 unit lenght --
\c Bool Freeze Matrix The transformation is explicitly applied and the vertex coords are actually changed --
+ +\section f92 Transform: Move, Translate, Center + +Generate a matrix transformation that translate the mesh. The mesh can be translated around one of the axis or a given axis and w.r.t. to the origin or the baricenter, or a given point. +

Parameters

+ + + + + + +
\c DynamicFloat X Axis Absolute translation amount along the X axis --
\c DynamicFloat Y Axis Absolute translation amount along the Y axis --
\c DynamicFloat Z Axis Absolute translation amount along the Z axis --
\c Bool translate center of bbox to the origin If selected, the object is scaled to a box whose sides are at most 1 unit lenght --
\c Bool Freeze Matrix The transformation is explicitly applied and the vertex coords are actually changed --
+ +\section f93 Invert Faces Orientation + +Invert faces orientation, flip the normal of the mesh +

Parameters

+No parameters.
+\section f94 Compute normals for point sets + +Compute the normals of the vertices of a mesh without exploiting the triangle connectivity, useful for dataset with no faces +

Parameters

+ + +
\c Int Number of neigbors The number of neighbors used to estimate and propagate normals. --
+ +\section f95 Compute curvature principal directions + +Compute the principal directions of curvature with several algorithms +

Parameters

+ + + +
\c Enum Method: Choose a method --
\c Bool Remove Unreferenced Vertices If selected, before starting the filter will remove anyy unreference vertex (for which curvature values are not defined) --
+ +\section f96 Close Holes + +Close holes smaller than a given threshold +

Parameters

+ + + + + +
\c Int Max size to be closed The size is expressed as number of edges composing the hole boundary --
\c Bool Close holes with selected faces Only the holes with at least one of the boundary faces selected are closed --
\c Bool Select the newly created faces After closing a hole the faces that have been created are left selected. Any previous selection is lost. Useful for example for smoothing the newly created holes. --
\c Bool Prevent creation of selfIntersecting faces When closing an holes it tries to prevent the creation of faces that intersect faces adjacent to the boundary of the hole. It is an heuristic, non intersetcting hole filling can be NP-complete. --
+ +\section f97 Freeze Current Matrix + +Freeze the current transformation matrix into the coords of the vertices of the mesh (and set this matrix to the identity). In other words it applies in a definetive way the current matrix to the vertex coords. +

Parameters

+No parameters.
+\section f98 Reset Current Matrix + +Set the current transformation matrix to the Identity. +

Parameters

+No parameters.
+\section f99 Geometric Cylindrical Unwrapping + +Unwrap the geometry of current mesh along a clylindrical equatorial projection. The cylindrical projection axis is centered on the origin and directed along the vertical Y axis. +

Parameters

+ + + + +
\c Float Start angle (deg) The starting angle of the unrolling process. --
\c Float End angle (deg) The ending angle of the unrolling process. Quality threshold for penalizing bad shaped faces.
The value is in the range [0..1] + 0 accept any kind of face (no penalties), + 0.5 penalize faces with quality < 0.5, proportionally to their shape + --
\c Float Projection Radius If non zero, this parameter specifies the desired radius of the reference cylinder used for the projection. Changing this parameter affect the X horizontal scaling of the resulting mesh. If zero (default) the average distance of the mesh from the axis is chosen. --
+ +\section f100 Subdivision Surfaces: Catmull-Clark + +Apply the Catmull-Clark Subdivision Surfaces. Note that position of the new vertices is simply linearly interpolated. If the mesh is triangle based (no faux edges) it generates a quad mesh, otherwise it honores it the faux-edge bits +

Parameters

+No parameters.
+\section f101 Tri to Quad by 4-8 Subdivision + +Convert a tri mesh into a quad mesh by applying a 4-8 subdivision scheme.It introduces less overhead than the plain Catmull-Clark Subdivision Surfaces(it adds only a single vertex for each triangle instead of four).
See:
4-8 Subdivision
Luiz Velho, Denis Zorin
CAGD, volume 18, Issue 5, Pages 397-427. +

Parameters

+No parameters.
+\section f102 Tri to Quad by smart triangle pairing + +Convert a tri mesh into a quad mesh by pairing triangles. +

Parameters

+No parameters.
+\section f103 Crease Marking with NonFaux Edges + +Mark the crease edges of a mesh as Non-Faux according to edge dihedral angle. +

Parameters

+ + +
\c Float Angle Threshold (deg) The angle threshold for considering an edge a crease. If the normals between two faces forms an angle larger than the threshold the edge is considered a crease. --
+ +\section f104 Vertex Attribute Seam + +Make all selected vertex attributes connectivity-independent:
vertices are duplicated whenever two or more selected wedge or face attributes do not match.
This is particularly useful for GPU-friendly mesh layout, where a single index must be used to access all required vertex attributes. +

Parameters

+ + + + +
\c Enum Normal Source: Choose a method --
\c Enum Color Source: Choose a method --
\c Enum Texcoord Source: Choose a method --
+ +\section f105 Subdivision Surfaces: LS3 Loop + +Apply LS3 Subdivision Surface algorithm using Loop's weights. This subdivision method take normals into account.
See:Boye', S. Guennebaud, G. & Schlick, C.
Least squares subdivision surfaces
Computer Graphics Forum, 2010.

Alternatives weighting schemes are based on the paper: Barthe, L. & Kobbelt, L.
Subdivision scheme tuning around extraordinary vertices
Computer Aided Geometric Design, 2004, 21, 561-583.
The current implementation of these schemes don't handle vertices of valence > 12 +

Parameters

+ + + + + +
\c Enum Weighting scheme Change the weights used. Allow to optimize some beaviors in despite of others. --
\c Int Iterations Number of time the model is subdivided. --
\c AbsPerc Edge Threshold All the edges longer than this threshold will be refined.
Setting this value to zero will force an uniform refinement. --
\c Bool Affect only selected faces If selected the filter affect only the selected faces --
+ +\section f106 MLS projection (RIMLS) + +Project a mesh (or a point set) onto the MLS surface defined by itself or another point set.

This is the Robust Implicit MLS (RIMLS) variant which is an extension of Implicit MLS preserving sharp features using non linear regression. For more details see:
Oztireli, Guennebaud and Gross, 'Feature Preserving Point Set Surfaces based on Non-Linear Kernel Regression' Eurographics 2009. +

Parameters

+ + + + + + + + + + + +
\c Mesh Point set The point set (or mesh) which defines the MLS surface. --
\c Mesh Proxy Mesh The mesh that will be projected/resampled onto the MLS surface. --
\c Bool Selection only If checked, only selected vertices will be projected. --
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Sharpness Width of the filter used by the normal refitting weight.This weight function is a Gaussian on the distance between two unit vectors:the current gradient and the input normal. Therefore, typical value range between 0.5 (sharp) to 2 (smooth). --
\c Int MLS - Max fitting iterations Max number of fitting iterations. (0 or 1 is equivalent to the standard IMLS) --
\c Int Refinement - Max subdivisions Max number of subdivisions. --
\c Float Refinement - Crease angle (degree) Threshold angle between two faces controlling the refinement. --
+ +\section f107 MLS projection (APSS) + +Project a mesh (or a point set) onto the MLS surface defined by itself or another point set.

This is the algebraic point set surfaces (APSS) variant which is based on the local fitting of algebraic spheres. It requires points equipped with oriented normals.
For all the details about APSS see:
Guennebaud and Gross, 'Algebraic Point Set Surfaces', Siggraph 2007, and
Guennebaud et al., 'Dynamic Sampling and Rendering of APSS', Eurographics 2008 +

Parameters

+ + + + + + + + + + + +
\c Mesh Point set The point set (or mesh) which defines the MLS surface. --
\c Mesh Proxy Mesh The mesh that will be projected/resampled onto the MLS surface. --
\c Bool Selection only If checked, only selected vertices will be projected. --
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Spherical parameter Control the curvature of the fitted spheres: 0 is equivalent to a pure plane fit,1 to a pure spherical fit, values between 0 and 1 gives intermediate results,while others real values might give interresting results, but take care with extremesettings ! --
\c Bool Accurate normals If checked, use the accurate MLS gradient instead of the local approximationto compute the normals. --
\c Int Refinement - Max subdivisions Max number of subdivisions. --
\c Float Refinement - Crease angle (degree) Threshold angle between two faces controlling the refinement. --
+ +\section f108 Marching Cubes (RIMLS) + +Extract the iso-surface (as a mesh) of a MLS surface defined by the current point set (or mesh)using the marching cubes algorithm. The coarse extraction is followed by an accurate projectionstep onto the MLS, and an extra zero removal procedure.

This is the Robust Implicit MLS (RIMLS) variant which is an extension of Implicit MLS preserving sharp features using non linear regression. For more details see:
Oztireli, Guennebaud and Gross, 'Feature Preserving Point Set Surfaces based on Non-Linear Kernel Regression' Eurographics 2009. +

Parameters

+ + + + + + + +
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Sharpness Width of the filter used by the normal refitting weight.This weight function is a Gaussian on the distance between two unit vectors:the current gradient and the input normal. Therefore, typical value range between 0.5 (sharp) to 2 (smooth). --
\c Int MLS - Max fitting iterations Max number of fitting iterations. (0 or 1 is equivalent to the standard IMLS) --
\c Int Grid Resolution The resolution of the grid on which we run the marching cubes.This marching cube is memory friendly, so you can safely set large values up to 1000 or even more. --
+ +\section f109 Marching Cubes (APSS) + +Extract the iso-surface (as a mesh) of a MLS surface defined by the current point set (or mesh)using the marching cubes algorithm. The coarse extraction is followed by an accurate projectionstep onto the MLS, and an extra zero removal procedure.

This is the algebraic point set surfaces (APSS) variant which is based on the local fitting of algebraic spheres. It requires points equipped with oriented normals.
For all the details about APSS see:
Guennebaud and Gross, 'Algebraic Point Set Surfaces', Siggraph 2007, and
Guennebaud et al., 'Dynamic Sampling and Rendering of APSS', Eurographics 2008 +

Parameters

+ + + + + + + +
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Spherical parameter Control the curvature of the fitted spheres: 0 is equivalent to a pure plane fit,1 to a pure spherical fit, values between 0 and 1 gives intermediate results,while others real values might give interresting results, but take care with extremesettings ! --
\c Bool Accurate normals If checked, use the accurate MLS gradient instead of the local approximationto compute the normals. --
\c Int Grid Resolution The resolution of the grid on which we run the marching cubes.This marching cube is memory friendly, so you can safely set large values up to 1000 or even more. --
+ +\section f110 Colorize curvature (RIMLS) + +Colorize the vertices of a mesh or point set using the curfvature of the underlying surface.

This is the Robust Implicit MLS (RIMLS) variant which is an extension of Implicit MLS preserving sharp features using non linear regression. For more details see:
Oztireli, Guennebaud and Gross, 'Feature Preserving Point Set Surfaces based on Non-Linear Kernel Regression' Eurographics 2009. +

Parameters

+ + + + + + + + +
\c Bool Selection only If checked, only selected vertices will be projected. --
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Sharpness Width of the filter used by the normal refitting weight.This weight function is a Gaussian on the distance between two unit vectors:the current gradient and the input normal. Therefore, typical value range between 0.5 (sharp) to 2 (smooth). --
\c Int MLS - Max fitting iterations Max number of fitting iterations. (0 or 1 is equivalent to the standard IMLS) --
\c Enum Curvature type The type of the curvature to plot. --
+ +\section f111 Colorize curvature (APSS) + +Colorize the vertices of a mesh or point set using the curfvature of the underlying surface.

This is the algebraic point set surfaces (APSS) variant which is based on the local fitting of algebraic spheres. It requires points equipped with oriented normals.
For all the details about APSS see:
Guennebaud and Gross, 'Algebraic Point Set Surfaces', Siggraph 2007, and
Guennebaud et al., 'Dynamic Sampling and Rendering of APSS', Eurographics 2008 +

Parameters

+ + + + + + + +
\c Bool Selection only If checked, only selected vertices will be projected. --
\c Float MLS - Filter scale Scale of the spatial low pass filter. +It is relative to the radius (local point spacing) of the vertices. --
\c Float Projection - Accuracy (adv) Threshold value used to stop the projections. +This value is scaled by the mean point spacing to get the actual threshold. --
\c Int Projection - Max iterations (adv) Max number of iterations for the projection. --
\c Float MLS - Spherical parameter Control the curvature of the fitted spheres: 0 is equivalent to a pure plane fit,1 to a pure spherical fit, values between 0 and 1 gives intermediate results,while others real values might give interresting results, but take care with extremesettings ! --
\c Enum Curvature type The type of the curvature to plot.
ApproxMean uses the radius of the fitted sphere as an approximation of the mean curvature. --
+ +\section f112 Estimate radius from density + +Estimate the local point spacing (aka radius) around each vertex using a basic estimate of the local density. +

Parameters

+ + +
\c Int Number of neighbors Number of neighbors used to estimate the local density. Larger values lead to smoother variations. --
+ +\section f113 Small component selection + +Select the small disconnected components of a mesh. +

Parameters

+ + + +
\c Float Small component ratio This ratio (between 0 and 1) defines the meaning of small as the threshold ratio between the number of facesof the largest component and the other ones. A larger value will select more components. --
\c Bool Select only non closed components --
+ +\section f114 Surface Reconstruction: VCG + +The surface reconstrction algorithm that have been used for a long time inside the ISTI-Visual Computer Lab.It is mostly a variant of the Curless et al. e.g. a volumetric approach with some original weighting schemes,a different expansion rule, and another approach to hole filling through volume dilation/relaxations. +

Parameters

+ + + + + + + + + +
\c AbsPerc Voxel Side VoxelSide --
\c Int SubVol Splitting The level of recursive splitting of the subvolume reconstruction process. A value of '3' means that a 3x3x3 regular space subdivision is created and the reconstruction process generate 8 matching meshes. It is useful for reconsruction objects at a very high resolution. Default value (1) means no splitting. --
\c Float Geodesic Weighting The influence of each range map is weighted with its geodesic distance from the borders. In this way when two (or more ) range maps overlaps their contribution blends smoothly hiding possible misalignments. --
\c Bool Show Result if not checked the result is only saved into the current directory --
\c Int Volume Laplacian iter How many volume smoothing step are performed to clean out the eventually noisy borders --
\c Int Widening How many voxel the field is expanded. Larger this value more holes will be filled --
\c Bool Vertex Splatting This option use a different way to build up the volume, instead of using rasterization of the triangular face it splat the vertices into the grids. It works under the assumption that you have at least one sample for each voxel of your reconstructed volume. --
\c Bool Post Merge simplification After the merging an automatic simplification step is performed. --
+ +\section f115 Simplfication: MC Edge Collapse + +A simplification/cleaning algoritm tailored for meshes generated by Marching Cubes algorithm. +

Parameters

+No parameters.
+\section f116 Surface Reconstruction: Poisson + +Use the points and normal to build a surface using the Poisson Surface reconstruction approach. +

Parameters

+ + + + + +
\c Int Octree Depth Set the depth of the Octree used for extracting the final surface. Suggested range 5..10. Higher numbers mean higher precision in the reconstruction but also higher processing times. Be patient. + --
\c Int Solver Divide This integer argument specifies the depth at which a block Gauss-Seidel solver is used to solve the Laplacian equation. +Using this parameter helps reduce the memory overhead at the cost of a small increase in reconstruction time. +In practice, the authors have found that for reconstructions of depth 9 or higher a subdivide depth of 7 or 8 can reduce the memory usage. +The default value is 8. + --
\c Float Samples per Node This floating point value specifies the minimum number of sample points that should fall within an octree node as the octree +construction is adapted to sampling density. For noise-free samples, small values in the range [1.0 - 5.0] can be used. +For more noisy samples, larger values in the range [15.0 - 20.0] may be needed to provide a smoother, noise-reduced, reconstruction. +The default value is 1.0. --
\c Float Surface offsetting This floating point value specifies a correction value for the isosurface threshold that is chosen. +Values < 1 means internal offsetting, >1 external offsetting.Good values are in the range 0.5 .. 2. +The default value is 1.0 (no offsetting). --
+ +\section f117 Convex Hull + +Calculate the convex hull with Qhull library (http://www.qhull.org/html/qconvex.htm).

The convex hull of a set of points is the boundary of the minimal convex set containing the given non-empty finite set of points. +

Parameters

+ + +
\c Bool Re-orient all faces coherentely Re-orient all faces coherentely --
+ +\section f118 Delaunay Triangulation + +Calculate the Delaunay triangulation with Qhull library (http://www.qhull.org/html/qdelaun.htm).

The Delaunay triangulation DT(P) of a set of points P in d-dimensional spaces is a triangulation of the convex hull such that no point in P is inside the circum-sphere of any simplex in DT(P).
+

Parameters

+No parameters.
+\section f119 Voronoi Filtering + +Compute a Voronoi filtering (Amenta and Bern 1998) with Qhull library (http://www.qhull.org/).

The algorithm calculates a triangulation of the input point cloud without requiring vertex normals.It uses a subset of the Voronoi vertices to remove triangles from the Delaunay triangulation.
After computing the Voronoi diagram, foreach sample point it chooses the two farthest opposite Voronoi vertices.Then computes a Delaunay triangulation of the sample points and the selected Voronoi vertices, and keep only those triangles in witch all three vertices are sample points. +

Parameters

+ + +
\c DynamicFloat Pole Discard Thr Threshold used to discard the Voronoi vertices too far from the origin.We discard vertices are further than this factor times the bbox diagonal
Growing values of this value will add more Voronoi vertices for a better tightier surface reconstruction.On the other hand they will increase processing time and could cause numerical problems to the qhull library.
--
+ +\section f120 Alpha Complex/Shape + +Calculate the Alpha Shape of the mesh(Edelsbrunner and P.Mucke 1994) with Qhull library (http://www.qhull.org/).

From a given finite point set in the space it computes 'the shape' of the set.The Alpha Shape is the boundary of the alpha complex, that is a subcomplex of the Delaunay triangulation of the given point set.
For a given value of 'alpha', the alpha complex includes all the simplices in the Delaunay triangulation which have an empty circumsphere with radius equal or smaller than 'alpha'.
The filter inserts the minimum value of alpha (the circumradius of the triangle) in attribute Quality foreach face. +

Parameters

+ + + +
\c AbsPerc Alpha value Compute the alpha value as percentage of the diagonal of the bbox --
\c Enum Get: Select the output. The Alpha Shape is the boundary of the Alpha Complex --
+ +\section f121 Select Visible Points + +Select the visible points in a point cloud, as viewed from a given viewpoint.
It uses the Qhull library (http://www.qhull.org/

The algorithm used (Katz, Tal and Basri 2007) determines visibility without reconstructing a surface or estimating normals.A point is considered visible if its transformed point lies on the convex hull of a trasformed points cloud from the original mesh points. +

Parameters

+ + + + + + + +
\c DynamicFloat radius threshold Bounds the radius of the sphere used to select visible points.It is used to adjust the radius of the sphere (calculated as distance between the center and the farthest point from it) according to the following equation:
radius = radius * pow(10,threshold);
As the radius increases more points are marked as visible.Use a big threshold for dense point clouds, a small one for sparse clouds. --
\c Bool Use ViewPoint from Mesh Camera Uses the ViewPoint from the camera associated to the current mesh + if there is no camera, an error occurs --
\c Point3f ViewPoint if UseCamera is true, this value is ignored --
\c Bool Show Partial Convex Hull of flipped points Show Partial Convex Hull of the transformed point cloud --
\c Bool Show a triangulation of the visible points Show a triangulation of the visible points --
\c Bool Re-orient all faces of the CH coherentely Re-orient all faces of the CH coherentely.If no Convex Hulls are selected , this value is ignored --
+ +\section f122 Quality Mapper applier + +The filter maps quality levels into colors using a colorband built from a transfer function (may be loaded from an external file) and colorizes the mesh vertexes. The minimum, medium and maximum quality values can be set by user to obtain a custom quality range for mapping +

Parameters

+ + + + + + + +
\c Float Minimum mesh quality The specified quality value is mapped in the lower end of the choosen color scale. Default value: the minumum quality value found on the mesh. --
\c Float Maximum mesh quality The specified quality value is mapped in the upper end of the choosen color scale. Default value: the maximum quality value found on the mesh. --
\c Float Gamma biasing (0..100) Defines a gamma compression of the quality values, by setting the position of the middle of the color scale. Value is defined as a percentage (0..100). Default value is 50, that corresponds to a linear mapping. --
\c Float Mesh brightness must be between 0 and 2. 0 represents a completely dark mesh, 1 represents a mesh colorized with original colors, 2 represents a completely bright mesh --
\c Enum Transfer Function type to apply to filter Choose the Transfer Function to apply to the filter --
\c String Custom TF Filename Filename of the transfer function to be loaded, used only if you have chosen the Custom Transfer Function. --
+ +\section f123 Mesh Element Subsampling + +Create a new layer populated with a point sampling of the current mesh, At most one sample for each element of the mesh is created. Samples are taking in a uniform way, one for each element (vertex/edge/face); all the elements have the same probabilty of being choosen. +

Parameters

+ + + +
\c Enum Element to sample: Choose what mesh element has to be used for the subsampling. At most one point sample will be added for each one of the chosen elements --
\c Int Number of samples The desired number of elements that must be chosen. Being a subsampling of the original elements if this number should not be larger than the number of elements of the original mesh. --
+ +\section f124 Montecarlo Sampling + +Create a new layer populated with a point sampling of the current mesh; samples are generated in a randomly uniform way, or with a distribution biased by the per-vertex quality values of the mesh. +

Parameters

+ + + + +
\c Int Number of samples The desired number of samples. It can be smaller or larger than the mesh size, and according to the choosed sampling strategy it will try to adapt. --
\c Bool Quality Weighted Sampling Use per vertex quality to drive the vertex sampling. The number of samples falling in each face is proportional to the face area multiplied by the average quality of the face vertices. --
\c Bool Exact Sample Num If the required total number of samples is not a strict exact requirement we can exploit a different algorithmbased on the choice of the number of samples inside each triangle by a random Poisson-distributed number with mean equal to the expected number of samples times the area of the triangle over the surface of the whole mesh. --
+ +\section f125 Stratified Triangle Sampling + +Create a new layer populated with a point sampling of the current mesh; to generate multiple samples inside a triangle each triangle is subdivided according to various stratified strategies. Distribution is often biased by triangle shape. +

Parameters

+ + + + +
\c Int Number of samples The desired number of samples. It can be smaller or larger than the mesh size, and according to the choosed sampling strategy it will try to adapt. --
\c Enum Element to sample: Similar Triangle: each triangle is subdivided into similar triangles and the internal vertices of these triangles are considered. This sampling leave space around edges and vertices for separate sampling of these entities.
Dual Similar Triangle: each triangle is subdivided into similar triangles and the internal vertices of these triangles are considered.
Long Edge Subdiv each triangle is recursively subdivided along the longest edge.
Sample Edges Only the edges of the mesh are uniformly sampled.
Sample NonFaux Edges Only the non-faux edges of the mesh are uniformly sampled. --
\c Bool Random Sampling if true, for each (virtual) face we draw a random point, otherwise we pick the face midpoint. --
+ +\section f126 Clustered vertex Subsampling + +Create a new layer populated with a subsampling of the vertexes of the current mesh; the subsampling is driven by a simple one-per-gridded cell strategy. +

Parameters

+ + + + +
\c AbsPerc Cell Size The size of the cell of the clustering grid. Smaller the cell finer the resulting mesh. For obtaining a very coarse mesh use larger values. --
\c Enum Representative Strataegy: Average: for each cell we take the average of the sample falling into. The resulting point is a new point.
Closes to center: for each cell we take the sample that is closest to the center of the cell. Choosen vertices are a subset of the original ones. --
\c Bool Selected If true only for the filter is applied only on the selected subset of the mesh. --
+ +\section f127 Poisson-disk Sampling + +Create a new layer populated with a point sampling of the current mesh; samples are generated according to a Poisson-disk distribution +

Parameters

+ + + + + + + +
\c Int Number of samples The desired number of samples. The ray of the disk is calculated according to the sampling density. --
\c AbsPerc Explicit Radius If not zero this parameter override the previous parameter to allow exact radius specification --
\c Int MonterCarlo OverSampling The over-sampling rate that is used to generate the intial Montecarlo samples (e.g. if this parameter is K means thatK x poisson sample points will be used). The generated Poisson-disk samples are a subset of these initial Montecarlo samples. Larger this number slows the process but make it a bit more accurate. --
\c Bool Base Mesh Subsampling If true the original vertices of the base mesh are used as base set of points. In this case the SampleNum should be obviously much smaller than the original vertex number.
Note that this option is very useful in the case you want to subsample a dense point cloud. --
\c Bool Refine Existing Samples If true the vertices of the below mesh are used as starting vertices, and they will utterly refined by adding more and more points until possible. --
\c Mesh Samples to be refined Used only if the above option is checked. --
+ +\section f128 Variable density Disk Sampling + +Create a new layer populated with a point sampling of the current mesh; samples are generated according to a Poisson-disk distribution +

Parameters

+ + + + + + +
\c Int Number of samples The desired number of samples. The ray of the disk is calculated according to the sampling density. --
\c AbsPerc Explicit Radius If not zero this parameter override the previous parameter to allow exact radius specification --
\c Float Radius Variance The radius of the disk is allowed to vary between r/var and r*var. If this parameter is 1 the sampling is the same of the Poisson Disk Sampling --
\c Int MonterCarlo OverSampling The over-sampling rate that is used to generate the intial Montecarlo samples (e.g. if this parameter is x means that x * poisson sample points will be used). The generated Poisson-disk samples are a subset of these initial Montecarlo samples. Larger this number slows the process but make it a bit more accurate. --
\c Bool Base Mesh Subsampling If true the original vertices of the base mesh are used as base set of points. In this case the SampleNum should be obviously much smaller than the original vertex number. --
+ +\section f129 Hausdorff Distance + +Compute the Hausdorff Distance between two meshes, sampling one of the two and finding foreach sample the closest point over the other mesh. +

Parameters

+ + + + + + + + + + +
\c Mesh Sampled Mesh The mesh whose surface is sampled. For each sample we search the closest point on the Target Mesh. --
\c Mesh Target Mesh The mesh that is sampled for the comparison. --
\c Bool Save Samples Save the position and distance of all the used samples on both the two surfaces, creating two new layers with two point clouds representing the used samples. --
\c Bool Sample Vertexes For the search of maxima it is useful to sample vertices and edges of the mesh with a greater care. It is quite probably the the farthest points falls along edges or on mesh vertexes, and with uniform montecarlo sampling approachesthe probability of taking a sample over a vertex or an edge is theoretically null.
On the other hand this kind of sampling could make the overall sampling distribution slightly biased and slightly affects the cumulative results. --
\c Bool Sample Edges See the above comment. --
\c Bool Sample FauxEdge See the above comment. --
\c Bool Sample Faces See the above comment. --
\c Int Number of samples The desired number of samples. It can be smaller or larger than the mesh size, and according to the choosed sampling strategy it will try to adapt. --
\c AbsPerc Max Distance Sample points for which we do not find anything whithin this distance are rejected and not considered neither for averaging nor for max. --
+ +\section f130 Texel Sampling + +Create a new layer with a point sampling of the current mesh, a sample for each texel of the mesh is generated +

Parameters

+ + + + + +
\c Int Texture Width A sample for each texel is generated, so the desired texture size is need, only samples for the texels falling inside some faces are generated. + Setting this param to 256 means that you get at most 256x256 = 65536 samples).
If this parameter is 0 the size of the current texture is choosen. --
\c Int Texture Height A sample for each texel is generated, so the desired texture size is need, only samples for the texels falling inside some faces are generated. + Setting this param to 256 means that you get at most 256x256 = 65536 samples) --
\c Bool UV Space Sampling The generated texel samples have their UV coords as point positions. The resulting point set is has a square domain, the texels/points, even if on a flat domain retain the original vertex normal to help a better perception of the original provenience. --
\c Bool RecoverColor The generated point cloud has the current texture color --
+ +\section f131 Vertex Attribute Transfer + +Transfer the choosen per-vertex attributes from one mesh to another. Useful to transfer attributes to different representations of a same object.
For each vertex of the target mesh the closest point (not vertex!) on the source mesh is computed, and the requested interpolated attributes from that source point are copied into the target vertex.
The algorithm assumes that the two meshes are reasonably similar and aligned. +

Parameters

+ + + + + + + + + +
\c Mesh Source Mesh The mesh that contains the source data that we want to transfer. --
\c Mesh Target Mesh The mesh whose vertexes will receive the data from the source. --
\c Bool Transfer Geometry if enabled, the position of each vertex of the target mesh will be snapped onto the corresponding closest point on the source mesh --
\c Bool Transfer Normal if enabled, the normal of each vertex of the target mesh will get the (interpolated) normal of the corresponding closest point on the source mesh --
\c Bool Transfer Color if enabled, the color of each vertex of the target mesh will become the color of the corresponding closest point on the source mesh --
\c Bool Transfer quality if enabled, the quality of each vertex of the target mesh will become the quality of the corresponding closest point on the source mesh --
\c Bool Store dist. as quality if enabled, we store the distance of the transferred value as in the vertex quality --
\c AbsPerc Max Dist Search Sample points for which we do not find anything whithin this distance are rejected and not considered for recovering attributes. --
+ +\section f132 Uniform Mesh Resampling + +Create a new mesh that is a resampled version of the current one.
The resampling is done by building a uniform volumetric representation where each voxel contains the signed distance from the original surface. The resampled surface is reconstructed using the marching cube algorithm over this volume. +

Parameters

+ + + + + + + +
\c AbsPerc Precision Size of the cell, the default is 1/50 of the box diag. Smaller cells give better precision at a higher computational cost. Remember that halving the cell size means that you build a volume 8 times larger. --
\c AbsPerc Offset Offset of the created surface (i.e. distance of the created surface from the original one).
If offset is zero, the created surface passes on the original mesh itself. Values greater than zero mean an external surface, and lower than zero mean an internal surface.
In practice this value is the threshold passed to the Marching Cube algorithm to extract the isosurface from the distance field representation. --
\c Bool Clean Vertices If true the mesh generated by MC will be cleaned by unifying vertices that are almost coincident --
\c Bool Discretize If true the position of the intersected edge of the marching cube grid is not computed by linear interpolation, but it is placed in fixed middle position. As a consequence the resampled object will look severely aliased by a stairstep appearance.
Useful only for simulating the output of 3D printing devices. --
\c Bool Multisample If true the distance field is more accurately compute by multisampling the volume (7 sample for each voxel). Much slower but less artifacts. --
\c Bool Absolute Distance If true a not signed distance field is computed. In this case you have to choose a not zero Offset and a double surface is built around the original surface, inside and outside. Is useful to convrt thin floating surfaces into solid, thick meshes.. t --
+ +\section f133 Voronoi Vertex Clustering + +Apply a clustering algorithm that builds voronoi cells over the mesh starting from random points,collapse each voronoi cell to a single vertex, and construct the triangulation according to the clusters adjacency relations.
Very similar to the technique described in 'Approximated Centroidal Voronoi Diagrams for Uniform Polygonal Mesh Coarsening' - Valette Chassery - Eurographics 2004 +

Parameters

+ + + + +
\c Int Target vertex number The final number of vertices. --
\c Int Relaxing Iterations The final number of vertices. --
\c Int Random Seed The final number of vertices. --
+ +\section f134 Voronoi Vertex Coloring + +Given a Mesh M and a Pointset P, The filter project each vertex of P over M and color M according to the geodesic distance from these projected points. Projection and coloring are done on a per vertex basis. +

Parameters

+ + + + +
\c Mesh To be Colored Mesh The mesh whose surface is colored. For each vertex of this mesh we decide the color according the below parameters. --
\c Mesh Vertex Mesh The mesh whose vertexes are used as seed points for the color computation. These seeds point are projected onto the above mesh. --
\c Bool BackDistance If true the mesh is colored according the distance from the frontier of the voonoi diagram induced by the VertexMesh seeds. --
+ +\section f135 Disk Vertex Coloring + +Given a Mesh M and a Pointset P, The filter project each vertex of P over M and color M according to the geodesic distance from these projected points. Projection and coloring are done on a per vertex basis. +

Parameters

+ + + + + +
\c Mesh To be Colored Mesh The mesh whose surface is colored. For each vertex of this mesh we decide the color according the below parameters. --
\c Mesh Vertex Mesh The mesh whose vertexes are used as seed points for the color computation. These seeds point are projected onto the above mesh. --
\c DynamicFloat Radius the radius of the spheres centered in the VertexMesh seeds --
\c Bool Use sample radius Use the radius that is stored in each sample of the vertex mesh. Useful for displaing the variable disk sampling results --
+ +\section f136 Regular Recursive Sampling + +The bbox is recrusively partitioned in a octree style, center of bbox are considered, when the center is nearer to the surface than a given thr it is projected on it. It works also for building ofsetted samples. +

Parameters

+ + + +
\c AbsPerc Precision Size of the cell, the default is 1/50 of the box diag. Smaller cells give better precision at a higher computational cost. Remember that halving the cell size means that you build a volume 8 times larger. --
\c AbsPerc Offset Offset of the created surface (i.e. distance of the created surface from the original one).
If offset is zero, the created surface passes on the original mesh itself. Values greater than zero mean an external surface, and lower than zero mean an internal surface.
In practice this value is the threshold passed to the Marching Cube algorithm to extract the isosurface from the distance field representation. --
+ +\section f137 Select All + +Select all the faces of the current mesh +

Parameters

+No parameters.
+\section f138 Select None + +Clear the current set of selected faces +

Parameters

+No parameters.
+\section f139 Delete Selected Vertices + +Delete the current set of selected vertices; faces that share one of the deleted vertexes are deleted too. +

Parameters

+No parameters.
+\section f140 Delete Selected Faces + +Delete the current set of selected faces, vertices that remains unreferenced are not deleted. +

Parameters

+No parameters.
+\section f141 Delete Selected Faces and Vertices + +Delete the current set of selected faces and all the vertices surrounded by that faces. +

Parameters

+No parameters.
+\section f142 Select Faces from Vertices + +Select faces from selected vertices +

Parameters

+ + +
\c Bool Inclusive Sel. If true only the faces with all selected vertices are selected. Otherwise any face with at least one selected vertex will be selected. --
+ +\section f143 Select Vertices from Faces + +Select vertices from selected faces +

Parameters

+ + +
\c Bool Inclusive Sel. If true only the vertices with all the incident face selected are selected. Otherwise any vertex with at least one incident selected face will be selected. --
+ +\section f144 Erode Selection + +Erode (reduce) the current set of selected faces +

Parameters

+No parameters.
+\section f145 Dilate Selection + +Dilate (expand) the current set of selected faces +

Parameters

+No parameters.
+\section f146 Select Border + +Select all the faces on the boundary +

Parameters

+No parameters.
+\section f147 Invert Selection + +Invert the current set of selected faces +

Parameters

+ + + +
\c Bool Invert Faces If true the filter will invert the selected faces. --
\c Bool Invert Vertices If true the filter will invert the selected vertices. --
+ +\section f148 Select Faces by Vertex Quality + +Select all the faces with all the vertexes within the specified quality range +

Parameters

+ + + + +
\c DynamicFloat Min Quality Minimum acceptable quality value --
\c DynamicFloat Max Quality Maximum acceptable quality value --
\c Bool Inclusive Sel. If true only the faces with all the vertices within the specified range are selected. Otherwise any face with at least one vertex within the range is selected. --
+ +\section f149 Select Faces by Face Quality + +Select all the faces with within the specified quality range +

Parameters

+ + + +
\c DynamicFloat Min Quality Minimum acceptable quality value --
\c DynamicFloat Max Quality Maximum acceptable quality value --
+ +\section f150 Select Self Intersecting Faces + +Select only self intersecting faces. +

Parameters

+No parameters.
+\section f151 Select Vertex Texture Seams + +Colorize only border edges. +

Parameters

+No parameters.
+\section f152 Select non Manifold Edges + +Select the faces and the vertices incident on non manifold edges (e.g. edges where more than two faces are incident); note that this function select the components that are related to non manifold edges. The case of non manifold vertices is specifically managed by the pertinent filter. +

Parameters

+No parameters.
+\section f153 Select non Manifold Vertices + +Select the non manifold vertices that do not belong to non manifold edges. For example two cones connected by their apex. Vertices incident on non manifold edges are ignored. +

Parameters

+No parameters.
+\section f154 Select Faces by Color + +Select part of the mesh based on its color. +

Parameters

+ + + + + + + +
\c Color Color To Select Color that you want to be selected. --
\c Enum Pick Color Space The color space that the sliders will manipulate. --
\c Bool Inclusive Sel. If true only the faces with all the vertices within the specified range are selected. Otherwise any face with at least one vertex within the range is selected. --
\c DynamicFloat Variation from Red or Hue A float between 0 and 1 that represents the percent variation from this color that will be selected. For example if the R was 200 and you put 0.1 then any color with R 200+-25.5 will be selected. --
\c DynamicFloat Variation from Green or Saturation A float between 0 and 1 that represents the percent variation from this color that will be selected. For example if the R was 200 and you put 0.1 then any color with R 200+-25.5 will be selected. --
\c DynamicFloat Variation from Blue or Value A float between 0 and 1 that represents the percent variation from this color that will be selected. For example if the R was 200 and you put 0.1 then any color with R 200+-25.5 will be selected. --
+ +\section f155 Cross section parallel planes + +Export one or more cross sections of the current mesh relative to one of the XY, YZ or ZX axes in svg format. By default, the cross-section goes through the middle of the object (Cross plane offset == 0). +

Parameters

+ + + + + + + + + + + + + +
\c Float Dimension on the longer axis (cm) specify the dimension in cm of the longer axis of the current mesh, this will be the output dimension of the svg --
\c FileName Output File Name of the svg files and of the folder containing them, it is automatically created in the Sample folder of the Meshlab tree --
\c Point3f Custom axis Specify a custom axis, this is only valid if the above parameter is set to Custom --
\c Float Cross plane offset Specify an offset of the cross-plane. The offset corresponds to the distance from the point specified in the plane reference parameter. By default (Cross plane offset == 0) --
\c Enum plane reference Specify the reference from which the planes are shifted --
\c Float Medium thickness Thickness of the medium where the pieces will be cut away --
\c Int Number of Planes Step value between each plane for automatically generating cross-sections. Should be used with the bool selection above. --
\c Bool Single SVG Automatically generate a series of cross-sections along the whole length of the object and store each plane in a separate SVG file. The distance between each plane is given by the step value below --
\c Bool Hide Original Mesh Hide the Original Mesh --
\c Bool Hide Slices Hide the Generated Slices --
\c Bool Hide Planes Hide the Generated Slicing Planes --
\c Bool Cap input mesh holes Eventually cap the holes of the input mesh before applying the filter --
+ +\section f156 Cross section single plane + +Export once cross section of the current mesh relative to an axes in svg format. +

Parameters

+ + + + + + +
\c Float Dimension on the longer axis (cm) specify the dimension in cm of the longer axis of the current mesh, this will be the output dimension of the svg --
\c FileName Output File Name of the svg files and of the folder containing them, it is automatically created in the Sample folder of the Meshlab tree --
\c Point3f Custom axis Specify a custom axis, this is only valid if the above parameter is set to Custom --
\c Float Cross plane offset Specify an offset of the cross-plane. The offset corresponds to the distance from the point specified in the plane reference parameter. By default (Cross plane offset == 0) --
\c Enum plane reference Specify the reference from which the planes are shifted --
+ +\section f157 Move selection on another layer + +Selected faces are moved (or duplicated) in a new layer +

Parameters

+ + +
\c Bool Delete original selection Deletes the original selected faces, thus splitting the mesh among layers. + +if false, the selected faces are duplicated in the new layer --
+ +\section f158 Duplicate current layer + +Create a new layer containing the same model as the current one +

Parameters

+No parameters.
+\section f159 Structure Synth Mesh Creation + +Structure Synth mesh creation based on Eisen Script. + For further instruction visit http://structuresynth.sourceforge.net/reference.php +

Parameters

+ + + + +
\c String Eisen Script grammar Write a grammar according to Eisen Script specification and using the primitives box, sphere, mesh, dot and triangle --
\c Int seed for random construction Seed needed to build the mesh --
\c Int set maximum resolution of sphere primitves, it must be included between 1 and 4 increasing the resolution of the spheres will improve the quality of the mesh --
+ +\section f160 UV to Color + +Maps the UV Space into a color space, thus colorizing mesh vertices according to UV coords. +

Parameters

+ + +
\c Enum Color Space The color space used to mapping UV to --
+ +\section f161 Convert PerWedge UV into PerVertex UV + +Converts per Wedge Texture Coordinates to per Vertex Texture Coordinates splitting vertices with not coherent Wedge coordinates. +

Parameters

+No parameters.
+\section f162 Trivial Per-Triangle Parametrization + +Builds a trivial triangle-by-triangle parametrization.
Two methods are provided, the first maps maps all triangles into equal sized triangles, while the second one adapt the size of the triangles in texture space to their original size. +

Parameters

+ + + + + +
\c Int Quads per line Indicates how many triangles have to be put on each line (every quad contains two triangles) +Leave 0 for automatic calculation --
\c Int Texture Dimension (px) Gives an indication on how big the texture is --
\c Int Inter-Triangle border (px) Specifies how many pixels to be left between triangles in parametrization domain --
\c Enum Method Choose space optimizing to map smaller faces into smaller triangles in parametrizazion domain --
+ +\section f163 Set Texture + +Set a texture associated with current mesh parametrization.
If the texture provided exists it will be simply associated to the current mesh else a dummy texture will be created and saved in the same directory. +

Parameters

+ + + +
\c String Texture file If the file exists it will be associated to the mesh else a dummy one will be created --
\c Int Texture Dimension (px) If the named texture doesn't exists the dummy one will be squared with this size --
+ +\section f164 Vertex Color to Texture + +Fills the specified texture accordingly to per vertex color. +

Parameters

+ + + + + + +
\c String Texture file The texture file to be created --
\c Int Texture width (px) The texture width --
\c Int Texture height (px) The texture height --
\c Bool Overwrite texture if current mesh has a texture will be overwritten (with provided texture dimension) --
\c Bool Assign texture assign the newly created texture --
+ +\section f165 Transfer Color to Texture (between 2 meshes) + +Transfer texture/vertex color from one mesh to another's texture. +

Parameters

+ + + + + + + + + + +
\c Mesh Source Mesh The mesh that contains the source data that we want to transfer --
\c Mesh Target Mesh The mesh whose texture will be filled according to source mesh texture or vertex color --
\c Enum Color Data Source Choose to transfer color information from source mesh texture or vertex color --
\c AbsPerc Max Dist Search Sample points for which we do not find anything whithin this distance are rejected and not considered for recovering data --
\c String Texture file The texture file to be created --
\c Int Texture width (px) The texture width --
\c Int Texture height (px) The texture height --
\c Bool Overwrite Target Mesh Texture if target mesh has a texture will be overwritten (with provided texture dimension) --
\c Bool Assign Texture assign the newly created texture to target mesh --
+ +\section f166 Texture to Vertex Color (between 2 meshes) + +Generates Vertex Color values picking color from another mesh texture. +

Parameters

+ + + + +
\c Mesh Source Mesh The mesh with associated texture that we want to sample from --
\c Mesh Target Mesh The mesh whose vertex color will be filled according to source mesh texture --
\c AbsPerc Max Dist Search Sample points for which we do not find anything whithin this distance are rejected and not considered for recovering color --
+ +\section f167 Planar flipping optimization + +Mesh optimization by edge flipping, to improve local triangle quality +

Parameters

+ + + + + +
\c Bool Update selection Apply edge flip optimization on selected faces only --
\c Float Planar threshold (deg) angle threshold for planar faces (degrees) --
\c Enum Planar metric

Choose a metric to define the planar flip operation

Triangle quality based
1: minimum ratio height/edge among the edges
2: ratio between radii of incenter and circumcenter
3: 2*sqrt(a, b)/(a+b), a, b the eigenvalues of M^tM,
M transform triangle into equilateral

Others
4: Fix the Delaunay condition between two faces
5: Do the flip to improve local topology
--

\c Int Post optimization relax iter number of a planar laplacian smooth iterations that have to be performed after every run --
+ +\section f168 Curvature flipping optimization + +Mesh optimization by edge flipping, to improve local mesh curvature +

Parameters

+ + + + +
\c Bool Update selection Apply edge flip optimization on selected faces only --
\c Float Angle Thr (deg) To avoid excessive flipping/swapping we consider only couple of faces with a significant diedral angle (e.g. greater than the indicated threshold). --
\c Enum Curvature metric

Choose a metric to compute surface curvature on vertices
H = mean curv, K = gaussian curv, A = area per vertex

1: Mean curvature = H
2: Norm squared mean curvature = (H * H) / A
3: Absolute curvature:
if(K >= 0) return 2 * H
else return 2 * sqrt(H ^ 2 - A * K) --

+ +\section f169 Laplacian smooth (surface preserve) + +Laplacian smooth without surface modification: move each vertex in the average position of neighbors vertices, only if the new position still (almost) lies on original surface +

Parameters

+ + + + +
\c Bool Update selection Apply laplacian smooth on selected faces only --
\c Float Max Normal Dev (deg) maximum mean normal angle displacement (degrees) from old to new faces --
\c Int Iterations number of laplacian smooth iterations in every run --
+ +\section f170 Cut mesh along crease edges + +Cut the mesh along crease edges, duplicating the vertices as necessary. Crease edges are defined according to the variation of normal of the adjacent faces +

Parameters

+ + +
\c Float Crease Angle (degree) If the angle between the normals of two adjacent faces is larger that this threshold the edge is considered a creased and the mesh is cut along it. --
+ +\section f171 Laplacian Smooth + +Laplacian smooth of the mesh: for each vertex it calculates the average position with nearest vertex +

Parameters

+ + + + +
\c Int Smoothing steps The number of times that the whole algorithm (normal smoothing + vertex fitting) is iterated. --
\c Bool 1D Boundary Smoothing if true the boundary edges are smoothed only by themselves (e.g. the polyline forming the boundary of the mesh is independently smoothed). Can reduce the shrinking on the border but can have strange effects on very small boundaries. --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f172 HC Laplacian Smooth + +HC Laplacian Smoothing, extended version of Laplacian Smoothing, based on the paper of Vollmer, Mencl, and Muller +

Parameters

+No parameters.
+\section f173 ScaleDependent Laplacian Smooth + +Scale Dependent Laplacian Smoothing, extended version of Laplacian Smoothing, based on the Fujiwara extended umbrella operator +

Parameters

+ + + + +
\c Int Smoothing steps The number of times that the whole algorithm (normal smoothing + vertex fitting) is iterated. --
\c AbsPerc delta --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f174 TwoStep Smooth + +Two Step Smoothing, a feature preserving/enhancing fairing filter. It is based on a Normal Smoothing step where similar normals are averaged toghether and a step where the vertexes are fitted on the new normals +

Parameters

+ + + + + + +
\c Int Smoothing steps The number of times that the whole algorithm (normal smoothing + vertex fitting) is iterated. --
\c Float Feature Angle Threshold (deg) Specify a threshold angle (0..90) for features that you want to be preserved.
Features forming angles LARGER than the specified threshold will be preserved.
0 -> no smoothing
90 -> all faces will be smoothed --
\c Int Normal Smoothing steps Number of iterations of normal smoothing step. The larger the better and (the slower) --
\c Int Vertex Fitting steps Number of iterations of the vertex fitting procedure. --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f175 Taubin Smooth + +The $lambda-mu$ taubin smoothing, it make two steps of smoothing, forth and back, for each iteration +

Parameters

+ + + + + +
\c Float Lambda The lambda parameter of the Taubin Smoothing algorithm --
\c Float mu The mu parameter of the Taubin Smoothing algorithm --
\c Int Smoothing steps The number of times that the taubin smoothing is iterated. Usually it requires a larger number of iteration than the classical laplacian --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f176 Depth Smooth + +A laplacian smooth that is constrained to move vertices only along the view direction. +

Parameters

+ + + + +
\c Int Smoothing steps The number of times that the whole algorithm (normal smoothing + vertex fitting) is iterated. --
\c Point3f Smoothing steps The number of times that the whole algorithm (normal smoothing + vertex fitting) is iterated. --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f177 Directional Geom. Preserv. + +Store and Blend the current geometry with the result of another previous smoothing processing step. It is useful to limit the influence of any smoothing algorithm along the viewing direction. This is import to cope with the biased distribution of the error in many scanning devices. TOF scanner usually have very good x,y accuracy but suffer of great depth errors. +

Parameters

+ + + + +
\c Enum Step: The purpose of this filter is to constrain any smoothing algorithm to moving vertices only along a give line of sight.
First you should store current vertex position, than after applying one of the many smoothing algorithms you should re start this filter and blend the original positions with the smoothed results.
Given a view point vp , the smoothed vertex position vs and the original position v, The new vertex position is computed as the projection of vs on the line connecting v and vp. --
\c Point3f Viewpoint The position of the view point that is used to get the constraint direction. --
\c Bool Affect only selected faces If checked the filter is performed only on the selected faces --
+ +\section f178 Smooth vertex quality + +Laplacian smooth of the quality values. +

Parameters

+No parameters.
+\section f179 Smooth Face Normals + +Smooth Face Normals without touching the position of the vertices. +

Parameters

+No parameters.
+\section f180 UnSharp Mask Normals + +Unsharp mask filtering of the normals, putting in more evidence normal variations +

Parameters

+ + + + + +
\c Bool Recompute Normals Recompute normals from scratch before the unsharp masking --
\c Float Unsharp Weight the unsharp weight wu in the unsharp mask equation:
woorig + wu (orig - lowpass)
--
\c Float Original Weight How much the original signal is used, e.g. the weight wo in the above unsharp mask equation.
Usually you should not need to change the default 1.0 value. --
\c Int Smooth Iterations number of laplacian face smooth iterations in every run --
+ +\section f181 UnSharp Mask Geometry + +Unsharp mask filtering of geometric shape, putting in more evidence ridges and valleys variations +

Parameters

+ + + + +
\c Float Unsharp Weight the unsharp weight wu in the unsharp mask equation:
woorig + wu (orig - lowpass)
--
\c Float Original Weight How much the original signal is used, e.g. the weight wo in the above unsharp mask equation
Usually you should not need to change the default 1.0 value. --
\c Int Smooth Iterations number ofiterations of laplacian smooth in every run --
+ +\section f182 UnSharp Mask Quality + +Unsharp mask filtering of the quality field +

Parameters

+ + + + +
\c Float Unsharp Weight the unsharp weight wu in the unsharp mask equation:
woorig + wu (orig - lowpass)
--
\c Float Original Weight How much the original signal is used, e.g. the weight wo in the above unsharp mask equation
Usually you should not need to change the default 1.0 value. --
\c Int Smooth Iterations number of iterations of laplacian smooth in every run --
+ +\section f183 UnSharp Mask Color + +Unsharp mask filtering of the color, putting in more evidence color edge variations +

Parameters

+ + + + +
\c Float Unsharp Weight the unsharp weight wu in the unsharp mask equation:
woorig + wu (orig - lowpass)
--
\c Float Original Color Weight How much the original signal is used, e.g. the weight wo in the above unsharp mask equation
Usually you should not need to change the default 1.0 value. --
\c Int Smooth Iterations number of iterations of laplacian smooth in every run --
+ +\section f184 Recompute Vertex Normals + +Recompute vertex normals as an area weighted average of normals of the incident faces +

Parameters

+No parameters.
+\section f185 Recompute Weighted Vertex Normals + +Recompute vertex normals as a weighted sum of normals of the incident faces. Weights are defined according to the paper Weights for Computing Vertex Normals from Facet Normals, Nelson max, JGT 1999 +

Parameters

+No parameters.
+\section f186 Recompute Angle Weighted Vertex Normals + +Recompute vertex normals as an angle weighted sum of normals of the incident faces according to the paper Computing Vertex Normals from Polygonal Facet, G Thurmer, CA Wuthrich, JGT 1998 +

Parameters

+No parameters.
+\section f187 Recompute Face Normals + +Recompute face normals as the normal of the plane of the face +

Parameters

+No parameters.
+\section f188 Recompute Per-Quad Face Normals + +Recompute face normals as the normal of the average of the normals of the triangles that builds a quad. Useful for showing shaded quad meshes. +

Parameters

+No parameters.
+\section f189 Normalize Face Normals + +Normalize Face Normal Lenghts +

Parameters

+No parameters.
+\section f190 Normalize Vertex Normals + +Normalize Vertex Normal Lenghts +

Parameters

+No parameters.
+\section f191 Vertex Linear Morphing + +Morph current mesh towards a target with the same number of vertices.
The filter assumes that the two meshes have also the same vertex ordering. +

Parameters

+ + + +
\c Mesh Target Mesh The mesh that is the morph target. --
\c DynamicFloat % Morph The percent you want to morph toward (or away from) the target.
0 means current mesh
100 means targe mesh
<0 and >100 linearly extrapolate between the two mesh
--
+ +\section f192 Select Redundant Faces + +Remove redundant faces from one mesh or from both of them, starting from borders. +

Parameters

+ + + + + + +
\c Mesh Source Mesh The mesh with holes. --
\c Mesh Target Mesh The mesh that will be used as patch. --
\c AbsPerc Max distance Max distance between mesh and path --
\c Bool Use quality to select redundant face If selected, previously computed face quality will be used in order to select redundant faces. --
\c Bool Process the whole Target Mesh If selected, redundancy test is performed over the whole surface of the mesh --
+ +\section f193 Zippering + +Merge two triangle meshes into a single one. This method doesn't provide check on redundancy. Based on Controlledand Adaptive Mesh Zippering, by S.Marras, F.Ganovelli, P.Cignoni. +

Parameters

+ + + + +
\c Mesh Mesh (with holes) The mesh with holes. --
\c Mesh Patch The mesh that will be used as patch. --
\c AbsPerc Max distance Max distance between mesh and path --
+ +\section f194 Remove border faces + +Remove all the faces that has at least one border vertex. +

Parameters

+ + + +
\c Int Iteration Number of times that the removal of face border is iterated. --
\c Bool Delete unreferenced vertices Remove the vertexes that remains unreferneced after the face removal. --
+ +\section f195 Noisy Isosurface + +Create a isosurface perturbed by a noisy isosurface. +

Parameters

+ + +
\c Int Grid Resolution Resolution of the side of the cubic grid used for the volume creation --
+ +\section f196 Colorize by border distance + +Store in the quality field the geodesic distance from borders and color the mesh accordingly. +

Parameters

+No parameters.
+\section f197 Colorize by distance from a given point + +Store in the quality field the geodesic distance from a given point and color the mesh accordingly. +

Parameters

+ + +
\c Point3f Starting point The starting point from which geodesic distance has to be computed. If it is not a surface vertex, the closest vertex to the specified point is used as starting seed point. --
+ +\section f198 Random vertex displacement + +Move the vertices of the mesh of a random quantity. +

Parameters

+ + + +
\c Bool Recompute normals Toggle the recomputation of the normals after the random displacement. + +If disabled the face normals will remains unchanged resulting in a visually pleasant effect. --
\c AbsPerc Max displacement The vertex are displaced of a vector whose norm is bounded by this value --
+ +\section f199 Flatten visible layers + +Flatten all or only the visible layers into a single new mesh.
Transformations are preserved. Existing layers can be optionally deleted +

Parameters

+ + + + + +
\c Bool Merge Only Visible Layers Merge the vertices that are duplicated among different layers.
Very useful when the layers are spliced portions of a single big mesh. --
\c Bool Delete Layers Delete all the merged layers.
If all layers are visible only a single layer will remain after the invocation of this filter --
\c Bool Merge duplicate vertices Merge the vertices that are duplicated among different layers. + +Very useful when the layers are spliced portions of a single big mesh. --
\c Bool Keep unreferenced vertices Do not discard unreferenced vertices from source layers + +Necessary for point-only layers --
+ +\section f200 Vertex Color Noise + +Randomly add a small amount of a random base color to the mesh +

Parameters

+ + + + +
\c Color BaseColor The base color that is added to the mesh. --
\c DynamicFloat Alpha The random color is blended with the current one with the specified alpha --
\c DynamicFloat Noisy Frequency The frequency of the Noise on the mesh. Higher numbers means smaller spots. --
+*/ \ No newline at end of file diff --git a/docs/dox/header.tex b/docs/dox/header.tex new file mode 100644 index 000000000..88e719a2f --- /dev/null +++ b/docs/dox/header.tex @@ -0,0 +1,52 @@ +\documentclass[a4paper]{book} +\usepackage{a4wide} +\usepackage{makeidx} +\usepackage{graphicx} +\usepackage{multicol} +\usepackage{float} +\usepackage{listings} +\usepackage{color} +\usepackage{textcomp} +\usepackage{alltt} +\usepackage{times} +\usepackage{ifpdf} +\ifpdf +\usepackage[pdftex, + pagebackref=true, + colorlinks=true, + linkcolor=blue, + unicode + ]{hyperref} +\else +\usepackage[ps2pdf, + pagebackref=true, + colorlinks=true, + linkcolor=blue, + unicode + ]{hyperref} +\usepackage{pspicture} +\fi +\usepackage[utf8]{inputenc} +\usepackage{doxygen} +\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left } +\makeindex +\setcounter{tocdepth}{1} +\renewcommand{\footrulewidth}{0.4pt} +\begin{document} +\hypersetup{pageanchor=false} +\begin{titlepage} +\vspace*{7cm} +\begin{center} +{\Large Your title here}\\ +\vspace*{1cm} +{\large Generated by Doxygen 1.6.3}\\ +\vspace*{0.5cm} +{\small Fri Sep 17 11:38:59 2010}\\ +\end{center} +\end{titlepage} +\clearemptydoublepage +\pagenumbering{roman} +\tableofcontents +\clearemptydoublepage +\pagenumbering{arabic} +\hypersetup{pageanchor=true} diff --git a/docs/dox/readme.txt b/docs/dox/readme.txt new file mode 100644 index 000000000..6ad75d103 --- /dev/null +++ b/docs/dox/readme.txt @@ -0,0 +1,6 @@ +How to build the Reference Manual + +1) run meshlabserver to generate an updated filter.dox +2) run Doxygen using the DoxyfileMan project file +3) substitute the Doxygen.sty file in the Doxygen/Latex folder with the one in ./dox dir. +4) compile latex…