Revision 8d3d27cd17bbceab18c317820dbe595178f6312a authored by fangy14 on 06 November 2019, 07:20:57 UTC, committed by fangy14 on 06 November 2019, 07:20:57 UTC
0 parent
partio.patch
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e331c9c..3fb59cb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,23 +1,23 @@
# PARTIO SOFTWARE
# Copyright 2010 Disney Enterprises, Inc. All rights reserved
-#
+#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
-#
+#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
-#
+#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
-#
+#
# * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
# Studios" or the names of its contributors may NOT be used to
# endorse or promote products derived from this software without
# specific prior written permission from Walt Disney Pictures.
-#
+#
# Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
@@ -39,7 +39,12 @@ SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE )
## Use verbose make file
SET ( CMAKE_VERBOSE_MAKEFILE TRUE )
-
+if(POLICY CMP0003)
+ cmake_policy(SET CMP0003 NEW)
+endif()
+if(POLICY CMP0022)
+ cmake_policy(SET CMP0022 NEW)
+endif()
## project name & version
PROJECT( partio )
@@ -80,15 +85,15 @@ EXECUTE_PROCESS(COMMAND sh -c "echo `uname`-`uname -r | cut -d'-' -f1`-`uname -m
SET(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/${VARIANT_DIRECTORY}")
## Search for useful libraries
-find_package(GLUT REQUIRED)
-find_package(OpenGL REQUIRED)
-find_package(ZLIB)
-IF(ZLIB_FOUND)
- ADD_DEFINITIONS (-DPARTIO_USE_ZLIB)
- INCLUDE_DIRECTORIES ( ${ZLIB_INCLUDE_DIR} )
-ELSE(ZLIB_FOUND)
+# find_package(GLUT REQUIRED)
+# find_package(OpenGL REQUIRED)
+# find_package(ZLIB)
+# IF(ZLIB_FOUND)
+# ADD_DEFINITIONS (-DPARTIO_USE_ZLIB)
+# INCLUDE_DIRECTORIES ( ${ZLIB_INCLUDE_DIR} )
+# ELSE(ZLIB_FOUND)
SET (ZLIB_LIBRARY "")
-ENDIF(ZLIB_FOUND)
+# ENDIF(ZLIB_FOUND)
## Make modules able to see partio library
# Setup environment variable to link partio
@@ -98,9 +103,7 @@ INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/lib )
## Traverse subdirectories
ADD_SUBDIRECTORY (src/lib)
-ADD_SUBDIRECTORY (src/tools)
-ADD_SUBDIRECTORY (src/py)
-ADD_SUBDIRECTORY (src/tests)
-ADD_SUBDIRECTORY (src/doc)
-
-
+#ADD_SUBDIRECTORY (src/tools)
+#ADD_SUBDIRECTORY (src/py)
+#ADD_SUBDIRECTORY (src/tests)
+#ADD_SUBDIRECTORY (src/doc)
diff --git a/src/doc/CMakeLists.txt b/src/doc/CMakeLists.txt
deleted file mode 100644
index 143725a..0000000
--- a/src/doc/CMakeLists.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-# PARTIO SOFTWARE
-# Copyright 2010 Disney Enterprises, Inc. All rights reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-#
-# * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
-# Studios" or the names of its contributors may NOT be used to
-# endorse or promote products derived from this software without
-# specific prior written permission from Walt Disney Pictures.
-#
-# Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
-# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
-# FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
-# IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-find_package(Doxygen)
-IF(DOXYGEN_FOUND)
- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
- FILE(GLOB (DOCUMENTED_FILES ../lib/*.h))
- add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
- DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile # ${DOCUMENTED_FILES}
- COMMENT "Generating API documentation with Doxygen" VERBATIM)
- add_dependencies(doc DOCUMENTED_FILES)
-
- ADD_CUSTOM_TARGET(${HTML_TARGET} ALL /usr/bin/doxygen ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
- INSTALL( DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/ DESTINATION share/doc/partio )
-ENDIF(DOXYGEN_FOUND)
diff --git a/src/doc/Doxyfile.in b/src/doc/Doxyfile.in
deleted file mode 100644
index 52a1b83..0000000
--- a/src/doc/Doxyfile.in
+++ /dev/null
@@ -1,1253 +0,0 @@
-# Doxyfile 1.4.7
-
-# 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
-#---------------------------------------------------------------------------
-
-# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
-# by quotes) that should identify the project.
-
-PROJECT_NAME = Partio
-
-# 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 =
-
-# 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 = src/doc/doc
-
-# 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:
-# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
-# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
-# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
-# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
-# Swedish, and Ukrainian.
-
-OUTPUT_LANGUAGE = English
-
-# This tag can be used to specify the encoding used in the generated output.
-# The encoding is not always determined by the language that is chosen,
-# but also whether or not the output is meant for Windows or non-Windows users.
-# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
-# forces the Windows encoding (this is the default for the Windows binary),
-# whereas setting the tag to NO uses a Unix-style encoding (the default for
-# all platforms other than Windows).
-
-USE_WINDOWS_ENCODING = NO
-
-# 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 =
-
-# 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 the Qt-style comments (thus requiring an
-# explicit @brief command for a brief description.
-
-JAVADOC_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 DETAILS_AT_TOP tag is set to YES then Doxygen
-# will output the detailed description near the top, like JavaDoc.
-# If set to NO, the detailed description appears after the member
-# documentation.
-
-DETAILS_AT_TOP = 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
-
-# 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 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
-
-#---------------------------------------------------------------------------
-# 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 = YES
-
-# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
-# will be included in the documentation.
-
-EXTRACT_PRIVATE = YES
-
-# If the EXTRACT_STATIC tag is set to YES all static members of a file
-# will be included in the documentation.
-
-EXTRACT_STATIC = YES
-
-# 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 the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
-# undocumented members of documented classes, files or namespaces.
-# If set to NO (the default) these members will be included in the
-# various overviews, but no documentation section is generated.
-# This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_MEMBERS = NO
-
-# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
-# undocumented classes that are normally visible in the class hierarchy.
-# If set to NO (the default) these classes will be included in the various
-# overviews. This option has no effect if EXTRACT_ALL is enabled.
-
-HIDE_UNDOC_CLASSES = NO
-
-# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
-# friend (class|struct|union) declarations.
-# If set to NO (the default) these declarations will be included in the
-# documentation.
-
-HIDE_FRIEND_COMPOUNDS = NO
-
-# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
-# documentation blocks found inside the body of a function.
-# If set to NO (the default) these blocks will be appended to the
-# function's detailed documentation block.
-
-HIDE_IN_BODY_DOCS = NO
-
-# The INTERNAL_DOCS tag determines if documentation
-# that is typed after a \internal command is included. If the tag is set
-# to NO (the default) then the documentation will be excluded.
-# Set it to YES to include the internal documentation.
-
-INTERNAL_DOCS = NO
-
-# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
-# file names in lower-case letters. If set to YES upper-case letters are also
-# allowed. This is useful if you have classes or files whose names only differ
-# in case and if your file system supports case sensitive file names. Windows
-# and Mac users are advised to set this option to NO.
-
-CASE_SENSE_NAMES = YES
-
-# 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 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_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
-
-# 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 <command> <input-file>, where <command> is the value of
-# the FILE_VERSION_FILTER tag, and <input-file> 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 =
-
-#---------------------------------------------------------------------------
-# 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 = NO
-
-# 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 = @CMAKE_CURRENT_SOURCE_DIR@/../lib \
- @CMAKE_CURRENT_SOURCE_DIR@
-
-# 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
-
-FILE_PATTERNS = *.txt *.h *.cpp
-
-# 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 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 = @CMAKE_CURRENT_SOURCE_DIR@
-
-# 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 = @CMAKE_CURRENT_SOURCE_DIR@/figures
-
-# 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 <filter> <input-file>, where <filter>
-# is the value of the INPUT_FILTER tag, and <input-file> 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 (the default)
-# then for each documented function all documented
-# functions referencing it will be listed.
-
-REFERENCED_BY_RELATION = YES
-
-# If the REFERENCES_RELATION tag is set to YES (the default)
-# then for each documented function all documented entities
-# called/used by that function will be listed.
-
-REFERENCES_RELATION = YES
-
-# 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 documentstion.
-
-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_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 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 compressed 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 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
-
-# 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
-
-# If the GENERATE_TREEVIEW tag 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 (for instance Mozilla 1.0+,
-# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
-# probably better off using the HTML help feature.
-
-GENERATE_TREEVIEW = 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
-
-#---------------------------------------------------------------------------
-# 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.
-
-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 =
-
-# 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 = NO
-
-# 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 = NO
-
-# 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
-
-#---------------------------------------------------------------------------
-# 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 = @CMAKE_CURRENT_SOURCE_DIR@
-
-# 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
-
-# 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
-
-# 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 tags 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 MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_WIDTH = 1024
-
-# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height
-# (in pixels) of the graphs generated by dot. If a graph becomes larger than
-# this value, doxygen will try to truncate the graph, so that it fits within
-# the specified constraint. Beware that most browsers cannot cope with very
-# large images.
-
-MAX_DOT_GRAPH_HEIGHT = 1024
-
-# 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 a graph may be further truncated if the graph's
-# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH
-# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default),
-# the graph is not depth-constrained.
-
-MAX_DOT_GRAPH_DEPTH = 0
-
-# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
-# background. This is disabled by default, which results in a white background.
-# 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
-
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-
-# The SEARCHENGINE tag specifies whether or not a search engine should be
-# used. If set to NO the values of all tags below this one will be ignored.
-
-SEARCHENGINE = NO
diff --git a/src/doc/SConscript b/src/doc/SConscript
deleted file mode 100644
index 08e7739..0000000
--- a/src/doc/SConscript
+++ /dev/null
@@ -1,75 +0,0 @@
-# PARTIO SOFTWARE
-# Copyright 2010 Disney Enterprises, Inc. All rights reserved
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions are
-# met:
-#
-# * Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in
-# the documentation and/or other materials provided with the
-# distribution.
-#
-# * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
-# Studios" or the names of its contributors may NOT be used to
-# endorse or promote products derived from this software without
-# specific prior written permission from Walt Disney Pictures.
-#
-# Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
-# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
-# FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
-# IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
-# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-import os
-Import('env variant_build_abs variant_install_abs GetInstallPath')
-
-
-
-docTarget=variant_install_abs+'/doc/Partio'
-headers=['#src/lib/Partio.h']
-foo=env.Command("#src/doc/Doxyfile",
- ["#src/doc/Doxyfile.in"]+headers,
- "sed 's/\@CMAKE_CURRENT_SOURCE_DIR\@/src\/doc/g' src/doc/Doxyfile.in > src/doc/Doxyfile; echo OUTPUT_DIRECTORY=src/doc/doc >> src/doc/Doxyfile")
-
-
-
-# Build doxygen if Doxyfile or headers change
-index=env.Command('#src/doc/doc/html/index.html', # only target file known in advance
-foo,
-'doxygen src/doc/Doxyfile')
-
-
-env.Install(docTarget,index) # Now we need the list of files that were produced by Doxygen.
-
-# => We have to scan the doc dir after Doxygen was run !
-# Luckily we can add files to scons internal dependency tree during the build phase!
-def scanForFurtherDocFiles(target,source,env):
- # we do not produce any output here, instead we extend the target list # source[0] a file from the doc dir, e.g.
- #index.html.
- targets=os.listdir(str(source[0].dir))
- #print str(source[0].dir)
- #print "targets "+repr(targets)
- # build rules for index.html are already known => remove it
- targets.remove("index.html")
- #print "setting install target for files:",targets
- for target in targets: env.Install(docTarget,"#src/doc/doc/html/"+target)
-# now we use this for a command, that depends on index.html !
-env.Command('dummyTarget',index,scanForFurtherDocFiles)
-
-# Doxygen will only run, if something changes, but we always want to set up
-# install targets for all doc files, so that installed files will be updated.
-# If dummyTarget is a build target, it will always be rebuild, since it is
-# never generated. If it is not a Default build target, we might have to enforce
-# building with AlwasBuild.
-env.AlwaysBuild('dummyTarget') # For clean runs dummyTarget will not be build, so we have to clean up manually env.Clean('doc',['#/../doc/html',docTarget])
-env.Alias('doc',docTarget)
diff --git a/src/doc/cpptut.txt b/src/doc/cpptut.txt
deleted file mode 100644
index 5921de0..0000000
--- a/src/doc/cpptut.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-/** \page cpptut C++ Tutorial
-
-Here is a simple example of some operations supported by particles. You may want
-to look at the includes demo applications and tools in the source tree to see
-more examples.
-
-<h2>Intro</h2>
-
-The C++ API is easy to use. You just need to include
-<pre>
-#include <Partio.h>
-</pre>
-Everything Partio related is in the Partio namespace. To read a particle file in
-and print the number of particles you could do:
-<pre>
-Partio::ParticlesDataMutable* data=Partio::read("test.bgeo");
-std::cout<<"Number of particles "<<data->numParticles()<<std::endl;
-</pre>
-Now we could additionally print out the names of all attributes in the particle
-file as
-<pre>
-for(int i=0;i<data->numAttributes();i++){
- Partio::ParticleAttribute attr;
- data->attributeInfo(i,attr);
- std::cout<<"attribute["<<i<<"] is "<<attr.name<<std::endl;
-}
-</pre>
-Now we could convert the data into RenderMan ptc format as
-<pre>
-Partio::write("test.ptc",*data);
-</pre>
-Whenever you are done with a particle set you need to release it as
-<pre>
-data->release();
-</pre>
-
-<h2>Simple processing</h2>
-
-Suppose we wanted to average all the positions in a particle file. We could do
-that by iterating over each particle and getting the position attribute value as
-follows:
-<pre>
-Partio::ParticleAttribute posAttr;
-if(!data->attributeInfo("position",attr)
- || (attr.type != Partio::FLOAT && attr.type != Partio::VECTOR)
- || attr.count != 3){
- std::cerr<<"Failed to get proper position attribute"<<std::endl;
-}
-
-float avg[3]={0,0,0};
-
-
-for(int i=0;i<data->numParticles();i++){
- float *pos=data->data<float>(posAttr,i);
- for(int k=0;k<3;k++) avg[k]+=pos[k];
-}
-for(int k=0;k<3;k++) pos[k]/=data->numParticles();
-std::cerr<<"avg "<<pos[0]<<" "<<pos[1]<<" "<<pos[2]<<std::endl;
-</pre>
-
-
-*/
diff --git a/src/doc/figures/circleFigure.png b/src/doc/figures/circleFigure.png
deleted file mode 100644
index 60e61b0d3933d4336e70f1032c5d368bb2fe321b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 8066
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
diff --git a/src/doc/license.txt b/src/doc/license.txt
deleted file mode 100644
index d965a21..0000000
--- a/src/doc/license.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-<pre>
- PARTIO SOFTWARE
- Copyright 2010-2011 Disney Enterprises, Inc. All rights reserved
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are
- met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
-
- * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
- Studios" or the names of its contributors may NOT be used to
- endorse or promote products derived from this software without
- specific prior written permission from Walt Disney Pictures.
-
- Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
- CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
- BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
- FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
- IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
- CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-</pre>
diff --git a/src/doc/main.txt b/src/doc/main.txt
deleted file mode 100644
index 000e18f..0000000
--- a/src/doc/main.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-/*! \mainpage Partio
- *
- * Partio is a library for reading/writing/processing particle files.
- * The layout of the API is as follows. There is also a Python API
- * which you can get documentation for if you have installed partio
- * by typing "pydoc partio" or viewing the tutorial or demo apps.
- *
- * \section demos Simple Tutorial
- * - \subpage pytut - Simple Python Tutorial
- * - \subpage cpptut - Simple C++ Tutorial
- * \section mainapi Main API pages
- * - Partio - Namespace containing all code
- * - Partio::read() - Read particle set from disk
- * - Partio::write() - Write particle set to disk
- * - Partio::readCached() - Read shared read-only version of particle set from disk
- * - Partio::ParticlesData - Access particle data in read only way
- * - Partio::ParticlesDataMutable - Access particle data in read/write way
- * - Partio::ParticleAttribute - Particle attribute handle, avoids string
- lookups when reading data
- * - Partio::ParticleIterator - Optimized read iterator
- *
- * \section Other
- * - \subpage license
- */
-
-/**
-\page license License
-\htmlinclude license.txt
-*/
diff --git a/src/doc/partio.tex b/src/doc/partio.tex
deleted file mode 100644
index 3b96953..0000000
--- a/src/doc/partio.tex
+++ /dev/null
@@ -1,148 +0,0 @@
-%
-% PARTIO SOFTWARE
-% Copyright 2010 Disney Enterprises, Inc. All rights reserved
-%
-% Redistribution and use in source and binary forms, with or without
-% modification, are permitted provided that the following conditions are
-% met:
-%
-% * Redistributions of source code must retain the above copyright
-% notice, this list of conditions and the following disclaimer.
-%
-% * Redistributions in binary form must reproduce the above copyright
-% notice, this list of conditions and the following disclaimer in
-% the documentation and/or other materials provided with the
-% distribution.
-%
-% * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
-% Studios" or the names of its contributors may NOT be used to
-% endorse or promote products derived from this software without
-% specific prior written permission from Walt Disney Pictures.
-%
-% Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
-% CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-% BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
-% FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
-% IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
-% CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-% EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-% PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-% PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
-% THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-% (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-% OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
-\documentclass{article}
-\usepackage{graphicx}
-\usepackage{fullpage}
-\begin{document}
-\title{Partio: Tutorial and Documentation}
-\author{Andrew Selle}
-\maketitle
-
-\section{Introduction}
-
-Partio is a library for manipulating and handling particles. It is designed to be as easy to use as possible while still allowing relatively good performance. The data model is designed to
-accomidate most particle formats in some way.
-
-\section{Data Model}
-
-Partio does not specify how data should be organized in a memory or on the file. It does have a model interface that all particle formats need to implement. This consists of three different
-levels of data access
-
-\begin{enumerate}
-\item ParticlesHeaders - Number of particles, attribute types and names
-\item ParticlesData - Read access to all data
-\item ParticlesDataMutable - Write access to all data
-\end{enumerate}
-
-Fundamentally a particle is an indexable item that has associated attributes. There can be zero or more attributes, and technically, position is not requires. On the other hand, many of the
-file formats (BGEO, GEO, PTC) require position to be present to write a useful file.
-
-\subsection{Attribute Data Types}
-
-There are three data types supported.
-\begin{enumerate}
-\item FLOAT - Floating point data, 4 bytes per float
-\item VECTOR - Floating point data
-\item INT - Integer data type
-\end{enumerate}
-In addition each attribute is actually an array that can consist of one or more elements. A vector is a special case of a FLOAT and must have a count of 3. This is to match a common case
-where a position is a 3 float value. (This is modeled loosely after PDB/PDA formats).
-
-\subsection{Attributes}
-
-Each particle set has a list of attributes that are available. Each of these attributes has a data type and a string representing the name of the attribute. Particle attributes are
-represented by the class \verb|ParticleAttribute|. A particle class can be queried for individual particle attributes which then become handles that allow stringless (efficient) access to
-particle attributes.
-
-\section{Python API}
-
-The python API is designed for ease of use. For speed critical applications, C++ API should be used. Looping in python is extremely slow. It is hoped that in the future a mapping to numpy
-might be provided to allow manipulating particles in a SIMD fashion. Nevertheless, python API remains useful for manipulating particles
-
-To use Partio's python API first import partio as
-\begin{verbatim}
->>> import partio
-\end{verbatim}
-Help on functions that are available are shown in
-\begin{verbatim}
->>> help(partio)
-\end{verbatim}
-
-\subsection{Creating a Particle Set}
-
-To create a particle set and add a couple of attributes one could write
-\begin{verbatim}
-particleSet=partio.create()
-P=particleSet.addAttribute("position",partio.VECTOR,3)
-V=particleSet.addAttribute("velocity",partio.VECTOR,3)
-id=particleSet.addAttribute("id",partio.INT,1)
-\end{verbatim}
-Once this is done, we could add a series of particles that form a circle
-\begin{verbatim}
-n=30
-radiansPer=2*math.pi/n
-particleSet.addParticles(n)
-for i in range(n):
- particleSet.set(P,i,(math.cos(i*radiansPer),0,math.sin(i*radiansPer)))
- particleSet.set(V,i,(0,0,0))
- particleSet.set(id,i,(i,))
-\end{verbatim}
-Finally, we can write the particle file into a BGEO by writing
-\begin{verbatim}
-partio.write("circle.bgeo",particleSet) # write uncompressed
-partio.write("circle.bgeo",particleSet,True) # write compressed
-partio.write("circle.bgeo.gz",particleSet) # write compressed
-\end{verbatim}
-We can then visualize the particle set with
-\begin{verbatim}
-partview circle.bgeo
-\end{verbatim}
-giving\\
-\includegraphics{figures/circleFigure.png}
-
-
-\subsection{Loading a particle set}
-
-Loading a particle set is relatively easy. If you only want to know how many particles are available or what headers are available you can do
-\begin{verbatim}
->>> pHeaders=partio.readHeaders("circle.bgeo")
-\end{verbatim}
-If you want everything associated with the file
-\begin{verbatim}
->>> p=partio.read("circle.bgeo")
-\end{verbatim}
-\end{document}
-
-\subsection{Finding nearest neighbors}
-
-A KD-Tree mode is supported in partio. To use it, you must first sort the particles into a KD-Tree. This is done with the \verb|sort()| function. Once that is done a query can be done. The
-basic query requires a maximum distance to look for particles as well as a maximum number of particles to return. For example, we could read our circle back in and look for particles nearby
-(1,0,0) like so:
-\begin{verbatim}
-p=partio.read("circle.bgeo")
-p.sort()
-p.findNPoints((1.,0.,0.),.1,3)
-\end{verbatim}
\ No newline at end of file
diff --git a/src/doc/tutorial.txt b/src/doc/tutorial.txt
deleted file mode 100644
index 28ae291..0000000
--- a/src/doc/tutorial.txt
+++ /dev/null
@@ -1,77 +0,0 @@
-/** \page pytut Python Tutorial
-
-<h2>Python API</h2>
-
-<p>
-The python API is designed for ease of use. For speed critical applications, C++ API should be used. Looping in python is extremely slow. It is hoped that in the future a mapping to numpy
-might be provided to allow manipulating particles in a SIMD fashion.
-Nevertheless, python API remains useful for manipulating particles.
-</p>
-
-To use Partio's python API first import partio as
-<pre>
-&rt;&rt;&rt; import partio
-</pre>
-Help on functions that are available are shown in
-<pre>
-&rt;&rt;&rt; help(partio)
-</pre>
-
-
-
-<h2>Creating a Particle Set</h2>
-
-To create a particle set and add a couple of attributes one could write
-<pre>
-particleSet=partio.create()
-P=particleSet.addAttribute("position",partio.VECTOR,3)
-V=particleSet.addAttribute("velocity",partio.VECTOR,3)
-id=particleSet.addAttribute("id",partio.INT,1)
-</pre>
-Once this is done, we could add a series of particles that form a circle
-<pre>
-n=30
-radiansPer=2*math.pi/n
-particleSet.addParticles(n)
-for i in range(n):
- particleSet.set(P,i,(math.cos(i*radiansPer),0,math.sin(i*radiansPer)))
- particleSet.set(V,i,(0,0,0))
- particleSet.set(id,i,(i,))
-</pre>
-Finally, we can write the particle file into a BGEO by writing
-<pre>
-partio.write("circle.bgeo",particleSet) # write uncompressed
-partio.write("circle.bgeo",particleSet,True) # write compressed
-partio.write("circle.bgeo.gz",particleSet) # write compressed
-</pre>
-We can then visualize the particle set with
-<pre>
-partview circle.bgeo
-</pre>
-yielding the image
-\image html figures/circleFigure.png
-
-
-<h2>Loading a particle set</h2>
-
-Loading a particle set is relatively easy. If you only want to know how many particles are available or what headers are available you can do
-<pre>
->>> pHeaders=partio.readHeaders("circle.bgeo")
-</pre>
-If you want everything associated with the file
-<pre>
->>> p=partio.read("circle.bgeo")
-</pre>
-\end{document}
-
-<h2>Finding nearest neighbors</h2>
-
-A KD-Tree mode is supported in partio. To use it, you must first sort the particles into a KD-Tree. This is done with the \verb|sort()| function. Once that is done a query can be done. The
-basic query requires a maximum distance to look for particles as well as a maximum number of particles to return. For example, we could read our circle back in and look for particles nearby
-(1,0,0) like so:
-<pre>
-p=partio.read("circle.bgeo")
-p.sort()
-p.findNPoints((1.,0.,0.),.1,3)
-</pre>
-*/
diff --git a/src/lib/io/BGEO.cpp b/src/lib/io/BGEO.cpp
index 23154d2..ad2643b 100644
--- a/src/lib/io/BGEO.cpp
+++ b/src/lib/io/BGEO.cpp
@@ -57,7 +57,7 @@ void writeHoudiniStr(ostream& ostream,const string& s)
ParticlesDataMutable* readBGEO(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if(!*input){
cerr<<"Partio: Unable to open file "<<filename<<endl;
return 0;
@@ -195,7 +195,7 @@ ParticlesDataMutable* readBGEO(const char* filename,const bool headersOnly)
bool writeBGEO(const char* filename,const ParticlesData& p,const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new ofstream(filename,ios::out|ios::binary));
diff --git a/src/lib/io/BIN.cpp b/src/lib/io/BIN.cpp
index 1a570a6..b064bb3 100644
--- a/src/lib/io/BIN.cpp
+++ b/src/lib/io/BIN.cpp
@@ -76,7 +76,7 @@ typedef struct{
ParticlesDataMutable* readBIN(const char* filename, const bool headersOnly){
- auto_ptr<istream> input(new ifstream(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(new ifstream(filename,ios::in|ios::binary));
if(!*input){
cerr << "Partio: Unable to open file " << filename << endl;
@@ -259,7 +259,7 @@ ParticlesDataMutable* readBIN(const char* filename, const bool headersOnly){
bool writeBIN(const char* filename,const ParticlesData& p,const bool /*compressed*/)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
new ofstream(filename,ios::out|ios::binary));
if (!*output) {
diff --git a/src/lib/io/GEO.cpp b/src/lib/io/GEO.cpp
index 7aa2ced..0701b30 100644
--- a/src/lib/io/GEO.cpp
+++ b/src/lib/io/GEO.cpp
@@ -109,7 +109,7 @@ string scanString(istream& input)
ParticlesDataMutable* readGEO(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in));
if(!*input){
cerr<<"Partio: Can't open particle data file: "<<filename<<endl;
return 0;
@@ -236,7 +236,7 @@ void writeType(ostream& output,const ParticlesData& p,const ParticleAttribute& a
bool writeGEO(const char* filename,const ParticlesData& p,const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out)
:new ofstream(filename,ios::out));
diff --git a/src/lib/io/MC.cpp b/src/lib/io/MC.cpp
index 7125954..e76597b 100644
--- a/src/lib/io/MC.cpp
+++ b/src/lib/io/MC.cpp
@@ -105,8 +105,8 @@ bool ReadAttrHeader(std::istream& input, Attribute_Header& attribute){
int CharArrayLen(char** charArray){
int i = 0;
- if(charArray != false){
- while(charArray[i] != '\0'){
+ if(charArray != nullptr){
+ while(*(charArray[i]) != '\0'){
i++;
}
}
@@ -131,7 +131,7 @@ static const int HEADER_SIZE = 56;
ParticlesDataMutable* readMC(const char* filename, const bool headersOnly){
- std::auto_ptr<std::istream> input(Gzip_In(filename,std::ios::in|std::ios::binary));
+ std::unique_ptr<std::istream> input(Gzip_In(filename,std::ios::in|std::ios::binary));
if(!*input){
std::cerr << "Partio: Unable to open file " << filename << std::endl;
return 0;
diff --git a/src/lib/io/PDA.cpp b/src/lib/io/PDA.cpp
index 13dff2d..e04f649 100644
--- a/src/lib/io/PDA.cpp
+++ b/src/lib/io/PDA.cpp
@@ -51,7 +51,7 @@ using namespace std;
ParticlesDataMutable* readPDA(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if(!*input){
cerr<<"Partio: Can't open particle data file: "<<filename<<endl;
return 0;
@@ -143,7 +143,7 @@ ParticlesDataMutable* readPDA(const char* filename,const bool headersOnly)
bool writePDA(const char* filename,const ParticlesData& p,const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new ofstream(filename,ios::out|ios::binary));
diff --git a/src/lib/io/PDB.cpp b/src/lib/io/PDB.cpp
index 25d6f3f..50944c1 100644
--- a/src/lib/io/PDB.cpp
+++ b/src/lib/io/PDB.cpp
@@ -92,7 +92,7 @@ string GetString(istream& input,bool& error)
template<int bits> ParticlesDataMutable* readPDBHelper(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if(!*input){
cerr<<"Partio: Unable to open file "<<filename<<endl;
return 0;
@@ -175,7 +175,7 @@ template<int bits> ParticlesDataMutable* readPDBHelper(const char* filename,cons
template<int bits>
bool writePDBHelper(const char* filename,const ParticlesData& p,const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new ofstream(filename,ios::out|ios::binary));
@@ -265,7 +265,7 @@ bool writePDB64(const char* filename,const ParticlesData& p,const bool compresse
ParticlesDataMutable* readPDB(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if(!*input){
cerr<<"Partio: Unable to open file "<<filename<<endl;
return 0;
diff --git a/src/lib/io/PDC.cpp b/src/lib/io/PDC.cpp
index 6095181..0d5a8f2 100644
--- a/src/lib/io/PDC.cpp
+++ b/src/lib/io/PDC.cpp
@@ -76,7 +76,7 @@ string readName(istream& input){
ParticlesDataMutable* readPDC(const char* filename, const bool headersOnly){
- auto_ptr<istream> input(Gzip_In(filename,std::ios::in|std::ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,std::ios::in|std::ios::binary));
if(!*input){
std::cerr << "Partio: Unable to open file " << filename << std::endl;
return 0;
@@ -128,7 +128,7 @@ ParticlesDataMutable* readPDC(const char* filename, const bool headersOnly){
}
bool writePDC(const char* filename,const ParticlesData& p,const bool compressed){
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new std::ofstream(filename,ios::out|ios::binary));
diff --git a/src/lib/io/PRT.cpp b/src/lib/io/PRT.cpp
deleted file mode 100644
index dce542c..0000000
--- a/src/lib/io/PRT.cpp
+++ /dev/null
@@ -1,422 +0,0 @@
-/*
-PARTIO SOFTWARE
-Copyright (c) 2011 Disney Enterprises, Inc. and Contributors, All rights reserved
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-* Redistributions of source code must retain the above copyright
-notice, this list of conditions and the following disclaimer.
-
-* Redistributions in binary form must reproduce the above copyright
-notice, this list of conditions and the following disclaimer in
-the documentation and/or other materials provided with the
-distribution.
-
-* The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
-Studios" or the names of its contributors may NOT be used to
-endorse or promote products derived from this software without
-specific prior written permission from Walt Disney Pictures.
-
-Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
-CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
-FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
-IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-Format Contributed by github user: K240
-Some Code for this format was helped along by referring to an implementation by Bo Schwartzstein and ThinkBox Software THANKS!
-Modifications from: github user: redpawfx (redpawFX@gmail.com) and Luma Pictures 2011
-
-
-*/
-#include "../Partio.h"
-#include "PartioEndian.h"
-#include "../core/ParticleHeaders.h"
-#include <string.h>
-
-
-//#define USE_ILMHALF // use Ilm's Half library
-#define AUTO_CASES // auto upcase ie:position => Position
-
-#ifdef USE_ILMHALF
-#include <half.h>
-#endif
-
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <memory>
-#include <zlib.h>
-
-namespace Partio{
-
-#define OUT_BUFSIZE (4096)
-
-typedef struct FileHeadder {
- unsigned char magic[8];
- unsigned int headersize;
- unsigned char signature[32];
- unsigned int version;
- unsigned long long numParticles;
-} PRT_File_Headder;
-
-typedef struct Channel {
- unsigned char name[32];
- unsigned int type;
- unsigned int arity;
- unsigned int offset;
-} Channel;
-
-static unsigned char magic[8] = {192, 'P', 'R', 'T', '\r', '\n', 26, '\n'};
-static unsigned char signature[32] = {
- 0x45,0x78,0x74,0x65,0x6e,0x73,0x69,0x62,0x6c,0x65,0x20,0x50,0x61,0x72,0x74,0x69,
- 0x63,0x6c,0x65,0x20,0x46,0x6f,0x72,0x6d,0x61,0x74,0x00,0x00,0x00,0x00,0x00,0x00
- };
-
-#ifndef USE_ILMHALF
-union f_ui {
- unsigned int ui;
- float f;
-};
-
-static f_ui half2float[65536] = {
-#include "half2float.h"
-};
-#endif
-
-static bool read_buffer(std::istream& is, z_stream& z, char* in_buf, void* p, size_t size) {
- z.next_out=(Bytef*)p;
- z.avail_out=(uInt)size;
-
- while (z.avail_out) {
- if ( z.avail_in == 0 ) {
- if (!is.eof()) {
- z.next_in = (Bytef*)in_buf;
- is.read((char*)z.next_in, OUT_BUFSIZE);
- if (is.bad()) {
- std::cerr<<"read error "<<std::endl;;
- return false;
- }
- z.avail_in = (uInt)is.gcount();
- }
- }
- int ret = inflate( &z, Z_BLOCK );
- if ( ret != Z_OK && ret != Z_STREAM_END ) {
- std::cerr<<"Zlib error "<<z.msg<<std::endl;;
- return false;
- }
- }
- return true;
-}
-
-static bool write_buffer(std::ostream& os, z_stream& z, char* out_buf, void* p, size_t size, bool flush) {
- z.next_in=(Bytef*)p;
- z.avail_in=(uInt)size;
- while (z.avail_in!=0 || flush) {
- z.next_out = (Bytef*)out_buf;
- z.avail_out = OUT_BUFSIZE;
- int ret=deflate(&z,flush?Z_FINISH:Z_NO_FLUSH);
- if (!(ret!=Z_BUF_ERROR && ret!=Z_STREAM_ERROR)) {
- std::cerr<<"Zlib error "<<z.msg<<std::endl;;
- return false;
- }
- int generated_output=(int)(z.next_out-(Bytef*)out_buf);
- os.write((char*)out_buf,generated_output);
- if (ret==Z_STREAM_END) break;
- }
- return true;
-}
-
-
-
-ParticlesDataMutable* readPRT(const char* filename,const bool headersOnly)
-{
- std::auto_ptr<std::istream> input(new std::ifstream(filename,std::ios::in|std::ios::binary));
- if (!*input) {
- std::cerr<<"Partio: Unable to open file "<<filename<<std::endl;
- return 0;
- }
-
- // Use simple particle since we don't have optimized storage.
- ParticlesDataMutable* simple=0;
- if (headersOnly) simple=new ParticleHeaders;
- else simple=create();
-
- FileHeadder header;
- input->read((char*)&header,sizeof(FileHeadder));
-
- if (memcmp(header.magic, magic, sizeof(magic))) {
- std::cerr<<"Partio: failed to get PRT magic"<<std::endl;
- return 0;
- }
- int reserve=0;
- int channels=0;
- int channelsize=0;
- read<LITEND>(*input,reserve); // reserved
- read<LITEND>(*input,channels); // number of channel
- read<LITEND>(*input,channelsize); // size of channel
-
- simple->addParticles((const int)header.numParticles);
-
- std::vector<Channel> chans;
- std::vector<ParticleAttribute> attrs;
-
- for (int i=0; i<channels; i++) {
- Channel ch;
- input->read((char*)&ch, sizeof(Channel));
- ParticleAttributeType type=NONE;
- switch (ch.type) {
- case 0: // int16
- case 1: // int32
- case 2: // int64
- type = INT;
- break;
- case 3: // float16
- case 4: // float32
- case 5: // float64
- if (ch.arity == 3)
- type = VECTOR;
- else
- type = FLOAT;
- break;
- case 6: // uint16
- case 7: // uint32
- case 8: // uint64
- type = INT;
- break;
- case 9: // int8
- case 10:// uint8
- type = INT;
- break;
- }
- if (type != NONE) {
-#ifdef AUTO_CASES
- if (ch.name[0] >= 'A' && ch.name[0] <= 'Z') {
- ch.name[0] += 0x20;
- }
-#endif
- std::string name((char*)ch.name);
- ParticleAttribute attrHandle=simple->addAttribute(name.c_str(),type,ch.arity);
- chans.push_back(ch);
- attrs.push_back(attrHandle);
- }
- }
-
- if (headersOnly) return simple;
-
- z_stream z;
- z.zalloc = Z_NULL;z.zfree = Z_NULL;z.opaque = Z_NULL;
- if (inflateInit( &z ) != Z_OK) {
- std::cerr<<"Zlib inflateInit error"<<std::endl;
- return 0;
- }
-
- char in_buf[OUT_BUFSIZE];
- z.next_in = 0;
- z.avail_in = 0;
-
- for (unsigned int particleIndex=0;particleIndex<(unsigned int )simple->numParticles();particleIndex++) {
- for (unsigned int attrIndex=0;attrIndex<attrs.size();attrIndex++) {
- if (attrs[attrIndex].type==Partio::INT) {
- int* data=simple->dataWrite<int>(attrs[attrIndex],particleIndex);
- for (int count=0;count<attrs[attrIndex].count;count++) {
- int ival = 0;
- switch (chans[attrIndex].type) {
- case 0: // int16
- {
- short val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(short));
- ival = (int)val;
- }
- break;
- case 1: // int32
- {
- read_buffer(*input, z, (char*)in_buf, &ival, sizeof(int));
- }
- break;
- case 2: // int64
- {
- long long val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(long long));
- ival = (int)val;
- }
- break;
- case 6: // uint16
- {
- unsigned short val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(unsigned short));
- ival = (int)val;
- }
- break;
- case 7: // uint32
- {
- unsigned int val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(unsigned int));
- ival = (int)val;
- }
- break;
- case 8: // uint64
- {
- unsigned long long val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(unsigned long long));
- ival = (int)val;
- }
- break;
- case 9: // int8
- {
- char val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(char));
- ival = (int)val;
- }
- break;
- case 10:// uint8
- {
- unsigned char val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(unsigned char));
- ival = (int)val;
- }
- break;
- }
- data[count]=ival;
- }
- }else if (attrs[attrIndex].type==Partio::FLOAT || attrs[attrIndex].type==Partio::VECTOR) {
- float* data=simple->dataWrite<float>(attrs[attrIndex],particleIndex);
- for (int count=0;count<attrs[attrIndex].count;count++) {
- float fval;
- switch (chans[attrIndex].type) {
- case 3: // float16
- {
-#ifdef USE_ILMHALF
- half val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(half));
- fval = (float)(val);
-#else
- unsigned short val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(val));
- fval = half2float[val].f;
-#endif
- }
- break;
- case 4: // float32
- {
- read_buffer(*input, z, (char*)in_buf, &fval, sizeof(float));
- }
- break;
- case 5: // float64
- {
- double val;
- read_buffer(*input, z, (char*)in_buf, &val, sizeof(double));
- fval = (float)val;
- }
- break;
- }
- data[count]=fval;
- }
- }
- }
- }
- if (inflateEnd( &z ) != Z_OK) {
- std::cerr<<"Zlib inflateEnd error"<<std::endl;
- return 0;
- }
-
- // success
- return simple;
-}
-
-bool writePRT(const char* filename,const ParticlesData& p,const bool /*compressed*/)
-{
- /// Krakatoa pukes on 0 particle files for some reason so don't export at all....
- int numParts = p.numParticles();
- if (numParts)
- {
- std::auto_ptr<std::ostream> output(
- new std::ofstream(filename,std::ios::out|std::ios::binary));
-
- if (!*output) {
- std::cerr<<"Partio Unable to open file "<<filename<<std::endl;
- return false;
- }
-
- FileHeadder header;
- memcpy(header.magic, magic, sizeof(magic));
- memcpy(header.signature, signature, sizeof(signature));
- header.headersize = 0x38;
- header.version = 1;
- header.numParticles = p.numParticles();
- int reserve = 4;
- output->write((char*)&header,sizeof(FileHeadder));
- write<LITEND>(*output, reserve);
- write<LITEND>(*output, (int)p.numAttributes());
- reserve = 0x2c;
- write<LITEND>(*output, reserve);
-
- std::vector<ParticleAttribute> attrs;
- int offset = 0;
- for (int i=0;i<p.numAttributes();i++) {
- ParticleAttribute attr;
- p.attributeInfo(i,attr);
- Channel ch;
- memset(&ch, 0, sizeof(Channel));
- memcpy((char*)ch.name, attr.name.c_str(), attr.name.size());
- ch.offset = offset;
- switch (attr.type) {
- case FLOAT: ch.type=4; ch.arity=attr.count; offset += sizeof(float)*attr.count; break;
- case INT: ch.type=1; ch.arity=attr.count; offset += sizeof(int)*attr.count; break;
- case VECTOR: ch.type=4; ch.arity=attr.count; offset += sizeof(float)*attr.count; break;
- case INDEXEDSTR:; break;
- case NONE:;break;
- }
- if (ch.arity) {
- #ifdef AUTO_CASES
- if (ch.name[0] >= 'a' && ch.name[0] <= 'z') {
- ch.name[0] -= 0x20;
- }
- #endif
- output->write((char*)&ch,sizeof(Channel));
- attrs.push_back(attr);
- }
- }
-
- z_stream z;
- z.zalloc = Z_NULL;z.zfree = Z_NULL;z.opaque = Z_NULL;
- if (deflateInit( &z, Z_DEFAULT_COMPRESSION ) != Z_OK) {
- std::cerr<<"Zlib deflateInit error"<<std::endl;
- return false;
- }
-
- char out_buf[OUT_BUFSIZE+10];
- for (int particleIndex=0;particleIndex<p.numParticles();particleIndex++) {
- for (unsigned int attrIndex=0;attrIndex<attrs.size();attrIndex++) {
- if (attrs[attrIndex].type==Partio::INT) {
- const int* data=p.data<int>(attrs[attrIndex],particleIndex);
- if (!write_buffer(*output, z, (char*)out_buf, (void*)data, sizeof(int)*attrs[attrIndex].count, false))
- return false;
- } else if (attrs[attrIndex].type==Partio::FLOAT || attrs[attrIndex].type==Partio::VECTOR) {
- const float* data=p.data<float>(attrs[attrIndex],particleIndex);
- if (!write_buffer(*output, z, (char*)out_buf, (void*)data, sizeof(int)*attrs[attrIndex].count, false))
- return false;
- }
- }
- }
- write_buffer(*output, z, (char*)out_buf, 0, 0, true);
- if (deflateEnd( &z ) != Z_OK) {
- std::cerr<<"Zlib deflateEnd error"<<std::endl;
- return false;
- }
- // success
- }// end if numParticles > 0
- return true;
-}
-
-}
-
diff --git a/src/lib/io/PTC.cpp b/src/lib/io/PTC.cpp
index 667a17f..5a0675b 100644
--- a/src/lib/io/PTC.cpp
+++ b/src/lib/io/PTC.cpp
@@ -81,7 +81,7 @@ bool ParseSpec(const string& spec,string& typeName,string& name)
ParticlesDataMutable* readPTC(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if(!*input){
cerr<<"Partio: Unable to open file "<<filename<<endl;
return 0;
@@ -237,7 +237,7 @@ bool writePTC(const char* filename,const ParticlesData& p,const bool compressed)
{
//ofstream output(filename,ios::out|ios::binary);
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new ofstream(filename,ios::out|ios::binary));
diff --git a/src/lib/io/PTS.cpp b/src/lib/io/PTS.cpp
index 722d419..c172e5d 100644
--- a/src/lib/io/PTS.cpp
+++ b/src/lib/io/PTS.cpp
@@ -56,7 +56,7 @@ using namespace std;
ParticlesDataMutable* readPTS(const char* filename,const bool headersOnly)
{
- auto_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
+ unique_ptr<istream> input(Gzip_In(filename,ios::in|ios::binary));
if (!*input)
{
cerr<<"Partio: Can't open particle data file: "<<filename<<endl;
@@ -248,7 +248,7 @@ ParticlesDataMutable* readPTS(const char* filename,const bool headersOnly)
/*
bool writePTS(const char* filename,const ParticlesData& p,const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ?
Gzip_Out(filename,ios::out|ios::binary)
:new ofstream(filename,ios::out|ios::binary));
diff --git a/src/lib/io/ParticleIO.cpp b/src/lib/io/ParticleIO.cpp
index 1d217b0..8052b11 100644
--- a/src/lib/io/ParticleIO.cpp
+++ b/src/lib/io/ParticleIO.cpp
@@ -37,78 +37,79 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
#include "../Partio.h"
#include "readers.h"
-namespace Partio{
+namespace Partio {
using namespace std;
// reader and writer code
-typedef ParticlesDataMutable* (*READER_FUNCTION)(const char*,const bool);
-typedef bool (*WRITER_FUNCTION)(const char*,const ParticlesData&,const bool);
+typedef ParticlesDataMutable* (*READER_FUNCTION)(const char*, const bool);
+typedef bool (*WRITER_FUNCTION)(const char*, const ParticlesData&, const bool);
-map<string,READER_FUNCTION>&
+map<string, READER_FUNCTION>&
readers()
{
- static map<string,READER_FUNCTION> data;
- static bool initialized=false;
- if(!initialized){
- data["bgeo"]=readBGEO;
- data["geo"]=readGEO;
- data["pdb"]=readPDB;
- data["pdb32"]=readPDB32;
- data["pdb64"]=readPDB64;
- data["pda"]=readPDA;
- data["mc"]=readMC;
- data["ptc"]=readPTC;
- data["pdc"]=readPDC;
- data["prt"]=readPRT;
- data["bin"]=readBIN;
- data["pts"]=readPTS;
+ static map<string, READER_FUNCTION> data;
+ static bool initialized = false;
+ if (!initialized) {
+ data["bgeo"] = readBGEO;
+ data["geo"] = readGEO;
+ data["pdb"] = readPDB;
+ data["pdb32"] = readPDB32;
+ data["pdb64"] = readPDB64;
+ data["pda"] = readPDA;
+ data["mc"] = readMC;
+ data["ptc"] = readPTC;
+ data["pdc"] = readPDC;
+ //data["prt"]=readPRT;
+ data["bin"] = readBIN;
+ data["pts"] = readPTS;
}
return data;
}
-map<string,WRITER_FUNCTION>&
+map<string, WRITER_FUNCTION>&
writers()
{
- static map<string,WRITER_FUNCTION> data;
- static bool initialized=false;
- if(!initialized){
- data["bgeo"]=writeBGEO;
- data["geo"]=writeGEO;
- data["pdb"]=writePDB;
- data["pdb32"]=writePDB32;
- data["pdb64"]=writePDB64;
- data["pda"]=writePDA;
- data["ptc"]=writePTC;
- data["rib"]=writeRIB;
- data["pdc"]=writePDC;
- data["prt"]=writePRT;
- data["bin"]=writeBIN;
+ static map<string, WRITER_FUNCTION> data;
+ static bool initialized = false;
+ if (!initialized) {
+ data["bgeo"] = writeBGEO;
+ data["geo"] = writeGEO;
+ data["pdb"] = writePDB;
+ data["pdb32"] = writePDB32;
+ data["pdb64"] = writePDB64;
+ data["pda"] = writePDA;
+ data["ptc"] = writePTC;
+ data["rib"] = writeRIB;
+ data["pdc"] = writePDC;
+ //data["prt"]=writePRT;
+ data["bin"] = writeBIN;
}
return data;
}
//! Gives extension of a file ignoring any trailing .gz
//! i.e. for 'foo.pdb.gz' it gives 'pdb', for 'foo.pdb' it gives 'pdb'
-bool extensionIgnoringGz(const string& filename,string& ret,bool &endsWithGz)
+bool extensionIgnoringGz(const string& filename, string& ret, bool& endsWithGz)
{
- size_t period=filename.rfind('.');
- endsWithGz=false;
- if(period==string::npos){
- cerr<<"Partio: No extension detected in filename"<<endl;
+ size_t period = filename.rfind('.');
+ endsWithGz = false;
+ if (period == string::npos) {
+ cerr << "Partio: No extension detected in filename" << endl;
return false;
}
- string extension=filename.substr(period+1);
- if(extension=="gz"){
- endsWithGz=true;
- size_t period2=filename.rfind('.',period-1);
- if(period2==string::npos){
- cerr<<"Partio: No extension detected in filename"<<endl;
+ string extension = filename.substr(period + 1);
+ if (extension == "gz") {
+ endsWithGz = true;
+ size_t period2 = filename.rfind('.', period - 1);
+ if (period2 == string::npos) {
+ cerr << "Partio: No extension detected in filename" << endl;
return false;
}
- string extension2=filename.substr(period2+1,period-period2-1);
- ret=extension2;
- }else{
- ret=extension;
+ string extension2 = filename.substr(period2 + 1, period - period2 - 1);
+ ret = extension2;
+ }
+ else {
+ ret = extension;
}
return true;
}
@@ -119,13 +120,14 @@ read(const char* c_filename)
string filename(c_filename);
string extension;
bool endsWithGz;
- if(!extensionIgnoringGz(filename,extension,endsWithGz)) return 0;
- map<string,READER_FUNCTION>::iterator i=readers().find(extension);
- if(i==readers().end()){
- cerr<<"Partio: No reader defined for extension "<<extension<<endl;
+ if (!extensionIgnoringGz(filename, extension, endsWithGz))
+ return 0;
+ map<string, READER_FUNCTION>::iterator i = readers().find(extension);
+ if (i == readers().end()) {
+ cerr << "Partio: No reader defined for extension " << extension << endl;
return 0;
}
- return (*i->second)(c_filename,false);
+ return (*i->second)(c_filename, false);
}
ParticlesInfo*
@@ -134,28 +136,29 @@ readHeaders(const char* c_filename)
string filename(c_filename);
string extension;
bool endsWithGz;
- if(!extensionIgnoringGz(filename,extension,endsWithGz)) return 0;
- map<string,READER_FUNCTION>::iterator i=readers().find(extension);
- if(i==readers().end()){
- cerr<<"Partio: No reader defined for extension "<<extension<<endl;
+ if (!extensionIgnoringGz(filename, extension, endsWithGz))
+ return 0;
+ map<string, READER_FUNCTION>::iterator i = readers().find(extension);
+ if (i == readers().end()) {
+ cerr << "Partio: No reader defined for extension " << extension << endl;
return 0;
}
- return (*i->second)(c_filename,true);
+ return (*i->second)(c_filename, true);
}
-void
-write(const char* c_filename,const ParticlesData& particles,const bool forceCompressed)
+void write(const char* c_filename, const ParticlesData& particles, const bool forceCompressed)
{
string filename(c_filename);
string extension;
bool endsWithGz;
- if(!extensionIgnoringGz(filename,extension,endsWithGz)) return;
- map<string,WRITER_FUNCTION>::iterator i=writers().find(extension);
- if(i==writers().end()){
- cerr<<"Partio: No writer defined for extension "<<extension<<endl;
+ if (!extensionIgnoringGz(filename, extension, endsWithGz))
+ return;
+ map<string, WRITER_FUNCTION>::iterator i = writers().find(extension);
+ if (i == writers().end()) {
+ cerr << "Partio: No writer defined for extension " << extension << endl;
return;
}
- (*i->second)(c_filename,particles,forceCompressed || endsWithGz);
+ (*i->second)(c_filename, particles, forceCompressed || endsWithGz);
}
} // namespace Partio
diff --git a/src/lib/io/RIB.cpp b/src/lib/io/RIB.cpp
index a646e44..b82977c 100644
--- a/src/lib/io/RIB.cpp
+++ b/src/lib/io/RIB.cpp
@@ -38,7 +38,7 @@ using namespace std;
bool writeRIB(const char* filename, const ParticlesData& p, const bool compressed)
{
- auto_ptr<ostream> output(
+ unique_ptr<ostream> output(
compressed ? Gzip_Out(filename, ios::out | ios::binary)
: new ofstream(filename, ios::out | ios::binary));
diff --git a/src/lib/io/readers.h b/src/lib/io/readers.h
index 69e11be..9bcb992 100644
--- a/src/lib/io/readers.h
+++ b/src/lib/io/readers.h
@@ -35,31 +35,31 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
#ifndef _READERS_h_
#define _READERS_h_
-namespace Partio{
-ParticlesDataMutable* readBGEO( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readGEO( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPDB( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPDB32(const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPDB64(const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPDA( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readMC( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPTC( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPDC( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPRT( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readBIN( const char* filename,const bool headersOnly);
-ParticlesDataMutable* readPTS( const char* filename,const bool headersOnly);
+namespace Partio {
+ParticlesDataMutable* readBGEO(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readGEO(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPDB(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPDB32(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPDB64(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPDA(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readMC(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPTC(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPDC(const char* filename, const bool headersOnly);
+//ParticlesDataMutable* readPRT( const char* filename,const bool headersOnly);
+ParticlesDataMutable* readBIN(const char* filename, const bool headersOnly);
+ParticlesDataMutable* readPTS(const char* filename, const bool headersOnly);
-bool writeBGEO(const char* filename,const ParticlesData& p,const bool compressed);
-bool writeGEO(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePDB(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePDB32(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePDB64(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePDA(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePTC(const char* filename,const ParticlesData& p,const bool compressed);
-bool writeRIB(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePDC(const char* filename,const ParticlesData& p,const bool compressed);
-bool writePRT(const char* filename,const ParticlesData& p,const bool compressed);
-bool writeBIN(const char* filename,const ParticlesData& p,const bool compressed);
+bool writeBGEO(const char* filename, const ParticlesData& p, const bool compressed);
+bool writeGEO(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePDB(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePDB32(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePDB64(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePDA(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePTC(const char* filename, const ParticlesData& p, const bool compressed);
+bool writeRIB(const char* filename, const ParticlesData& p, const bool compressed);
+bool writePDC(const char* filename, const ParticlesData& p, const bool compressed);
+//bool writePRT(const char* filename,const ParticlesData& p,const bool compressed);
+bool writeBIN(const char* filename, const ParticlesData& p, const bool compressed);
}
#endif
Computing file changes ...