From 6da45599c0faa42e218e03100fc4de76e0d19984 Mon Sep 17 00:00:00 2001 From: Richard Date: Mon, 18 May 2015 22:17:45 -0600 Subject: [PATCH] Refactor: Strip trailing whitespace --- include/assimp/DefaultLogger.hpp | 46 +++--- include/assimp/Exporter.hpp | 116 +++++++------- include/assimp/IOStream.hpp | 32 ++-- include/assimp/IOSystem.hpp | 52 +++---- include/assimp/Importer.hpp | 164 ++++++++++---------- include/assimp/LogStream.hpp | 22 +-- include/assimp/Logger.hpp | 28 ++-- include/assimp/NullLogger.hpp | 32 ++-- include/assimp/ProgressHandler.hpp | 28 ++-- include/assimp/ai_assert.h | 2 +- include/assimp/anim.h | 90 +++++------ include/assimp/camera.h | 32 ++-- include/assimp/cexport.h | 80 +++++----- include/assimp/cfileio.h | 30 ++-- include/assimp/cimport.h | 180 +++++++++++----------- include/assimp/color4.h | 26 ++-- include/assimp/color4.inl | 32 ++-- include/assimp/config.h | 108 ++++++------- include/assimp/defs.h | 38 ++--- include/assimp/importerdesc.h | 32 ++-- include/assimp/light.h | 40 ++--- include/assimp/material.h | 160 ++++++++++---------- include/assimp/material.inl | 18 +-- include/assimp/matrix3x3.h | 42 +++--- include/assimp/matrix3x3.inl | 28 ++-- include/assimp/matrix4x4.h | 44 +++--- include/assimp/matrix4x4.inl | 2 +- include/assimp/mesh.h | 234 ++++++++++++++--------------- include/assimp/metadata.h | 36 ++--- include/assimp/postprocess.h | 194 ++++++++++++------------ include/assimp/quaternion.h | 26 ++-- include/assimp/quaternion.inl | 40 ++--- include/assimp/scene.h | 114 +++++++------- include/assimp/texture.h | 34 ++--- include/assimp/types.h | 84 +++++------ include/assimp/vector2.h | 22 +-- include/assimp/vector2.inl | 46 +++--- include/assimp/vector3.h | 26 ++-- include/assimp/vector3.inl | 32 ++-- include/assimp/version.h | 24 +-- 40 files changed, 1208 insertions(+), 1208 deletions(-) diff --git a/include/assimp/DefaultLogger.hpp b/include/assimp/DefaultLogger.hpp index 1ebef1f0d..2ed19f25f 100644 --- a/include/assimp/DefaultLogger.hpp +++ b/include/assimp/DefaultLogger.hpp @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -57,7 +57,7 @@ struct LogStreamInfo; #define ASSIMP_DEFAULT_LOG_NAME "AssimpLog.txt" // ------------------------------------------------------------------------------------ -/** @brief CPP-API: Primary logging facility of Assimp. +/** @brief CPP-API: Primary logging facility of Assimp. * * The library stores its primary #Logger as a static member of this class. * #get() returns this primary logger. By default the underlying implementation is @@ -65,7 +65,7 @@ struct LogStreamInfo; * is turned on. To capture the log output multiple log streams (#LogStream) can be * attach to the logger. Some default streams for common streaming locations (such as * a file, std::cout, OutputDebugString()) are also provided. - * + * * If you wish to customize the logging at an even deeper level supply your own * implementation of #Logger to #set(). * @note The whole logging stuff causes a small extra overhead for all imports. */ @@ -77,13 +77,13 @@ public: // ---------------------------------------------------------------------- /** @brief Creates a logging instance. * @param name Name for log file. Only valid in combination - * with the aiDefaultLogStream_FILE flag. + * with the aiDefaultLogStream_FILE flag. * @param severity Log severity, VERBOSE turns on debug messages * @param defStreams Default log streams to be attached. Any bitwise - * combination of the aiDefaultLogStream enumerated values. + * combination of the aiDefaultLogStream enumerated values. * If #aiDefaultLogStream_FILE is specified but an empty string is * passed for 'name', no log file is created at all. - * @param io IOSystem to be used to open external files (such as the + * @param io IOSystem to be used to open external files (such as the * log file). Pass NULL to rely on the default implementation. * This replaces the default #NullLogger with a #DefaultLogger instance. */ static Logger *create(const char* name = ASSIMP_DEFAULT_LOG_NAME, @@ -96,14 +96,14 @@ public: * * Use this if the provided #DefaultLogger class doesn't fit into * your needs. If the provided message formatting is OK for you, - * it's much easier to use #create() and to attach your own custom + * it's much easier to use #create() and to attach your own custom * output streams to it. * @param logger Pass NULL to setup a default NullLogger*/ static void set (Logger *logger); - + // ---------------------------------------------------------------------- /** @brief Getter for singleton instance - * @return Only instance. This is never null, but it could be a + * @return Only instance. This is never null, but it could be a * NullLogger. Use isNullLogger to check this.*/ static Logger *get(); @@ -113,12 +113,12 @@ public: * Use create() or set() to setup a logger that does actually do * something else than just rejecting all log messages. */ static bool isNullLogger(); - + // ---------------------------------------------------------------------- /** @brief Kills the current singleton logger and replaces it with a * #NullLogger instance. */ static void kill(); - + // ---------------------------------------------------------------------- /** @copydoc Logger::attachStream */ bool attachStream(LogStream *pStream, @@ -126,7 +126,7 @@ public: // ---------------------------------------------------------------------- /** @copydoc Logger::detatchStream */ - bool detatchStream(LogStream *pStream, + bool detatchStream(LogStream *pStream, unsigned int severity); @@ -136,7 +136,7 @@ private: /** @briefPrivate construction for internal use by create(). * @param severity Logging granularity */ DefaultLogger(LogSeverity severity); - + // ---------------------------------------------------------------------- /** @briefDestructor */ ~DefaultLogger(); @@ -151,7 +151,7 @@ private: /** @brief Logs a warning message */ void OnWarn(const char* message); - + /** @brief Logs an error message */ void OnError(const char* message); @@ -161,7 +161,7 @@ private: // ---------------------------------------------------------------------- /** @brief Returns the thread id. - * @note This is an OS specific feature, if not supported, a + * @note This is an OS specific feature, if not supported, a * zero will be returned. */ unsigned int GetThreadID(); diff --git a/include/assimp/Exporter.hpp b/include/assimp/Exporter.hpp index 176bee563..7e08d89a1 100644 --- a/include/assimp/Exporter.hpp +++ b/include/assimp/Exporter.hpp @@ -7,8 +7,8 @@ Copyright (c) 2006-2011, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ contributors may be used to endorse or promote products derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -56,22 +56,22 @@ namespace Assimp { // ---------------------------------------------------------------------------------- -/** CPP-API: The Exporter class forms an C++ interface to the export functionality +/** CPP-API: The Exporter class forms an C++ interface to the export functionality * of the Open Asset Import Library. Note that the export interface is available * only if Assimp has been built with ASSIMP_BUILD_NO_EXPORT not defined. - * + * * The interface is modelled after the importer interface and mostly * symmetric. The same rules for threading etc. apply. * * In a nutshell, there are two export interfaces: #Export, which writes the - * output file(s) either to the regular file system or to a user-supplied + * output file(s) either to the regular file system or to a user-supplied * #IOSystem, and #ExportToBlob which returns a linked list of memory * buffers (blob), each referring to one output file (in most cases * there will be only one output file of course, but this extra complexity is - * needed since Assimp aims at supporting a wide range of file formats). - * - * #ExportToBlob is especially useful if you intend to work - * with the data in-memory. + * needed since Assimp aims at supporting a wide range of file formats). + * + * #ExportToBlob is especially useful if you intend to work + * with the data in-memory. */ class ASSIMP_API ExportProperties; @@ -122,7 +122,7 @@ public: public: - + Exporter(); ~Exporter(); @@ -131,18 +131,18 @@ public: // ------------------------------------------------------------------- /** Supplies a custom IO handler to the exporter to use to open and - * access files. - * - * If you need #Export to use custom IO logic to access the files, - * you need to supply a custom implementation of IOSystem and - * IOFile to the exporter. + * access files. * - * #Exporter takes ownership of the object and will destroy it + * If you need #Export to use custom IO logic to access the files, + * you need to supply a custom implementation of IOSystem and + * IOFile to the exporter. + * + * #Exporter takes ownership of the object and will destroy it * afterwards. The previously assigned handler will be deleted. * Pass NULL to take again ownership of your IOSystem and reset Assimp * to use its default implementation, which uses plain file IO. * - * @param pIOHandler The IO handler to be used in all file accesses + * @param pIOHandler The IO handler to be used in all file accesses * of the Importer. */ void SetIOHandler( IOSystem* pIOHandler); @@ -156,8 +156,8 @@ public: IOSystem* GetIOHandler() const; // ------------------------------------------------------------------- - /** Checks whether a default IO handler is active - * A default handler is active as long the application doesn't + /** Checks whether a default IO handler is active + * A default handler is active as long the application doesn't * supply its own custom IO handler via #SetIOHandler(). * @return true by default */ bool IsDefaultIOHandler() const; @@ -165,20 +165,20 @@ public: // ------------------------------------------------------------------- - /** Exports the given scene to a chosen file format. Returns the exported + /** Exports the given scene to a chosen file format. Returns the exported * data as a binary blob which you can write into a file or something. - * When you're done with the data, simply let the #Exporter instance go + * When you're done with the data, simply let the #Exporter instance go * out of scope to have it released automatically. * @param pScene The scene to export. Stays in possession of the caller, * is not changed by the function. - * @param pFormatId ID string to specify to which format you want to - * export to. Use - * #GetExportFormatCount / #GetExportFormatDescription to learn which + * @param pFormatId ID string to specify to which format you want to + * export to. Use + * #GetExportFormatCount / #GetExportFormatDescription to learn which * export formats are available. * @param pPreprocessing See the documentation for #Export * @return the exported data or NULL in case of error. * @note If the Exporter instance did already hold a blob from - * a previous call to #ExportToBlob, it will be disposed. + * a previous call to #ExportToBlob, it will be disposed. * Any IO handlers set via #SetIOHandler are ignored here. * @note Use aiCopyScene() to get a modifiable copy of a previously * imported scene. */ @@ -194,11 +194,11 @@ public: * @param pPath Full target file name. Target must be accessible. * @param pPreprocessing Accepts any choice of the #aiPostProcessSteps enumerated * flags, but in reality only a subset of them makes sense here. Specifying - * 'preprocessing' flags is useful if the input scene does not conform to - * Assimp's default conventions as specified in the @link data Data Structures Page @endlink. - * In short, this means the geometry data should use a right-handed coordinate systems, face + * 'preprocessing' flags is useful if the input scene does not conform to + * Assimp's default conventions as specified in the @link data Data Structures Page @endlink. + * In short, this means the geometry data should use a right-handed coordinate systems, face * winding should be counter-clockwise and the UV coordinate origin is assumed to be in - * the upper left. The #aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and + * the upper left. The #aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and * #aiProcess_FlipWindingOrder flags are used in the import side to allow users * to have those defaults automatically adapted to their conventions. Specifying those flags * for exporting has the opposite effect, respectively. Some other of the @@ -206,17 +206,17 @@ public: * to try out what their effect on the exported file is. Many formats impose * their own restrictions on the structure of the geometry stored therein, * so some preprocessing may have little or no effect at all, or may be - * redundant as exporters would apply them anyhow. A good example + * redundant as exporters would apply them anyhow. A good example * is triangulation - whilst you can enforce it by specifying * the #aiProcess_Triangulate flag, most export formats support only * triangulate data so they would run the step even if it wasn't requested. * - * If assimp detects that the input scene was directly taken from the importer side of - * the library (i.e. not copied using aiCopyScene and potetially modified afterwards), + * If assimp detects that the input scene was directly taken from the importer side of + * the library (i.e. not copied using aiCopyScene and potetially modified afterwards), * any postprocessing steps already applied to the scene will not be applied again, unless - * they show non-idempotent behaviour (#aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and + * they show non-idempotent behaviour (#aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and * #aiProcess_FlipWindingOrder). - * @return AI_SUCCESS if everything was fine. + * @return AI_SUCCESS if everything was fine. * @note Use aiCopyScene() to get a modifiable copy of a previously * imported scene.*/ aiReturn Export( const aiScene* pScene, const char* pFormatId, const char* pPath, unsigned int pPreprocessing = 0u, const ExportProperties* pProperties = NULL); @@ -228,10 +228,10 @@ public: * or #ExportToBlob * * Returns an empty string if no error occurred. - * @return A description of the last error, an empty string if no + * @return A description of the last error, an empty string if no * error occurred. The string is never NULL. * - * @note The returned function remains valid until one of the + * @note The returned function remains valid until one of the * following methods is called: #Export, #ExportToBlob, #FreeBlob */ const char* GetErrorString() const; @@ -251,7 +251,7 @@ public: // ------------------------------------------------------------------- /** Frees the current blob. * - * The function does nothing if no blob has previously been + * The function does nothing if no blob has previously been * previously produced via #ExportToBlob. #FreeBlob is called * automatically by the destructor. The only reason to call * it manually would be to reclain as much storage as possible @@ -272,17 +272,17 @@ public: // ------------------------------------------------------------------- /** Returns a description of the nth export file format. Use # - * #Exporter::GetExportFormatCount to learn how many export - * formats are supported. + * #Exporter::GetExportFormatCount to learn how many export + * formats are supported. * * The returned pointer is of static storage duration iff the * pIndex pertains to a built-in exporter (i.e. one not registered * via #RegistrerExporter). It is restricted to the life-time of the * #Exporter instance otherwise. * - * @param pIndex Index of the export format to retrieve information + * @param pIndex Index of the export format to retrieve information * for. Valid range is 0 to #Exporter::GetExportFormatCount - * @return A description of that specific export format. + * @return A description of that specific export format. * NULL if pIndex is out of range. */ const aiExportFormatDesc* GetExportFormatDescription( size_t pIndex ) const; @@ -307,7 +307,7 @@ public: * builtin exporters because those are implicitly registered * using #RegisterExporter). * @param id Format id to be unregistered, this refers to the - * 'id' field of #aiExportFormatDesc. + * 'id' field of #aiExportFormatDesc. * @note Calling this method on a format description not yet registered * has no effect.*/ void UnregisterExporter(const char* id); @@ -325,7 +325,7 @@ class ASSIMP_API ExportProperties public: // Data type to store the key hash typedef unsigned int KeyType; - + // typedefs for our four configuration maps. // We don't need more, so there is no need for a generic solution typedef std::map IntPropertyMap; @@ -343,7 +343,7 @@ public: // ------------------------------------------------------------------- /** Copy constructor. - * + * * This copies the configuration properties of another ExportProperties. * @see ExportProperties(const ExportProperties& other) */ @@ -358,7 +358,7 @@ public: * @return true if the property was set before. The new value replaces * the previous value in this case. * @note Property of different types (float, int, string ..) are kept - * on different stacks, so calling SetPropertyInteger() for a + * on different stacks, so calling SetPropertyInteger() for a * floating-point property has no effect - the loader will call * GetPropertyFloat() to read the property, but it won't be there. */ @@ -398,15 +398,15 @@ public: * @param szName Name of the property. All supported properties * are defined in the aiConfig.g header (all constants share the * prefix AI_CONFIG_XXX). - * @param iErrorReturn Value that is returned if the property - * is not found. + * @param iErrorReturn Value that is returned if the property + * is not found. * @return Current value of the property * @note Property of different types (float, int, string ..) are kept - * on different lists, so calling SetPropertyInteger() for a + * on different lists, so calling SetPropertyInteger() for a * floating-point property has no effect - the loader will call * GetPropertyFloat() to read the property, but it won't be there. */ - int GetPropertyInteger(const char* szName, + int GetPropertyInteger(const char* szName, int iErrorReturn = 0xffffffff) const; // ------------------------------------------------------------------- @@ -424,7 +424,7 @@ public: /** Get a floating-point configuration property * @see GetPropertyInteger() */ - float GetPropertyFloat(const char* szName, + float GetPropertyFloat(const char* szName, float fErrorReturn = 10e10f) const; // ------------------------------------------------------------------- @@ -488,7 +488,7 @@ protected: // ---------------------------------------------------------------------------------- -inline const aiExportDataBlob* Exporter :: ExportToBlob( const aiScene* pScene, const std::string& pFormatId,unsigned int pPreprocessing, const ExportProperties* pProperties) +inline const aiExportDataBlob* Exporter :: ExportToBlob( const aiScene* pScene, const std::string& pFormatId,unsigned int pPreprocessing, const ExportProperties* pProperties) { return ExportToBlob(pScene,pFormatId.c_str(),pPreprocessing, pProperties); } diff --git a/include/assimp/IOStream.hpp b/include/assimp/IOStream.hpp index 460fcc0bf..a36a3ad1d 100644 --- a/include/assimp/IOStream.hpp +++ b/include/assimp/IOStream.hpp @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,21 +25,21 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ /** @file IOStream.hpp - * @brief File I/O wrappers for C++. + * @brief File I/O wrappers for C++. */ #ifndef AI_IOSTREAM_H_INC @@ -72,8 +72,8 @@ protected: public: // ------------------------------------------------------------------- - /** @brief Destructor. Deleting the object closes the underlying file, - * alternatively you may use IOSystem::Close() to release the file. + /** @brief Destructor. Deleting the object closes the underlying file, + * alternatively you may use IOSystem::Close() to release the file. */ virtual ~IOStream(); @@ -82,8 +82,8 @@ public: * * See fread() for more details * This fails for write-only files */ - virtual size_t Read(void* pvBuffer, - size_t pSize, + virtual size_t Read(void* pvBuffer, + size_t pSize, size_t pCount) = 0; // ------------------------------------------------------------------- @@ -91,7 +91,7 @@ public: * * See fwrite() for more details * This fails for read-only files */ - virtual size_t Write(const void* pvBuffer, + virtual size_t Write(const void* pvBuffer, size_t pSize, size_t pCount) = 0; @@ -115,7 +115,7 @@ public: virtual size_t FileSize() const = 0; // ------------------------------------------------------------------- - /** @brief Flush the contents of the file buffer (for writers) + /** @brief Flush the contents of the file buffer (for writers) * See fflush() for more details. */ virtual void Flush() = 0; diff --git a/include/assimp/IOSystem.hpp b/include/assimp/IOSystem.hpp index b58cc135e..dae5cc41d 100644 --- a/include/assimp/IOSystem.hpp +++ b/include/assimp/IOSystem.hpp @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -74,7 +74,7 @@ public: // ------------------------------------------------------------------- /** @brief Default constructor. * - * Create an instance of your derived class and assign it to an + * Create an instance of your derived class and assign it to an * #Assimp::Importer instance by calling Importer::SetIOHandler(). */ IOSystem(); @@ -97,7 +97,7 @@ public: AI_FORCE_INLINE bool Exists( const std::string& pFile) const; // ------------------------------------------------------------------- - /** @brief Tests for the existence of a file at the given path. + /** @brief Tests for the existence of a file at the given path. * * @param pFile Path to the file * @return true if there is a file with this path, else false. @@ -125,9 +125,9 @@ public: * "rb", "r", "rt". * * @return New IOStream interface allowing the lib to access - * the underlying file. - * @note When implementing this class to provide custom IO handling, - * you probably have to supply an own implementation of IOStream as well. + * the underlying file. + * @note When implementing this class to provide custom IO handling, + * you probably have to supply an own implementation of IOStream as well. */ virtual IOStream* Open(const char* pFile, const char* pMode = "rb") = 0; @@ -142,7 +142,7 @@ public: // ------------------------------------------------------------------- - /** @brief Closes the given file and releases all resources + /** @brief Closes the given file and releases all resources * associated with it. * @param pFile The file instance previously created by Open(). */ @@ -151,8 +151,8 @@ public: // ------------------------------------------------------------------- /** @brief Compares two paths and check whether the point to * identical files. - * - * The dummy implementation of this virtual member performs a + * + * The dummy implementation of this virtual member performs a * case-insensitive comparison of the given strings. The default IO * system implementation uses OS mechanisms to convert relative into * absolute paths, so the result can be trusted. @@ -161,32 +161,32 @@ public: * @return true if the paths point to the same file. The file needn't * be existing, however. */ - virtual bool ComparePaths (const char* one, + virtual bool ComparePaths (const char* one, const char* second) const; // ------------------------------------------------------------------- /** @brief For backward compatibility * @see ComparePaths(const char*, const char*) */ - inline bool ComparePaths (const std::string& one, + inline bool ComparePaths (const std::string& one, const std::string& second) const; }; // ---------------------------------------------------------------------------- -AI_FORCE_INLINE IOSystem::IOSystem() +AI_FORCE_INLINE IOSystem::IOSystem() { // empty } // ---------------------------------------------------------------------------- -AI_FORCE_INLINE IOSystem::~IOSystem() +AI_FORCE_INLINE IOSystem::~IOSystem() { // empty } // ---------------------------------------------------------------------------- // For compatibility, the interface of some functions taking a std::string was -// changed to const char* to avoid crashes between binary incompatible STL +// changed to const char* to avoid crashes between binary incompatible STL // versions. This code her is inlined, so it shouldn't cause any problems. // ---------------------------------------------------------------------------- @@ -196,7 +196,7 @@ AI_FORCE_INLINE IOStream* IOSystem::Open(const std::string& pFile, { // NOTE: // For compatibility, interface was changed to const char* to - // avoid crashes between binary incompatible STL versions + // avoid crashes between binary incompatible STL versions return Open(pFile.c_str(),pMode.c_str()); } @@ -205,17 +205,17 @@ AI_FORCE_INLINE bool IOSystem::Exists( const std::string& pFile) const { // NOTE: // For compatibility, interface was changed to const char* to - // avoid crashes between binary incompatible STL versions + // avoid crashes between binary incompatible STL versions return Exists(pFile.c_str()); } // ---------------------------------------------------------------------------- -inline bool IOSystem::ComparePaths (const std::string& one, +inline bool IOSystem::ComparePaths (const std::string& one, const std::string& second) const { // NOTE: // For compatibility, interface was changed to const char* to - // avoid crashes between binary incompatible STL versions + // avoid crashes between binary incompatible STL versions return ComparePaths(one.c_str(),second.c_str()); } diff --git a/include/assimp/Importer.hpp b/include/assimp/Importer.hpp index fd6fd5ad4..0ce744d5f 100644 --- a/include/assimp/Importer.hpp +++ b/include/assimp/Importer.hpp @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -46,7 +46,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define INCLUDED_AI_ASSIMP_HPP #ifndef __cplusplus -# error This header requires C++ to be used. Use assimp.h for plain C. +# error This header requires C++ to be used. Use assimp.h for plain C. #endif // Public ASSIMP data structures @@ -55,7 +55,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. namespace Assimp { // ======================================================================= - // Public interface to Assimp + // Public interface to Assimp class Importer; class Exporter; // export.hpp class IOStream; @@ -71,7 +71,7 @@ namespace Assimp { class BaseImporter; class BaseProcess; class SharedPostProcessInfo; - class BatchLoader; + class BatchLoader; // ======================================================================= // Holy stuff, only for members of the high council of the Jedi. @@ -90,24 +90,24 @@ struct aiImporterDesc; namespace Assimp { // ---------------------------------------------------------------------------------- -/** CPP-API: The Importer class forms an C++ interface to the functionality of the +/** CPP-API: The Importer class forms an C++ interface to the functionality of the * Open Asset Import Library. * -* Create an object of this class and call ReadFile() to import a file. -* If the import succeeds, the function returns a pointer to the imported data. -* The data remains property of the object, it is intended to be accessed -* read-only. The imported data will be destroyed along with the Importer +* Create an object of this class and call ReadFile() to import a file. +* If the import succeeds, the function returns a pointer to the imported data. +* The data remains property of the object, it is intended to be accessed +* read-only. The imported data will be destroyed along with the Importer * object. If the import fails, ReadFile() returns a NULL pointer. In this -* case you can retrieve a human-readable error description be calling +* case you can retrieve a human-readable error description be calling * GetErrorString(). You can call ReadFile() multiple times with a single Importer * instance. Actually, constructing Importer objects involves quite many * allocations and may take some time, so it's better to reuse them as often as * possible. * * If you need the Importer to do custom file handling to access the files, -* implement IOSystem and IOStream and supply an instance of your custom +* implement IOSystem and IOStream and supply an instance of your custom * IOSystem implementation by calling SetIOHandler() before calling ReadFile(). -* If you do not assign a custion IO handler, a default handler using the +* If you do not assign a custion IO handler, a default handler using the * standard C++ IO logic will be used. * * @note One Importer instance is not thread-safe. If you use multiple @@ -118,8 +118,8 @@ class ASSIMP_API Importer { public: // ------------------------------------------------------------------- - /** Constructor. Creates an empty importer object. - * + /** Constructor. Creates an empty importer object. + * * Call ReadFile() to start the import process. The configuration * property table is initially empty. */ @@ -127,7 +127,7 @@ public: // ------------------------------------------------------------------- /** Copy constructor. - * + * * This copies the configuration properties of another Importer. * If this Importer owns a scene it won't be copied. * Call ReadFile() to start the import process. @@ -136,7 +136,7 @@ public: // ------------------------------------------------------------------- /** Destructor. The object kept ownership of the imported data, - * which now will be destroyed along with the object. + * which now will be destroyed along with the object. */ ~Importer(); @@ -144,7 +144,7 @@ public: // ------------------------------------------------------------------- /** Registers a new loader. * - * @param pImp Importer to be added. The Importer instance takes + * @param pImp Importer to be added. The Importer instance takes * ownership of the pointer, so it will be automatically deleted * with the Importer instance. * @return AI_SUCCESS if the loader has been added. The registration @@ -166,11 +166,11 @@ public: // ------------------------------------------------------------------- /** Registers a new post-process step. * - * At the moment, there's a small limitation: new post processing - * steps are added to end of the list, or in other words, executed + * At the moment, there's a small limitation: new post processing + * steps are added to end of the list, or in other words, executed * last, after all built-in steps. - * @param pImp Post-process step to be added. The Importer instance - * takes ownership of the pointer, so it will be automatically + * @param pImp Post-process step to be added. The Importer instance + * takes ownership of the pointer, so it will be automatically * deleted with the Importer instance. * @return AI_SUCCESS if the step has been added correctly. */ @@ -179,7 +179,7 @@ public: // ------------------------------------------------------------------- /** Unregisters a post-process step. * - * @param pImp Step to be unregistered. + * @param pImp Step to be unregistered. * @return AI_SUCCESS if the step has been removed. The function * fails if the step is currently in use (this could happen * if the #Importer instance is used by more than one thread) or @@ -197,7 +197,7 @@ public: * @return true if the property was set before. The new value replaces * the previous value in this case. * @note Property of different types (float, int, string ..) are kept - * on different stacks, so calling SetPropertyInteger() for a + * on different stacks, so calling SetPropertyInteger() for a * floating-point property has no effect - the loader will call * GetPropertyFloat() to read the property, but it won't be there. */ @@ -237,15 +237,15 @@ public: * @param szName Name of the property. All supported properties * are defined in the aiConfig.g header (all constants share the * prefix AI_CONFIG_XXX). - * @param iErrorReturn Value that is returned if the property - * is not found. + * @param iErrorReturn Value that is returned if the property + * is not found. * @return Current value of the property * @note Property of different types (float, int, string ..) are kept - * on different lists, so calling SetPropertyInteger() for a + * on different lists, so calling SetPropertyInteger() for a * floating-point property has no effect - the loader will call * GetPropertyFloat() to read the property, but it won't be there. */ - int GetPropertyInteger(const char* szName, + int GetPropertyInteger(const char* szName, int iErrorReturn = 0xffffffff) const; // ------------------------------------------------------------------- @@ -263,7 +263,7 @@ public: /** Get a floating-point configuration property * @see GetPropertyInteger() */ - float GetPropertyFloat(const char* szName, + float GetPropertyFloat(const char* szName, float fErrorReturn = 10e10f) const; // ------------------------------------------------------------------- @@ -286,18 +286,18 @@ public: // ------------------------------------------------------------------- /** Supplies a custom IO handler to the importer to use to open and - * access files. If you need the importer to use custion IO logic to - * access the files, you need to provide a custom implementation of - * IOSystem and IOFile to the importer. Then create an instance of + * access files. If you need the importer to use custion IO logic to + * access the files, you need to provide a custom implementation of + * IOSystem and IOFile to the importer. Then create an instance of * your custion IOSystem implementation and supply it by this function. * - * The Importer takes ownership of the object and will destroy it + * The Importer takes ownership of the object and will destroy it * afterwards. The previously assigned handler will be deleted. * Pass NULL to take again ownership of your IOSystem and reset Assimp * to use its default implementation. * - * @param pIOHandler The IO handler to be used in all file accesses - * of the Importer. + * @param pIOHandler The IO handler to be used in all file accesses + * of the Importer. */ void SetIOHandler( IOSystem* pIOHandler); @@ -312,28 +312,28 @@ public: IOSystem* GetIOHandler() const; // ------------------------------------------------------------------- - /** Checks whether a default IO handler is active - * A default handler is active as long the application doesn't + /** Checks whether a default IO handler is active + * A default handler is active as long the application doesn't * supply its own custom IO handler via #SetIOHandler(). * @return true by default */ bool IsDefaultIOHandler() const; // ------------------------------------------------------------------- - /** Supplies a custom progress handler to the importer. This + /** Supplies a custom progress handler to the importer. This * interface exposes a #Update() callback, which is called * more or less periodically (please don't sue us if it * isn't as periodically as you'd like it to have ...). * This can be used to implement progress bars and loading - * timeouts. - * @param pHandler Progress callback interface. Pass NULL to - * disable progress reporting. + * timeouts. + * @param pHandler Progress callback interface. Pass NULL to + * disable progress reporting. * @note Progress handlers can be used to abort the loading * at almost any time.*/ void SetProgressHandler ( ProgressHandler* pHandler ); // ------------------------------------------------------------------- - /** Retrieves the progress handler that is currently set. + /** Retrieves the progress handler that is currently set. * You can use #IsDefaultProgressHandler() to check whether the returned * interface is the default handler provided by ASSIMP. The default * handler is active as long the application doesn't supply its own @@ -343,8 +343,8 @@ public: ProgressHandler* GetProgressHandler() const; // ------------------------------------------------------------------- - /** Checks whether a default progress handler is active - * A default handler is active as long the application doesn't + /** Checks whether a default progress handler is active + * A default handler is active as long the application doesn't * supply its own custom progress handler via #SetProgressHandler(). * @return true by default */ @@ -356,7 +356,7 @@ public: * * Some flags are mutually exclusive, others are probably * not available because your excluded them from your - * Assimp builds. Calling this function is recommended if + * Assimp builds. Calling this function is recommended if * you're unsure. * * @param pFlags Bitwise combination of the aiPostProcess flags. @@ -365,17 +365,17 @@ public: bool ValidateFlags(unsigned int pFlags) const; // ------------------------------------------------------------------- - /** Reads the given file and returns its contents if successful. - * - * If the call succeeds, the contents of the file are returned as a - * pointer to an aiScene object. The returned data is intended to be + /** Reads the given file and returns its contents if successful. + * + * If the call succeeds, the contents of the file are returned as a + * pointer to an aiScene object. The returned data is intended to be * read-only, the importer object keeps ownership of the data and will * destroy it upon destruction. If the import fails, NULL is returned. - * A human-readable error description can be retrieved by calling + * A human-readable error description can be retrieved by calling * GetErrorString(). The previous scene will be deleted during this call. * @param pFile Path and filename to the file to be imported. - * @param pFlags Optional post processing steps to be executed after - * a successful import. Provide a bitwise combination of the + * @param pFlags Optional post processing steps to be executed after + * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. If you wish to inspect the imported * scene first in order to fine-tune your post-processing setup, * consider to use #ApplyPostProcessing(). @@ -384,32 +384,32 @@ public: * instance. Use GetOrphanedScene() to take ownership of it. * * @note Assimp is able to determine the file format of a file - * automatically. + * automatically. */ const aiScene* ReadFile( - const char* pFile, + const char* pFile, unsigned int pFlags); // ------------------------------------------------------------------- /** Reads the given file from a memory buffer and returns its * contents if successful. - * - * If the call succeeds, the contents of the file are returned as a - * pointer to an aiScene object. The returned data is intended to be + * + * If the call succeeds, the contents of the file are returned as a + * pointer to an aiScene object. The returned data is intended to be * read-only, the importer object keeps ownership of the data and will * destroy it upon destruction. If the import fails, NULL is returned. - * A human-readable error description can be retrieved by calling + * A human-readable error description can be retrieved by calling * GetErrorString(). The previous scene will be deleted during this call. * Calling this method doesn't affect the active IOSystem. * @param pBuffer Pointer to the file data * @param pLength Length of pBuffer, in bytes - * @param pFlags Optional post processing steps to be executed after - * a successful import. Provide a bitwise combination of the + * @param pFlags Optional post processing steps to be executed after + * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. If you wish to inspect the imported * scene first in order to fine-tune your post-processing setup, * consider to use #ApplyPostProcessing(). * @param pHint An additional hint to the library. If this is a non - * empty string, the library looks for a loader to support + * empty string, the library looks for a loader to support * the file extension specified by pHint and passes the file to * the first matching loader. If this loader is unable to completely * the request, the library continues and tries to determine the @@ -420,14 +420,14 @@ public: * instance. Use GetOrphanedScene() to take ownership of it. * * @note This is a straightforward way to decode models from memory - * buffers, but it doesn't handle model formats that spread their + * buffers, but it doesn't handle model formats that spread their * data across multiple files or even directories. Examples include * OBJ or MD3, which outsource parts of their material info into * external scripts. If you need full functionality, provide * a custom IOSystem to make Assimp find these files and use * the regular ReadFile() API. */ - const aiScene* ReadFileFromMemory( + const aiScene* ReadFileFromMemory( const void* pBuffer, size_t pLength, unsigned int pFlags, @@ -439,7 +439,7 @@ public: * This is strictly equivalent to calling #ReadFile() with the same * flags. However, you can use this separate function to inspect * the imported scene first to fine-tune your post-processing setup. - * @param pFlags Provide a bitwise combination of the + * @param pFlags Provide a bitwise combination of the * #aiPostProcessSteps flags. * @return A pointer to the post-processed data. This is still the * same as the pointer returned by #ReadFile(). However, if @@ -454,31 +454,31 @@ public: const aiScene* ApplyPostProcessing(unsigned int pFlags); // ------------------------------------------------------------------- - /** @brief Reads the given file and returns its contents if successful. + /** @brief Reads the given file and returns its contents if successful. * * This function is provided for backward compatibility. * See the const char* version for detailled docs. * @see ReadFile(const char*, pFlags) */ const aiScene* ReadFile( - const std::string& pFile, + const std::string& pFile, unsigned int pFlags); // ------------------------------------------------------------------- /** Frees the current scene. * - * The function does nothing if no scene has previously been + * The function does nothing if no scene has previously been * read via ReadFile(). FreeScene() is called automatically by the * destructor and ReadFile() itself. */ void FreeScene( ); // ------------------------------------------------------------------- - /** Returns an error description of an error that occurred in ReadFile(). + /** Returns an error description of an error that occurred in ReadFile(). * * Returns an empty string if no error occurred. - * @return A description of the last error, an empty string if no + * @return A description of the last error, an empty string if no * error occurred. The string is never NULL. * - * @note The returned function remains valid until one of the + * @note The returned function remains valid until one of the * following methods is called: #ReadFile(), #FreeScene(). */ const char* GetErrorString() const; @@ -490,7 +490,7 @@ public: // ------------------------------------------------------------------- /** Returns the scene loaded by the last successful call to ReadFile() - * and releases the scene from the ownership of the Importer + * and releases the scene from the ownership of the Importer * instance. The application is now responsible for deleting the * scene. Any further calls to GetScene() or GetOrphanedScene() * will return NULL - until a new scene has been loaded via ReadFile(). @@ -536,7 +536,7 @@ public: * mean that ASSIMP is able to load all files with this extension --- * it simply means there is an importer loaded which claims to handle * files with this file extension. - * @param szOut String to receive the extension list. + * @param szOut String to receive the extension list. * Format of the list: "*.3ds;*.obj;*.dae". This is useful for * use with the WinAPI call GetOpenFileName(Ex). */ void GetExtensionList(aiString& szOut) const; @@ -601,14 +601,14 @@ public: * in memory. * * This refers to the currently loaded file, see #ReadFile(). - * @param in Data structure to be filled. + * @param in Data structure to be filled. * @note The returned memory statistics refer to the actual * size of the use data of the aiScene. Heap-related overhead * is (naturally) not included.*/ void GetMemoryRequirements(aiMemoryInfo& in) const; // ------------------------------------------------------------------- - /** Enables "extra verbose" mode. + /** Enables "extra verbose" mode. * * 'Extra verbose' means the data structure is validated after *every* * single post processing step to make sure everyone modifies the data @@ -631,7 +631,7 @@ protected: // ---------------------------------------------------------------------------- // For compatibility, the interface of some functions taking a std::string was -// changed to const char* to avoid crashes between binary incompatible STL +// changed to const char* to avoid crashes between binary incompatible STL // versions. This code her is inlined, so it shouldn't cause any problems. // ---------------------------------------------------------------------------- diff --git a/include/assimp/LogStream.hpp b/include/assimp/LogStream.hpp index c4dbc6fa2..6f2d4e19a 100644 --- a/include/assimp/LogStream.hpp +++ b/include/assimp/LogStream.hpp @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -71,7 +71,7 @@ public: /** @brief Overwrite this for your own output methods * * Log messages *may* consist of multiple lines and you shouldn't - * expect a consistent formatting. If you want custom formatting + * expect a consistent formatting. If you want custom formatting * (e.g. generate HTML), supply a custom instance of Logger to * #DefaultLogger:set(). Usually you can *expect* that a log message * is exactly one line and terminated with a single \n character. @@ -82,7 +82,7 @@ public: /** @brief Creates a default log stream * @param streams Type of the default stream * @param name For aiDefaultLogStream_FILE: name of the output file - * @param io For aiDefaultLogStream_FILE: IOSystem to be used to open the output + * @param io For aiDefaultLogStream_FILE: IOSystem to be used to open the output * file. Pass NULL for the default implementation. * @return New LogStream instance. */ static LogStream* createDefaultStream(aiDefaultLogStream stream, diff --git a/include/assimp/Logger.hpp b/include/assimp/Logger.hpp index 8ee68fb6d..bacfb89a6 100644 --- a/include/assimp/Logger.hpp +++ b/include/assimp/Logger.hpp @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,23 +23,23 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- */ /** @file Logger.hpp - * @brief Abstract base class 'Logger', base of the logging system. + * @brief Abstract base class 'Logger', base of the logging system. */ #ifndef INCLUDED_AI_LOGGER_H #define INCLUDED_AI_LOGGER_H @@ -53,7 +53,7 @@ class LogStream; // ---------------------------------------------------------------------------------- /** @brief CPP-API: Abstract interface for logger implementations. - * Assimp provides a default implementation and uses it for almost all + * Assimp provides a default implementation and uses it for almost all * logging stuff ('DefaultLogger'). This class defines just basic logging * behaviour and is not of interest for you. Instead, take a look at #DefaultLogger. */ class ASSIMP_API Logger @@ -139,11 +139,11 @@ public: * messages are dispatched to the stream. Provide a bitwise * combination of the ErrorSeverity flags. * @return true if the stream has been attached, false otherwise.*/ - virtual bool attachStream(LogStream *pStream, + virtual bool attachStream(LogStream *pStream, unsigned int severity = Debugging | Err | Warn | Info) = 0; // ---------------------------------------------------------------------- - /** @brief Detach a still attached stream from the logger (or + /** @brief Detach a still attached stream from the logger (or * modify the filter flags bits) * @param pStream Log-stream instance for detaching * @param severity Provide a bitwise combination of the ErrorSeverity @@ -151,7 +151,7 @@ public: * if the result is 0 the stream is detached from the Logger and * the caller retakes the possession of the stream. * @return true if the stream has been detached, false otherwise.*/ - virtual bool detatchStream(LogStream *pStream, + virtual bool detatchStream(LogStream *pStream, unsigned int severity = Debugging | Err | Warn | Info) = 0; protected: diff --git a/include/assimp/NullLogger.hpp b/include/assimp/NullLogger.hpp index 01b911755..8b7a14a44 100644 --- a/include/assimp/NullLogger.hpp +++ b/include/assimp/NullLogger.hpp @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -50,30 +50,30 @@ namespace Assimp { // --------------------------------------------------------------------------- /** @brief CPP-API: Empty logging implementation. * - * Does nothing! Used by default if the application hasn't requested a + * Does nothing! Used by default if the application hasn't requested a * custom logger via #DefaultLogger::set() or #DefaultLogger::create(); */ -class ASSIMP_API NullLogger +class ASSIMP_API NullLogger : public Logger { public: /** @brief Logs a debug message */ - void OnDebug(const char* message) { + void OnDebug(const char* message) { (void)message; //this avoids compiler warnings } /** @brief Logs an info message */ - void OnInfo(const char* message) { + void OnInfo(const char* message) { (void)message; //this avoids compiler warnings } /** @brief Logs a warning message */ - void OnWarn(const char* message) { + void OnWarn(const char* message) { (void)message; //this avoids compiler warnings } - + /** @brief Logs an error message */ - void OnError(const char* message) { + void OnError(const char* message) { (void)message; //this avoids compiler warnings } diff --git a/include/assimp/ProgressHandler.hpp b/include/assimp/ProgressHandler.hpp index 038cf2382..568faba66 100644 --- a/include/assimp/ProgressHandler.hpp +++ b/include/assimp/ProgressHandler.hpp @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -49,7 +49,7 @@ namespace Assimp { // ------------------------------------------------------------------------------------ /** @brief CPP-API: Abstract interface for custom progress report receivers. * - * Each #Importer instance maintains its own #ProgressHandler. The default + * Each #Importer instance maintains its own #ProgressHandler. The default * implementation provided by Assimp doesn't do anything at all. */ class ASSIMP_API ProgressHandler #ifndef SWIG @@ -70,10 +70,10 @@ public: * @param percentage An estimate of the current loading progress, * in percent. Or -1.f if such an estimate is not available. * - * There are restriction on what you may do from within your + * There are restriction on what you may do from within your * implementation of this method: no exceptions may be thrown and no - * non-const #Importer methods may be called. It is - * not generally possible to predict the number of callbacks + * non-const #Importer methods may be called. It is + * not generally possible to predict the number of callbacks * fired during a single import. * * @return Return false to abort loading at the next possible @@ -115,7 +115,7 @@ public: Update( f * 0.5f + 0.5f ); } -}; // !class ProgressHandler +}; // !class ProgressHandler // ------------------------------------------------------------------------------------ } // Namespace Assimp diff --git a/include/assimp/ai_assert.h b/include/assimp/ai_assert.h index 90844da9a..3c388e923 100644 --- a/include/assimp/ai_assert.h +++ b/include/assimp/ai_assert.h @@ -3,7 +3,7 @@ #ifndef AI_DEBUG_H_INC #define AI_DEBUG_H_INC -#ifdef ASSIMP_BUILD_DEBUG +#ifdef ASSIMP_BUILD_DEBUG # include # define ai_assert(expression) assert(expression) #else diff --git a/include/assimp/anim.h b/include/assimp/anim.h index 1985641f1..8b8379594 100644 --- a/include/assimp/anim.h +++ b/include/assimp/anim.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -58,10 +58,10 @@ extern "C" { struct aiVectorKey { /** The time of this key */ - double mTime; - + double mTime; + /** The value of this key */ - C_STRUCT aiVector3D mValue; + C_STRUCT aiVector3D mValue; #ifdef __cplusplus @@ -96,15 +96,15 @@ struct aiVectorKey }; // --------------------------------------------------------------------------- -/** A time-value pair specifying a rotation for the given time. +/** A time-value pair specifying a rotation for the given time. * Rotations are expressed with quaternions. */ struct aiQuatKey { /** The time of this key */ - double mTime; + double mTime; /** The value of this key */ - C_STRUCT aiQuaternion mValue; + C_STRUCT aiQuaternion mValue; #ifdef __cplusplus aiQuatKey(){ @@ -138,12 +138,12 @@ struct aiQuatKey // --------------------------------------------------------------------------- /** Binds a anim mesh to a specific point in time. */ -struct aiMeshKey +struct aiMeshKey { /** The time of this key */ double mTime; - /** Index into the aiMesh::mAnimMeshes array of the + /** Index into the aiMesh::mAnimMeshes array of the * mesh coresponding to the #aiMeshAnim hosting this * key frame. The referenced anim mesh is evaluated * according to the rules defined in the docs for #aiAnimMesh.*/ @@ -183,12 +183,12 @@ struct aiMeshKey // --------------------------------------------------------------------------- /** Defines how an animation channel behaves outside the defined time - * range. This corresponds to aiNodeAnim::mPreState and + * range. This corresponds to aiNodeAnim::mPreState and * aiNodeAnim::mPostState.*/ enum aiAnimBehaviour { /** The value from the default node transformation is taken*/ - aiAnimBehaviour_DEFAULT = 0x0, + aiAnimBehaviour_DEFAULT = 0x0, /** The nearest key value is used without interpolation */ aiAnimBehaviour_CONSTANT = 0x1, @@ -213,9 +213,9 @@ enum aiAnimBehaviour }; // --------------------------------------------------------------------------- -/** Describes the animation of a single node. The name specifies the +/** Describes the animation of a single node. The name specifies the * bone/node which is affected by this animation channel. The keyframes - * are given in three separate series of values, one each for position, + * are given in three separate series of values, one each for position, * rotation and scaling. The transformation matrix computed from these * values replaces the node's original transformation matrix at a * specific time. @@ -225,18 +225,18 @@ enum aiAnimBehaviour * * @note All keys are returned in their correct, chronological order. * Duplicate keys don't pass the validation step. Most likely there - * will be no negative time values, but they are not forbidden also ( so + * will be no negative time values, but they are not forbidden also ( so * implementations need to cope with them! ) */ struct aiNodeAnim { - /** The name of the node affected by this animation. The node + /** The name of the node affected by this animation. The node * must exist and it must be unique.*/ C_STRUCT aiString mNodeName; /** The number of position keys */ unsigned int mNumPositionKeys; - /** The position keys of this animation channel. Positions are + /** The position keys of this animation channel. Positions are * specified as 3D vector. The array is mNumPositionKeys in size. * * If there are position keys, there will also be at least one @@ -246,8 +246,8 @@ struct aiNodeAnim /** The number of rotation keys */ unsigned int mNumRotationKeys; - /** The rotation keys of this animation channel. Rotations are - * given as quaternions, which are 4D vectors. The array is + /** The rotation keys of this animation channel. Rotations are + * given as quaternions, which are 4D vectors. The array is * mNumRotationKeys in size. * * If there are rotation keys, there will also be at least one @@ -258,7 +258,7 @@ struct aiNodeAnim /** The number of scaling keys */ unsigned int mNumScalingKeys; - /** The scaling keys of this animation channel. Scalings are + /** The scaling keys of this animation channel. Scalings are * specified as 3D vector. The array is mNumScalingKeys in size. * * If there are scaling keys, there will also be at least one @@ -273,7 +273,7 @@ struct aiNodeAnim * transformation matrix of the affected node is used).*/ C_ENUM aiAnimBehaviour mPreState; - /** Defines how the animation behaves after the last + /** Defines how the animation behaves after the last * key was processed. * * The default value is aiAnimBehaviour_DEFAULT (the original @@ -283,9 +283,9 @@ struct aiNodeAnim #ifdef __cplusplus aiNodeAnim() { - mNumPositionKeys = 0; mPositionKeys = NULL; - mNumRotationKeys = 0; mRotationKeys = NULL; - mNumScalingKeys = 0; mScalingKeys = NULL; + mNumPositionKeys = 0; mPositionKeys = NULL; + mNumRotationKeys = 0; mRotationKeys = NULL; + mNumScalingKeys = 0; mScalingKeys = NULL; mPreState = mPostState = aiAnimBehaviour_DEFAULT; } @@ -302,7 +302,7 @@ struct aiNodeAnim // --------------------------------------------------------------------------- /** Describes vertex-based animations for a single mesh or a group of * meshes. Meshes carry the animation data for each frame in their - * aiMesh::mAnimMeshes array. The purpose of aiMeshAnim is to + * aiMesh::mAnimMeshes array. The purpose of aiMeshAnim is to * define keyframes linking each mesh attachment to a particular * point in time. */ struct aiMeshAnim @@ -335,12 +335,12 @@ struct aiMeshAnim }; // --------------------------------------------------------------------------- -/** An animation consists of keyframe data for a number of nodes. For +/** An animation consists of keyframe data for a number of nodes. For * each node affected by the animation a separate series of data is given.*/ struct aiAnimation { - /** The name of the animation. If the modeling package this data was - * exported from does support only a single animation channel, this + /** The name of the animation. If the modeling package this data was + * exported from does support only a single animation channel, this * name is usually empty (length is zero). */ C_STRUCT aiString mName; @@ -354,7 +354,7 @@ struct aiAnimation * a single node. */ unsigned int mNumChannels; - /** The node animation channels. Each channel affects a single node. + /** The node animation channels. Each channel affects a single node. * The array is mNumChannels in size. */ C_STRUCT aiNodeAnim** mChannels; @@ -363,7 +363,7 @@ struct aiAnimation * a single mesh and defines vertex-based animation. */ unsigned int mNumMeshChannels; - /** The mesh animation channels. Each channel affects a single mesh. + /** The mesh animation channels. Each channel affects a single mesh. * The array is mNumMeshChannels in size. */ C_STRUCT aiMeshAnim** mMeshChannels; @@ -412,8 +412,8 @@ namespace Assimp { * The type of interpolation is choosen automatically depending on the * types of the arguments. */ template -struct Interpolator -{ +struct Interpolator +{ // ------------------------------------------------------------------ /** @brief Get the result of the interpolation between a,b. * @@ -428,8 +428,8 @@ struct Interpolator //! @cond Never template <> -struct Interpolator { - void operator () (aiQuaternion& out,const aiQuaternion& a, +struct Interpolator { + void operator () (aiQuaternion& out,const aiQuaternion& a, const aiQuaternion& b, float d) const { aiQuaternion::Interpolate(out,a,b,d); @@ -437,8 +437,8 @@ struct Interpolator { }; // ! Interpolator template <> -struct Interpolator { - void operator () (unsigned int& out,unsigned int a, +struct Interpolator { + void operator () (unsigned int& out,unsigned int a, unsigned int b, float d) const { out = d>0.5f ? b : a; @@ -446,9 +446,9 @@ struct Interpolator { }; // ! Interpolator template <> -struct Interpolator { +struct Interpolator { void operator () (aiVector3D& out,const aiVectorKey& a, - const aiVectorKey& b, float d) const + const aiVectorKey& b, float d) const { Interpolator ipl; ipl(out,a.mValue,b.mValue,d); diff --git a/include/assimp/camera.h b/include/assimp/camera.h index c999ca672..4dca15f88 100644 --- a/include/assimp/camera.h +++ b/include/assimp/camera.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -53,16 +53,16 @@ extern "C" { #endif // --------------------------------------------------------------------------- -/** Helper structure to describe a virtual camera. +/** Helper structure to describe a virtual camera. * * Cameras have a representation in the node graph and can be animated. * An important aspect is that the camera itself is also part of the - * scenegraph. This means, any values such as the look-at vector are not + * scenegraph. This means, any values such as the look-at vector are not * *absolute*, they're relative to the coordinate system defined * by the node which corresponds to the camera. This allows for camera * animations. For static cameras parameters like the 'look-at' or 'up' vectors * are usually specified directly in aiCamera, but beware, they could also - * be encoded in the node transformation. The following (pseudo)code sample + * be encoded in the node transformation. The following (pseudo)code sample * shows how to do it:

* @code * // Get the camera matrix for a camera at a specific time @@ -93,7 +93,7 @@ extern "C" { * called ".Target". However this is just additional information * then the transformation tracks of the camera main node make the * camera already look in the right direction. - * + * */ struct aiCamera { @@ -134,7 +134,7 @@ struct aiCamera C_STRUCT aiVector3D mLookAt; - /** Half horizontal field of view angle, in radians. + /** Half horizontal field of view angle, in radians. * * The field of view angle is the angle between the center * line of the screen and the left or right border. @@ -183,7 +183,7 @@ struct aiCamera /** @brief Get a *right-handed* camera matrix from me * @param out Camera matrix to be filled */ - void GetCameraMatrix (aiMatrix4x4& out) const + void GetCameraMatrix (aiMatrix4x4& out) const { /** todo: test ... should work, but i'm not absolutely sure */ @@ -199,7 +199,7 @@ struct aiCamera out.a1 = xaxis.x; out.a2 = xaxis.y; out.a3 = xaxis.z; - + out.b1 = yaxis.x; out.b2 = yaxis.y; out.b3 = yaxis.z; diff --git a/include/assimp/cexport.h b/include/assimp/cexport.h index d9cb12761..50809c044 100644 --- a/include/assimp/cexport.h +++ b/include/assimp/cexport.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2011, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ contributors may be used to endorse or promote products derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -57,22 +57,22 @@ struct aiScene; // aiScene.h struct aiFileIO; // aiFileIO.h // -------------------------------------------------------------------------------- -/** Describes an file format which Assimp can export to. Use #aiGetExportFormatCount() to +/** Describes an file format which Assimp can export to. Use #aiGetExportFormatCount() to * learn how many export formats the current Assimp build supports and #aiGetExportFormatDescription() * to retrieve a description of an export format option. */ struct aiExportFormatDesc { - /// a short string ID to uniquely identify the export format. Use this ID string to + /// a short string ID to uniquely identify the export format. Use this ID string to /// specify which file format you want to export to when calling #aiExportScene(). /// Example: "dae" or "obj" - const char* id; + const char* id; /// A short description of the file format to present to users. Useful if you want /// to allow the user to select an export format. const char* description; - /// Recommended file extension for the exported file in lower case. + /// Recommended file extension for the exported file in lower case. const char* fileExtension; }; @@ -86,7 +86,7 @@ ASSIMP_API size_t aiGetExportFormatCount(void); // -------------------------------------------------------------------------------- /** Returns a description of the nth export file format. Use #aiGetExportFormatCount() - * to learn how many export formats are supported. + * to learn how many export formats are supported. * @param pIndex Index of the export format to retrieve information for. Valid range is * 0 to #aiGetExportFormatCount() * @return A description of that specific export format. NULL if pIndex is out of range. @@ -96,14 +96,14 @@ ASSIMP_API const C_STRUCT aiExportFormatDesc* aiGetExportFormatDescription( size // -------------------------------------------------------------------------------- /** Create a modifiable copy of a scene. - * This is useful to import files via Assimp, change their topology and + * This is useful to import files via Assimp, change their topology and * export them again. Since the scene returned by the various importer functions * is const, a modifiable copy is needed. * @param pIn Valid scene to be copied * @param pOut Receives a modifyable copy of the scene. Use aiFreeScene() to * delete it again. */ -ASSIMP_API void aiCopyScene(const C_STRUCT aiScene* pIn, +ASSIMP_API void aiCopyScene(const C_STRUCT aiScene* pIn, C_STRUCT aiScene** pOut); @@ -119,16 +119,16 @@ ASSIMP_API void aiFreeScene(const C_STRUCT aiScene* pIn); * should use a right-handed coordinate systems, face winding should be counter-clockwise * and the UV coordinate origin is assumed to be in the upper left. If your input data * uses different conventions, have a look at the last parameter. -* @param pFormatId ID string to specify to which format you want to export to. Use +* @param pFormatId ID string to specify to which format you want to export to. Use * aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available. * @param pFileName Output file to write * @param pPreprocessing Accepts any choice of the #aiPostProcessSteps enumerated * flags, but in reality only a subset of them makes sense here. Specifying -* 'preprocessing' flags is useful if the input scene does not conform to -* Assimp's default conventions as specified in the @link data Data Structures Page @endlink. -* In short, this means the geometry data should use a right-handed coordinate systems, face +* 'preprocessing' flags is useful if the input scene does not conform to +* Assimp's default conventions as specified in the @link data Data Structures Page @endlink. +* In short, this means the geometry data should use a right-handed coordinate systems, face * winding should be counter-clockwise and the UV coordinate origin is assumed to be in -* the upper left. The #aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and +* the upper left. The #aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and * #aiProcess_FlipWindingOrder flags are used in the import side to allow users * to have those defaults automatically adapted to their conventions. Specifying those flags * for exporting has the opposite effect, respectively. Some other of the @@ -136,30 +136,30 @@ ASSIMP_API void aiFreeScene(const C_STRUCT aiScene* pIn); * to try out what their effect on the exported file is. Many formats impose * their own restrictions on the structure of the geometry stored therein, * so some preprocessing may have little or no effect at all, or may be -* redundant as exporters would apply them anyhow. A good example +* redundant as exporters would apply them anyhow. A good example * is triangulation - whilst you can enforce it by specifying * the #aiProcess_Triangulate flag, most export formats support only * triangulate data so they would run the step anyway. * -* If assimp detects that the input scene was directly taken from the importer side of -* the library (i.e. not copied using aiCopyScene and potetially modified afterwards), +* If assimp detects that the input scene was directly taken from the importer side of +* the library (i.e. not copied using aiCopyScene and potetially modified afterwards), * any postprocessing steps already applied to the scene will not be applied again, unless -* they show non-idempotent behaviour (#aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and +* they show non-idempotent behaviour (#aiProcess_MakeLeftHanded, #aiProcess_FlipUVs and * #aiProcess_FlipWindingOrder). * @return a status code indicating the result of the export * @note Use aiCopyScene() to get a modifiable copy of a previously * imported scene. */ -ASSIMP_API aiReturn aiExportScene( const C_STRUCT aiScene* pScene, - const char* pFormatId, - const char* pFileName, +ASSIMP_API aiReturn aiExportScene( const C_STRUCT aiScene* pScene, + const char* pFormatId, + const char* pFileName, unsigned int pPreprocessing); // -------------------------------------------------------------------------------- /** Exports the given scene to a chosen file format using custom IO logic supplied by you. * @param pScene The scene to export. Stays in possession of the caller, is not changed by the function. -* @param pFormatId ID string to specify to which format you want to export to. Use +* @param pFormatId ID string to specify to which format you want to export to. Use * aiGetExportFormatCount() / aiGetExportFormatDescription() to learn which export formats are available. * @param pFileName Output file to write * @param pIO custom IO implementation to be used. Use this if you use your own storage methods. @@ -171,16 +171,16 @@ ASSIMP_API aiReturn aiExportScene( const C_STRUCT aiScene* pScene, * @note Use aiCopyScene() to get a modifiable copy of a previously * imported scene. */ -ASSIMP_API aiReturn aiExportSceneEx( const C_STRUCT aiScene* pScene, - const char* pFormatId, - const char* pFileName, - C_STRUCT aiFileIO* pIO, +ASSIMP_API aiReturn aiExportSceneEx( const C_STRUCT aiScene* pScene, + const char* pFormatId, + const char* pFileName, + C_STRUCT aiFileIO* pIO, unsigned int pPreprocessing ); // -------------------------------------------------------------------------------- /** Describes a blob of exported scene data. Use #aiExportSceneToBlob() to create a blob containing an -* exported scene. The memory referred by this structure is owned by Assimp. +* exported scene. The memory referred by this structure is owned by Assimp. * to free its resources. Don't try to free the memory on your side - it will crash for most build configurations * due to conflicting heaps. * @@ -188,12 +188,12 @@ ASSIMP_API aiReturn aiExportSceneEx( const C_STRUCT aiScene* pScene, * This is used when exporters write more than one output file for a given #aiScene. See the remarks for * #aiExportDataBlob::name for more information. */ -struct aiExportDataBlob +struct aiExportDataBlob { /// Size of the data in bytes size_t size; - /// The data. + /// The data. void* data; /** Name of the blob. An empty string always @@ -205,7 +205,7 @@ struct aiExportDataBlob formats don't split assets across multiple files. If used, blob names usually contain the file - extension that should be used when writing + extension that should be used when writing the data to disc. */ C_STRUCT aiString name; @@ -229,9 +229,9 @@ private: // -------------------------------------------------------------------------------- /** Exports the given scene to a chosen file format. Returns the exported data as a binary blob which * you can write into a file or something. When you're done with the data, use #aiReleaseExportBlob() -* to free the resources associated with the export. +* to free the resources associated with the export. * @param pScene The scene to export. Stays in possession of the caller, is not changed by the function. -* @param pFormatId ID string to specify to which format you want to export to. Use +* @param pFormatId ID string to specify to which format you want to export to. Use * #aiGetExportFormatCount() / #aiGetExportFormatDescription() to learn which export formats are available. * @param pPreprocessing Please see the documentation for #aiExportScene * @return the exported data or NULL in case of error @@ -241,7 +241,7 @@ ASSIMP_API const C_STRUCT aiExportDataBlob* aiExportSceneToBlob( const C_STRUCT // -------------------------------------------------------------------------------- /** Releases the memory associated with the given exported data. Use this function to free a data blob -* returned by aiExportScene(). +* returned by aiExportScene(). * @param pData the data blob returned by #aiExportSceneToBlob */ ASSIMP_API void aiReleaseExportBlob( const C_STRUCT aiExportDataBlob* pData ); diff --git a/include/assimp/cfileio.h b/include/assimp/cfileio.h index 35862830f..84f8afffb 100644 --- a/include/assimp/cfileio.h +++ b/include/assimp/cfileio.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -71,7 +71,7 @@ typedef char* aiUserData; * * Provided are functions to open and close files. Supply a custom structure to * the import function. If you don't, a default implementation is used. Use custom - * file systems to enable reading from other sources, such as ZIPs + * file systems to enable reading from other sources, such as ZIPs * or memory locations. */ struct aiFileIO { @@ -90,12 +90,12 @@ struct aiFileIO // ---------------------------------------------------------------------------------- /** @brief C-API: File callbacks * - * Actually, it's a data structure to wrap a set of fXXXX (e.g fopen) + * Actually, it's a data structure to wrap a set of fXXXX (e.g fopen) * replacement functions. * - * The default implementation of the functions utilizes the fXXX functions from + * The default implementation of the functions utilizes the fXXX functions from * the CRT. However, you can supply a custom implementation to Assimp by - * delivering a custom aiFileIO. Use this to enable reading from other sources, + * delivering a custom aiFileIO. Use this to enable reading from other sources, * such as ZIP archives or memory locations. */ struct aiFile { @@ -105,12 +105,12 @@ struct aiFile /** Callback to write to a file */ aiFileWriteProc WriteProc; - /** Callback to retrieve the current position of + /** Callback to retrieve the current position of * the file cursor (ftell()) */ aiFileTellProc TellProc; - /** Callback to retrieve the size of the file, + /** Callback to retrieve the size of the file, * in bytes */ aiFileTellProc FileSizeProc; diff --git a/include/assimp/cimport.h b/include/assimp/cimport.h index 6b32bb10d..02eb62c26 100644 --- a/include/assimp/cimport.h +++ b/include/assimp/cimport.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,22 +25,22 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ /** @file cimport.h - * @brief Defines the C-API to the Open Asset Import Library. + * @brief Defines the C-API to the Open Asset Import Library. */ #ifndef AI_ASSIMP_H_INC #define AI_ASSIMP_H_INC @@ -93,46 +93,46 @@ typedef int aiBool; // -------------------------------------------------------------------------------- /** Reads the given file and returns its content. - * - * If the call succeeds, the imported data is returned in an aiScene structure. - * The data is intended to be read-only, it stays property of the ASSIMP - * library and will be stable until aiReleaseImport() is called. After you're - * done with it, call aiReleaseImport() to free the resources associated with - * this file. If the import fails, NULL is returned instead. Call + * + * If the call succeeds, the imported data is returned in an aiScene structure. + * The data is intended to be read-only, it stays property of the ASSIMP + * library and will be stable until aiReleaseImport() is called. After you're + * done with it, call aiReleaseImport() to free the resources associated with + * this file. If the import fails, NULL is returned instead. Call * aiGetErrorString() to retrieve a human-readable error text. - * @param pFile Path and filename of the file to be imported, + * @param pFile Path and filename of the file to be imported, * expected to be a null-terminated c-string. NULL is not a valid value. - * @param pFlags Optional post processing steps to be executed after - * a successful import. Provide a bitwise combination of the + * @param pFlags Optional post processing steps to be executed after + * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. - * @return Pointer to the imported data or NULL if the import failed. + * @return Pointer to the imported data or NULL if the import failed. */ -ASSIMP_API const C_STRUCT aiScene* aiImportFile( - const char* pFile, +ASSIMP_API const C_STRUCT aiScene* aiImportFile( + const char* pFile, unsigned int pFlags); // -------------------------------------------------------------------------------- -/** Reads the given file using user-defined I/O functions and returns +/** Reads the given file using user-defined I/O functions and returns * its content. - * - * If the call succeeds, the imported data is returned in an aiScene structure. - * The data is intended to be read-only, it stays property of the ASSIMP - * library and will be stable until aiReleaseImport() is called. After you're - * done with it, call aiReleaseImport() to free the resources associated with - * this file. If the import fails, NULL is returned instead. Call + * + * If the call succeeds, the imported data is returned in an aiScene structure. + * The data is intended to be read-only, it stays property of the ASSIMP + * library and will be stable until aiReleaseImport() is called. After you're + * done with it, call aiReleaseImport() to free the resources associated with + * this file. If the import fails, NULL is returned instead. Call * aiGetErrorString() to retrieve a human-readable error text. - * @param pFile Path and filename of the file to be imported, + * @param pFile Path and filename of the file to be imported, * expected to be a null-terminated c-string. NULL is not a valid value. - * @param pFlags Optional post processing steps to be executed after + * @param pFlags Optional post processing steps to be executed after * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. * @param pFS aiFileIO structure. Will be used to open the model file itself * and any other files the loader needs to open. Pass NULL to use the default * implementation. - * @return Pointer to the imported data or NULL if the import failed. + * @return Pointer to the imported data or NULL if the import failed. * @note Include for the definition of #aiFileIO. */ -ASSIMP_API const C_STRUCT aiScene* aiImportFileEx( +ASSIMP_API const C_STRUCT aiScene* aiImportFileEx( const char* pFile, unsigned int pFlags, C_STRUCT aiFileIO* pFS); @@ -140,20 +140,20 @@ ASSIMP_API const C_STRUCT aiScene* aiImportFileEx( // -------------------------------------------------------------------------------- /** Same as #aiImportFileEx, but adds an extra parameter containing importer settings. * - * @param pFile Path and filename of the file to be imported, + * @param pFile Path and filename of the file to be imported, * expected to be a null-terminated c-string. NULL is not a valid value. - * @param pFlags Optional post processing steps to be executed after + * @param pFlags Optional post processing steps to be executed after * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. * @param pFS aiFileIO structure. Will be used to open the model file itself * and any other files the loader needs to open. Pass NULL to use the default * implementation. - * @param pProps #aiPropertyStore instance containing import settings. - * @return Pointer to the imported data or NULL if the import failed. + * @param pProps #aiPropertyStore instance containing import settings. + * @return Pointer to the imported data or NULL if the import failed. * @note Include for the definition of #aiFileIO. * @see aiImportFileEx */ -ASSIMP_API const C_STRUCT aiScene* aiImportFileExWithProperties( +ASSIMP_API const C_STRUCT aiScene* aiImportFileExWithProperties( const char* pFile, unsigned int pFlags, C_STRUCT aiFileIO* pFS, @@ -161,36 +161,36 @@ ASSIMP_API const C_STRUCT aiScene* aiImportFileExWithProperties( // -------------------------------------------------------------------------------- /** Reads the given file from a given memory buffer, - * + * * If the call succeeds, the contents of the file are returned as a pointer to an - * aiScene object. The returned data is intended to be read-only, the importer keeps - * ownership of the data and will destroy it upon destruction. If the import fails, + * aiScene object. The returned data is intended to be read-only, the importer keeps + * ownership of the data and will destroy it upon destruction. If the import fails, * NULL is returned. - * A human-readable error description can be retrieved by calling aiGetErrorString(). + * A human-readable error description can be retrieved by calling aiGetErrorString(). * @param pBuffer Pointer to the file data * @param pLength Length of pBuffer, in bytes - * @param pFlags Optional post processing steps to be executed after - * a successful import. Provide a bitwise combination of the + * @param pFlags Optional post processing steps to be executed after + * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. If you wish to inspect the imported * scene first in order to fine-tune your post-processing setup, * consider to use #aiApplyPostProcessing(). * @param pHint An additional hint to the library. If this is a non empty string, * the library looks for a loader to support the file extension specified by pHint - * and passes the file to the first matching loader. If this loader is unable to + * and passes the file to the first matching loader. If this loader is unable to * completely the request, the library continues and tries to determine the file - * format on its own, a task that may or may not be successful. + * format on its own, a task that may or may not be successful. * Check the return value, and you'll know ... * @return A pointer to the imported data, NULL if the import failed. * * @note This is a straightforward way to decode models from memory - * buffers, but it doesn't handle model formats that spread their + * buffers, but it doesn't handle model formats that spread their * data across multiple files or even directories. Examples include * OBJ or MD3, which outsource parts of their material info into * external scripts. If you need full functionality, provide * a custom IOSystem to make Assimp find these files and use * the regular aiImportFileEx()/aiImportFileExWithProperties() API. */ -ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemory( +ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemory( const char* pBuffer, unsigned int pLength, unsigned int pFlags, @@ -201,22 +201,22 @@ ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemory( * * @param pBuffer Pointer to the file data * @param pLength Length of pBuffer, in bytes - * @param pFlags Optional post processing steps to be executed after - * a successful import. Provide a bitwise combination of the + * @param pFlags Optional post processing steps to be executed after + * a successful import. Provide a bitwise combination of the * #aiPostProcessSteps flags. If you wish to inspect the imported * scene first in order to fine-tune your post-processing setup, * consider to use #aiApplyPostProcessing(). * @param pHint An additional hint to the library. If this is a non empty string, * the library looks for a loader to support the file extension specified by pHint - * and passes the file to the first matching loader. If this loader is unable to + * and passes the file to the first matching loader. If this loader is unable to * completely the request, the library continues and tries to determine the file - * format on its own, a task that may or may not be successful. + * format on its own, a task that may or may not be successful. * Check the return value, and you'll know ... - * @param pProps #aiPropertyStore instance containing import settings. + * @param pProps #aiPropertyStore instance containing import settings. * @return A pointer to the imported data, NULL if the import failed. * * @note This is a straightforward way to decode models from memory - * buffers, but it doesn't handle model formats that spread their + * buffers, but it doesn't handle model formats that spread their * data across multiple files or even directories. Examples include * OBJ or MD3, which outsource parts of their material info into * external scripts. If you need full functionality, provide @@ -224,7 +224,7 @@ ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemory( * the regular aiImportFileEx()/aiImportFileExWithProperties() API. * @see aiImportFileFromMemory */ -ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemoryWithProperties( +ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemoryWithProperties( const char* pBuffer, unsigned int pLength, unsigned int pFlags, @@ -235,15 +235,15 @@ ASSIMP_API const C_STRUCT aiScene* aiImportFileFromMemoryWithProperties( /** Apply post-processing to an already-imported scene. * * This is strictly equivalent to calling #aiImportFile()/#aiImportFileEx with the - * same flags. However, you can use this separate function to inspect the imported - * scene first to fine-tune your post-processing setup. + * same flags. However, you can use this separate function to inspect the imported + * scene first to fine-tune your post-processing setup. * @param pScene Scene to work on. * @param pFlags Provide a bitwise combination of the #aiPostProcessSteps flags. * @return A pointer to the post-processed data. Post processing is done in-place, * meaning this is still the same #aiScene which you passed for pScene. However, * _if_ post-processing failed, the scene could now be NULL. That's quite a rare - * case, post processing steps are not really designed to 'fail'. To be exact, - * the #aiProcess_ValidateDataStructure flag is currently the only post processing step + * case, post processing steps are not really designed to 'fail'. To be exact, + * the #aiProcess_ValidateDataStructure flag is currently the only post processing step * which can actually cause the scene to be reset to NULL. */ ASSIMP_API const C_STRUCT aiScene* aiApplyPostProcessing( @@ -251,9 +251,9 @@ ASSIMP_API const C_STRUCT aiScene* aiApplyPostProcessing( unsigned int pFlags); // -------------------------------------------------------------------------------- -/** Get one of the predefine log streams. This is the quick'n'easy solution to +/** Get one of the predefine log streams. This is the quick'n'easy solution to * access Assimp's log system. Attaching a log stream can slightly reduce Assimp's - * overall import performance. + * overall import performance. * * Usage is rather simple (this will stream the log to a file, named log.txt, and * the stdout stream of the process: @@ -265,7 +265,7 @@ ASSIMP_API const C_STRUCT aiScene* aiApplyPostProcessing( * aiAttachLogStream(&c); * @endcode * - * @param pStreams One of the #aiDefaultLogStream enumerated values. + * @param pStreams One of the #aiDefaultLogStream enumerated values. * @param file Solely for the #aiDefaultLogStream_FILE flag: specifies the file to write to. * Pass NULL for all other flags. * @return The log stream. callback is set to NULL if something went wrong. @@ -278,10 +278,10 @@ ASSIMP_API C_STRUCT aiLogStream aiGetPredefinedLogStream( /** Attach a custom log stream to the libraries' logging system. * * Attaching a log stream can slightly reduce Assimp's overall import - * performance. Multiple log-streams can be attached. + * performance. Multiple log-streams can be attached. * @param stream Describes the new log stream. * @note To ensure proper destruction of the logging system, you need to manually - * call aiDetachLogStream() on every single log stream you attach. + * call aiDetachLogStream() on every single log stream you attach. * Alternatively (for the lazy folks) #aiDetachAllLogStreams is provided. */ ASSIMP_API void aiAttachLogStream( @@ -324,11 +324,11 @@ ASSIMP_API void aiDetachAllLogStreams(void); * Call this function after you're done with the imported data. * @param pScene The imported data to release. NULL is a valid value. */ -ASSIMP_API void aiReleaseImport( +ASSIMP_API void aiReleaseImport( const C_STRUCT aiScene* pScene); // -------------------------------------------------------------------------------- -/** Returns the error text of the last failed import process. +/** Returns the error text of the last failed import process. * * @return A textual description of the error that occurred at the last * import process. NULL if there was no error. There can't be an error if you @@ -360,7 +360,7 @@ ASSIMP_API void aiGetExtensionList( // -------------------------------------------------------------------------------- /** Get the approximated storage required by an imported asset * @param pIn Input asset. - * @param in Data structure to be filled. + * @param in Data structure to be filled. */ ASSIMP_API void aiGetMemoryRequirements( const C_STRUCT aiScene* pIn, @@ -383,31 +383,31 @@ ASSIMP_API C_STRUCT aiPropertyStore* aiCreatePropertyStore(void); ASSIMP_API void aiReleasePropertyStore(C_STRUCT aiPropertyStore* p); // -------------------------------------------------------------------------------- -/** Set an integer property. +/** Set an integer property. * - * This is the C-version of #Assimp::Importer::SetPropertyInteger(). In the C - * interface, properties are always shared by all imports. It is not possible to + * This is the C-version of #Assimp::Importer::SetPropertyInteger(). In the C + * interface, properties are always shared by all imports. It is not possible to * specify them per import. * * @param store Store to modify. Use #aiCreatePropertyStore to obtain a store. - * @param szName Name of the configuration property to be set. All supported + * @param szName Name of the configuration property to be set. All supported * public properties are defined in the config.h header file (AI_CONFIG_XXX). * @param value New value for the property */ ASSIMP_API void aiSetImportPropertyInteger( C_STRUCT aiPropertyStore* store, - const char* szName, + const char* szName, int value); // -------------------------------------------------------------------------------- -/** Set a floating-point property. +/** Set a floating-point property. * - * This is the C-version of #Assimp::Importer::SetPropertyFloat(). In the C - * interface, properties are always shared by all imports. It is not possible to + * This is the C-version of #Assimp::Importer::SetPropertyFloat(). In the C + * interface, properties are always shared by all imports. It is not possible to * specify them per import. * * @param store Store to modify. Use #aiCreatePropertyStore to obtain a store. - * @param szName Name of the configuration property to be set. All supported + * @param szName Name of the configuration property to be set. All supported * public properties are defined in the config.h header file (AI_CONFIG_XXX). * @param value New value for the property */ @@ -417,14 +417,14 @@ ASSIMP_API void aiSetImportPropertyFloat( float value); // -------------------------------------------------------------------------------- -/** Set a string property. +/** Set a string property. * - * This is the C-version of #Assimp::Importer::SetPropertyString(). In the C - * interface, properties are always shared by all imports. It is not possible to + * This is the C-version of #Assimp::Importer::SetPropertyString(). In the C + * interface, properties are always shared by all imports. It is not possible to * specify them per import. * * @param store Store to modify. Use #aiCreatePropertyStore to obtain a store. - * @param szName Name of the configuration property to be set. All supported + * @param szName Name of the configuration property to be set. All supported * public properties are defined in the config.h header file (AI_CONFIG_XXX). * @param st New value for the property */ @@ -434,14 +434,14 @@ ASSIMP_API void aiSetImportPropertyString( const C_STRUCT aiString* st); // -------------------------------------------------------------------------------- -/** Set a matrix property. +/** Set a matrix property. * - * This is the C-version of #Assimp::Importer::SetPropertyMatrix(). In the C - * interface, properties are always shared by all imports. It is not possible to + * This is the C-version of #Assimp::Importer::SetPropertyMatrix(). In the C + * interface, properties are always shared by all imports. It is not possible to * specify them per import. * * @param store Store to modify. Use #aiCreatePropertyStore to obtain a store. - * @param szName Name of the configuration property to be set. All supported + * @param szName Name of the configuration property to be set. All supported * public properties are defined in the config.h header file (AI_CONFIG_XXX). * @param mat New value for the property */ @@ -463,7 +463,7 @@ ASSIMP_API void aiCreateQuaternionFromMatrix( // -------------------------------------------------------------------------------- /** Decompose a transformation matrix into its rotational, translational and * scaling components. - * + * * @param mat Matrix to decompose * @param scaling Receives the scaling component * @param rotation Receives the rotational component @@ -472,7 +472,7 @@ ASSIMP_API void aiCreateQuaternionFromMatrix( */ ASSIMP_API void aiDecomposeMatrix( const C_STRUCT aiMatrix4x4* mat, - C_STRUCT aiVector3D* scaling, + C_STRUCT aiVector3D* scaling, C_STRUCT aiQuaternion* rotation, C_STRUCT aiVector3D* position); @@ -496,7 +496,7 @@ ASSIMP_API void aiTransposeMatrix3( * @param mat Matrix to transform the vector with. */ ASSIMP_API void aiTransformVecByMatrix3( - C_STRUCT aiVector3D* vec, + C_STRUCT aiVector3D* vec, const C_STRUCT aiMatrix3x3* mat); // -------------------------------------------------------------------------------- @@ -505,7 +505,7 @@ ASSIMP_API void aiTransformVecByMatrix3( * @param mat Matrix to transform the vector with. */ ASSIMP_API void aiTransformVecByMatrix4( - C_STRUCT aiVector3D* vec, + C_STRUCT aiVector3D* vec, const C_STRUCT aiMatrix4x4* mat); // -------------------------------------------------------------------------------- @@ -514,7 +514,7 @@ ASSIMP_API void aiTransformVecByMatrix4( * @param src Matrix to be multiplied with 'dst'. */ ASSIMP_API void aiMultiplyMatrix4( - C_STRUCT aiMatrix4x4* dst, + C_STRUCT aiMatrix4x4* dst, const C_STRUCT aiMatrix4x4* src); // -------------------------------------------------------------------------------- @@ -523,7 +523,7 @@ ASSIMP_API void aiMultiplyMatrix4( * @param src Matrix to be multiplied with 'dst'. */ ASSIMP_API void aiMultiplyMatrix3( - C_STRUCT aiMatrix3x3* dst, + C_STRUCT aiMatrix3x3* dst, const C_STRUCT aiMatrix3x3* src); // -------------------------------------------------------------------------------- diff --git a/include/assimp/color4.h b/include/assimp/color4.h index 459444ef1..a4d776c69 100644 --- a/include/assimp/color4.h +++ b/include/assimp/color4.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -49,7 +49,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifdef __cplusplus // ---------------------------------------------------------------------------------- -/** Represents a color in Red-Green-Blue space including an +/** Represents a color in Red-Green-Blue space including an * alpha component. Color values range from 0 to 1. */ // ---------------------------------------------------------------------------------- template @@ -57,10 +57,10 @@ class aiColor4t { public: aiColor4t () : r(), g(), b(), a() {} - aiColor4t (TReal _r, TReal _g, TReal _b, TReal _a) + aiColor4t (TReal _r, TReal _g, TReal _b, TReal _a) : r(_r), g(_g), b(_b), a(_a) {} aiColor4t (TReal _r) : r(_r), g(_r), b(_r), a(_r) {} - aiColor4t (const aiColor4t& o) + aiColor4t (const aiColor4t& o) : r(o.r), g(o.g), b(o.b), a(o.a) {} public: @@ -85,7 +85,7 @@ public: public: - // Red, green, blue and alpha color values + // Red, green, blue and alpha color values TReal r, g, b, a; } PACK_STRUCT; // !struct aiColor4D diff --git a/include/assimp/color4.inl b/include/assimp/color4.inl index d82b56914..e72d04458 100644 --- a/include/assimp/color4.inl +++ b/include/assimp/color4.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -51,26 +51,26 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiColor4t& aiColor4t::operator += (const aiColor4t& o) { - r += o.r; g += o.g; b += o.b; a += o.a; - return *this; + r += o.r; g += o.g; b += o.b; a += o.a; + return *this; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiColor4t& aiColor4t::operator -= (const aiColor4t& o) { - r -= o.r; g -= o.g; b -= o.b; a -= o.a; + r -= o.r; g -= o.g; b -= o.b; a -= o.a; return *this; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiColor4t& aiColor4t::operator *= (TReal f) { - r *= f; g *= f; b *= f; a *= f; - return *this; + r *= f; g *= f; b *= f; a *= f; + return *this; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiColor4t& aiColor4t::operator /= (TReal f) { - r /= f; g /= f; b /= f; a /= f; - return *this; + r /= f; g /= f; b /= f; a /= f; + return *this; } // ------------------------------------------------------------------------------------------------ template diff --git a/include/assimp/config.h b/include/assimp/config.h index f2aedb542..c546d8207 100644 --- a/include/assimp/config.h +++ b/include/assimp/config.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -42,11 +42,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** @file config.h * @brief Defines constants for configurable properties for the library * - * Typically these properties are set via + * Typically these properties are set via * #Assimp::Importer::SetPropertyFloat, * #Assimp::Importer::SetPropertyInteger or - * #Assimp::Importer::SetPropertyString, - * depending on the data type of a property. All properties have a + * #Assimp::Importer::SetPropertyString, + * depending on the data type of a property. All properties have a * default value. See the doc for the mentioned methods for more details. * *

@@ -71,7 +71,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * process (i.e. IO time, importing, postprocessing, ..) and dumps * these timings to the DefaultLogger. See the @link perf Performance * Page@endlink for more information on this topic. - * + * * Property type: bool. Default value: false. */ #define AI_CONFIG_GLOB_MEASURE_TIME \ @@ -130,7 +130,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. "PP_SBBC_MAX_BONES" -// default limit for bone count +// default limit for bone count #if (!defined AI_SBBC_DEFAULT_MAX_BONES) # define AI_SBBC_DEFAULT_MAX_BONES 60 #endif @@ -150,7 +150,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // --------------------------------------------------------------------------- /** @brief Source UV channel for tangent space computation. * - * The specified channel must exist or an error will be raised. + * The specified channel must exist or an error will be raised. * Property type: integer. Default value: 0 */ // --------------------------------------------------------------------------- @@ -163,8 +163,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * Sometimes referred to as 'crease angle'. * This applies to the GenSmoothNormals-Step. The angle is specified - * in degrees, so 180 is PI. The default value is 175 degrees (all vertex - * normals are smoothed). The maximum value is 175, too. Property type: float. + * in degrees, so 180 is PI. The default value is 175 degrees (all vertex + * normals are smoothed). The maximum value is 175, too. Property type: float. * Warning: setting this option may cause a severe loss of performance. The * performance is unaffected if the #AI_CONFIG_FAVOUR_SPEED flag is set but * the output quality may be reduced. @@ -180,14 +180,14 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * This must be a valid path to a file. The file is 768 (256*3) bytes * large and contains RGB triplets for each of the 256 palette entries. * The default value is colormap.lmp. If the file is not found, - * a default palette (from Quake 1) is used. + * a default palette (from Quake 1) is used. * Property type: string. */ #define AI_CONFIG_IMPORT_MDL_COLORMAP \ "IMPORT_MDL_COLORMAP" // --------------------------------------------------------------------------- -/** @brief Configures the #aiProcess_RemoveRedundantMaterials step to +/** @brief Configures the #aiProcess_RemoveRedundantMaterials step to * keep materials matching a name in a given list. * * This is a list of 1 to n strings, ' ' serves as delimiter character. @@ -196,10 +196,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * "keep-me and_me_to anotherMaterialToBeKept \'name with whitespace\'". * If a material matches on of these names, it will not be modified or * removed by the postprocessing step nor will other materials be replaced - * by a reference to it.
+ * by a reference to it.
* This option might be useful if you are using some magic material names * to pass additional semantics through the content pipeline. This ensures - * they won't be optimized away, but a general optimization is still + * they won't be optimized away, but a general optimization is still * performed for materials not contained in the list. * Property type: String. Default value: n/a * @note Linefeeds, tabs or carriage returns are treated as whitespace. @@ -211,11 +211,11 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // --------------------------------------------------------------------------- /** @brief Configures the #aiProcess_PreTransformVertices step to * keep the scene hierarchy. Meshes are moved to worldspace, but - * no optimization is performed (read: meshes with equal materials are not + * no optimization is performed (read: meshes with equal materials are not * joined. The total number of meshes won't change). * * This option could be of use for you if the scene hierarchy contains - * important additional information which you intend to parse. + * important additional information which you intend to parse. * For rendering, you can still render all meshes in the scene without * any transformations. * Property type: bool. Default value: false. @@ -228,7 +228,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * all vertex components into the [-1,1] range. That is, a bounding box * for the whole scene is computed, the maximum component is taken and all * meshes are scaled appropriately (uniformly of course!). - * This might be useful if you don't know the spatial dimension of the input + * This might be useful if you don't know the spatial dimension of the input * data*/ #define AI_CONFIG_PP_PTV_NORMALIZE \ "PP_PTV_NORMALIZE" @@ -236,7 +236,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // --------------------------------------------------------------------------- /** @brief Configures the #aiProcess_PreTransformVertices step to use * a users defined matrix as the scene root node transformation before - * transforming vertices. + * transforming vertices. * Property type: bool. Default value: false. */ #define AI_CONFIG_PP_PTV_ADD_ROOT_TRANSFORMATION \ @@ -274,10 +274,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * quotation marks. For example: * "keep-me and_me_to anotherNodeToBeKept \'name with whitespace\'". * If a node matches on of these names, it will not be modified or - * removed by the postprocessing step.
+ * removed by the postprocessing step.
* This option might be useful if you are using some magic node names * to pass additional semantics through the content pipeline. This ensures - * they won't be optimized away, but a general optimization is still + * they won't be optimized away, but a general optimization is still * performed for nodes not contained in the list. * Property type: String. Default value: n/a * @note Linefeeds, tabs or carriage returns are treated as whitespace. @@ -308,7 +308,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * This is used by the "SplitLargeMeshes" PostProcess-Step to determine * whether a mesh must be split or not. * @note The default value is AI_SLM_DEFAULT_MAX_VERTICES - * Property type: integer. + * Property type: integer. */ #define AI_CONFIG_PP_SLM_VERTEX_LIMIT \ "PP_SLM_VERTEX_LIMIT" @@ -480,7 +480,7 @@ enum aiComponent * Specifies the floating-point accuracy for animation values. The step * checks for animation tracks where all frame values are absolutely equal * and removes them. This tweakable controls the epsilon for floating-point - * comparisons - two keys are considered equal if the invariant + * comparisons - two keys are considered equal if the invariant * abs(n0-n1)>epsilon holds true for all vector respectively quaternion * components. The default value is 0.f - comparisons are exact then. */ @@ -505,7 +505,7 @@ enum aiComponent * Specifies which UV transformations are evaluated. * * This is a bitwise combination of the AI_UVTRAFO_XXX flags (integer - * property, of course). By default all transformations are enabled + * property, of course). By default all transformations are enabled * (AI_UVTRAFO_ALL). */ #define AI_CONFIG_PP_TUV_EVALUATE \ @@ -516,7 +516,7 @@ enum aiComponent * * Enabling this option may result in faster loading, but it needn't. * It represents just a hint to loaders and post-processing steps to use - * faster code paths, if possible. + * faster code paths, if possible. * This property is expected to be an integer, != 0 stands for true. * The default value is 0. */ @@ -649,7 +649,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Configures the AC loader to collect all surfaces which have the - * "Backface cull" flag set in separate meshes. + * "Backface cull" flag set in separate meshes. * * Property type: bool. Default value: true. */ @@ -659,7 +659,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Configures whether the AC loader evaluates subdivision surfaces ( * indicated by the presence of the 'subdiv' attribute in the file). By - * default, Assimp performs the subdivision using the standard + * default, Assimp performs the subdivision using the standard * Catmull-Clark algorithm * * * Property type: bool. Default value: true. @@ -677,7 +677,7 @@ enum aiComponent "UNREAL_HANDLE_FLAGS" // --------------------------------------------------------------------------- -/** @brief Configures the terragen import plugin to compute uv's for +/** @brief Configures the terragen import plugin to compute uv's for * terrains, if not given. Furthermore a default texture is assigned. * * UV coordinates for terrains are so simple to compute that you'll usually @@ -692,7 +692,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Configures the ASE loader to always reconstruct normal vectors * basing on the smoothing groups loaded from the file. - * + * * Some ASE files have carry invalid normals, other don't. * * Property type: bool. Default value: true. */ @@ -700,12 +700,12 @@ enum aiComponent "IMPORT_ASE_RECONSTRUCT_NORMALS" // --------------------------------------------------------------------------- -/** @brief Configures the M3D loader to detect and process multi-part +/** @brief Configures the M3D loader to detect and process multi-part * Quake player models. * * These models usually consist of 3 files, lower.md3, upper.md3 and * head.md3. If this property is set to true, Assimp will try to load and - * combine all three files if one of them is loaded. + * combine all three files if one of them is loaded. * Property type: bool. Default value: true. */ #define AI_CONFIG_IMPORT_MD3_HANDLE_MULTIPART \ @@ -714,9 +714,9 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Tells the MD3 loader which skin files to load. * - * When loading MD3 files, Assimp checks whether a file + * When loading MD3 files, Assimp checks whether a file * [md3_file_name]_[skin_name].skin is existing. These files are used by - * Quake III to be able to assign different skins (e.g. red and blue team) + * Quake III to be able to assign different skins (e.g. red and blue team) * to models. 'default', 'red', 'blue' are typical skin names. * Property type: String. Default value: "default". */ @@ -727,14 +727,14 @@ enum aiComponent /** @brief Specify the Quake 3 shader file to be used for a particular * MD3 file. This can also be a search path. * - * By default Assimp's behaviour is as follows: If a MD3 file - * any_path/models/any_q3_subdir/model_name/file_name.md3 is + * By default Assimp's behaviour is as follows: If a MD3 file + * any_path/models/any_q3_subdir/model_name/file_name.md3 is * loaded, the library tries to locate the corresponding shader file in * any_path/scripts/model_name.shader. This property overrides this * behaviour. It can either specify a full path to the shader to be loaded * or alternatively the path (relative or absolute) to the directory where - * the shaders for all MD3s to be loaded reside. Assimp attempts to open - * IMPORT_MD3_SHADER_SRC/model_name.shader first, IMPORT_MD3_SHADER_SRC/file_name.shader + * the shaders for all MD3s to be loaded reside. Assimp attempts to open + * IMPORT_MD3_SHADER_SRC/model_name.shader first, IMPORT_MD3_SHADER_SRC/file_name.shader * is the fallback file. Note that IMPORT_MD3_SHADER_SRC should have a terminal (back)slash. * Property type: String. Default value: n/a. */ @@ -743,7 +743,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Configures the LWO loader to load just one layer from the model. - * + * * LWO files consist of layers and in some cases it could be useful to load * only one of them. This property can be either a string - which specifies * the name of the layer - or an integer - the index of the layer. If the @@ -758,12 +758,12 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Configures the MD5 loader to not load the MD5ANIM file for * a MD5MESH file automatically. - * + * * The default strategy is to look for a file with the same name but the * MD5ANIM extension in the same directory. If it is found, it is loaded * and combined with the MD5MESH file. This configuration option can be * used to disable this behaviour. - * + * * * Property type: bool. Default value: false. */ #define AI_CONFIG_IMPORT_MD5_NO_ANIM_AUTOLOAD \ @@ -772,7 +772,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Defines the begin of the time range for which the LWS loader * evaluates animations and computes aiNodeAnim's. - * + * * Assimp provides full conversion of LightWave's envelope system, including * pre and post conditions. The loader computes linearly subsampled animation * chanels with the frame rate given in the LWS file. This property defines @@ -792,7 +792,7 @@ enum aiComponent // --------------------------------------------------------------------------- /** @brief Defines the output frame rate of the IRR loader. - * + * * IRR animations are difficult to convert for Assimp and there will * always be a loss of quality. This setting defines how many keys per second * are returned by the converter.
@@ -805,7 +805,7 @@ enum aiComponent /** @brief Ogre Importer will try to find referenced materials from this file. * * Ogre meshes reference with material names, this does not tell Assimp the file - * where it is located in. Assimp will try to find the source file in the following + * where it is located in. Assimp will try to find the source file in the following * order: .material, .material and * lastly the material name defined by this config property. *
@@ -821,11 +821,11 @@ enum aiComponent * depends on the used shader or Ogre's fixed pipeline. If this config property * is true Assimp will try to detect the type from the textures filename postfix: * _n, _nrm, _nrml, _normal, _normals and _normalmap for normal map, _s, _spec, - * _specular and _specularmap for specular map, _l, _light, _lightmap, _occ + * _specular and _specularmap for specular map, _l, _light, _lightmap, _occ * and _occlusion for light map, _disp and _displacement for displacement map. - * The matching is case insensitive. Post fix is taken between the last + * The matching is case insensitive. Post fix is taken between the last * underscore and the last period. - * Default behavior is to detect type from lower cased texture unit name by + * Default behavior is to detect type from lower cased texture unit name by * matching against: normalmap, specularmap, lightmap and displacementmap. * For both cases if no match is found aiTextureType_DIFFUSE is used. *
@@ -852,7 +852,7 @@ enum aiComponent // --------------------------------------------------------------------------- -/** @brief Specifies whether the IFC loader skips over +/** @brief Specifies whether the IFC loader skips over * shape representations of type 'Curve2D'. * * A lot of files contain both a faceted mesh representation and a outline @@ -867,7 +867,7 @@ enum aiComponent * algorithm to triangulate wall and floor meshes. * * If this property is set to false, walls will be either triangulated by - * #aiProcess_Triangulate or will be passed through as huge polygons with + * #aiProcess_Triangulate or will be passed through as huge polygons with * faked holes (i.e. holes that are connected with the outer boundary using * a dummy edge). It is highly recommended to set this property to true * if you want triangulated data because #aiProcess_Triangulate is known to diff --git a/include/assimp/defs.h b/include/assimp/defs.h index 34c9da08c..f3519cec8 100644 --- a/include/assimp/defs.h +++ b/include/assimp/defs.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -51,7 +51,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Define ASSIMP_BUILD_NO_XX_IMPORTER to disable a specific * file format loader. The loader is be excluded from the * build in this case. 'XX' stands for the most common file - * extension of the file format. E.g.: + * extension of the file format. E.g.: * ASSIMP_BUILD_NO_X_IMPORTER disables the X loader. * * If you're unsure about that, take a look at the implementation of the @@ -59,7 +59,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * first lines of the corresponding unit. * * Other (mixed) configuration switches are listed here: - * ASSIMP_BUILD_NO_COMPRESSED_X + * ASSIMP_BUILD_NO_COMPRESSED_X * - Disable support for compressed X files (zip) * ASSIMP_BUILD_NO_COMPRESSED_BLEND * - Disable support for compressed Blender files (zip) @@ -137,7 +137,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # define ASSIMP_API __declspec(dllimport) # define ASSIMP_API_WINONLY __declspec(dllimport) # else -# define ASSIMP_API +# define ASSIMP_API # define ASSIMP_API_WINONLY # endif @@ -154,7 +154,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Do nothing, the relevant defines are all in AssimpSwigPort.i */ #else - + # define AI_WONT_RETURN # define ASSIMP_API __attribute__ ((visibility("default"))) @@ -185,8 +185,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. MACRO_EXPANSION = YES EXPAND_ONLY_PREDEF = YES SEARCH_INCLUDES = YES - INCLUDE_PATH = - INCLUDE_FILE_PATTERNS = + INCLUDE_PATH = + INCLUDE_FILE_PATTERNS = PREDEFINED = ASSIMP_DOXYGEN_BUILD=1 EXPAND_AS_DEFINED = C_STRUCT C_ENUM SKIP_FUNCTION_MACROS = YES @@ -198,8 +198,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * to typedef all structs/enums. */ ////////////////////////////////////////////////////////////////////////// # if (defined ASSIMP_DOXYGEN_BUILD) -# define C_STRUCT -# define C_ENUM +# define C_STRUCT +# define C_ENUM # else # define C_STRUCT struct # define C_ENUM enum @@ -216,7 +216,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Define 'ASSIMP_BUILD_BOOST_WORKAROUND' to compile assimp * without boost. This is done by using a few workaround * classes and brings some limitations (e.g. some logging won't be done, - * the library won't utilize threads or be threadsafe at all). + * the library won't utilize threads or be threadsafe at all). * This implies the 'ASSIMP_BUILD_SINGLETHREADED' setting. */ ////////////////////////////////////////////////////////////////////////// #ifdef ASSIMP_BUILD_BOOST_WORKAROUND @@ -262,7 +262,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Support for big-endian builds */ #if defined(__BYTE_ORDER__) -# if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +# if (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) # if !defined(__BIG_ENDIAN__) # define __BIG_ENDIAN__ # endif diff --git a/include/assimp/importerdesc.h b/include/assimp/importerdesc.h index 7f4d6417b..2f939b6c0 100644 --- a/include/assimp/importerdesc.h +++ b/include/assimp/importerdesc.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -48,7 +48,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /** Mixed set of flags for #aiImporterDesc, indicating some features * common to many importers*/ -enum aiImporterFlags +enum aiImporterFlags { /** Indicates that there is a textual encoding of the * file format; and that it is supported.*/ @@ -77,14 +77,14 @@ enum aiImporterFlags /** Meta information about a particular importer. Importers need to fill - * this structure, but they can freely decide how talkative they are. + * this structure, but they can freely decide how talkative they are. * A common use case for loader meta info is a user interface * in which the user can choose between various import/export file * formats. Building such an UI by hand means a lot of maintenance * as importers/exporters are added to Assimp, so it might be useful * to have a common mechanism to query some rough importer * characteristics. */ -struct aiImporterDesc +struct aiImporterDesc { /** Full name of the importer (i.e. Blender3D importer)*/ const char* mName; @@ -103,15 +103,15 @@ struct aiImporterDesc unsigned int mFlags; /** Minimum format version that can be loaded im major.minor format, - both are set to 0 if there is either no version scheme + both are set to 0 if there is either no version scheme or if the loader doesn't care. */ unsigned int mMinMajor; unsigned int mMinMinor; /** Maximum format version that can be loaded im major.minor format, - both are set to 0 if there is either no version scheme + both are set to 0 if there is either no version scheme or if the loader doesn't care. Loaders that expect to be - forward-compatible to potential future format versions should + forward-compatible to potential future format versions should indicate zero, otherwise they should specify the current maximum version.*/ unsigned int mMaxMajor; @@ -140,4 +140,4 @@ Will return a NULL-pointer if no assigned importer desc. was found for the given */ ASSIMP_API const C_STRUCT aiImporterDesc* aiGetImporterDesc( const char *extension ); -#endif +#endif diff --git a/include/assimp/light.h b/include/assimp/light.h index 5904f9f96..c4f6f6282 100644 --- a/include/assimp/light.h +++ b/include/assimp/light.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -60,7 +60,7 @@ enum aiLightSourceType aiLightSource_UNDEFINED = 0x0, //! A directional light source has a well-defined direction - //! but is infinitely far away. That's quite a good + //! but is infinitely far away. That's quite a good //! approximation for sun light. aiLightSource_DIRECTIONAL = 0x1, @@ -69,7 +69,7 @@ enum aiLightSourceType //! directions. A normal bulb is a point light. aiLightSource_POINT = 0x2, - //! A spot light source emits light in a specific + //! A spot light source emits light in a specific //! angle. It has a position and a direction it is pointing to. //! A good example for a spot light is a light spot in //! sport arenas. @@ -79,7 +79,7 @@ enum aiLightSourceType //! of all other lightsources. //! Typically, there's at most one ambient light in a scene. //! This light type doesn't have a valid position, direction, or - //! other properties, just a color. + //! other properties, just a color. aiLightSource_AMBIENT = 0x4, @@ -135,7 +135,7 @@ struct aiLight */ C_STRUCT aiVector3D mDirection; - /** Constant light attenuation factor. + /** Constant light attenuation factor. * * The intensity of the light source at a given distance 'd' from * the light's position is @@ -147,7 +147,7 @@ struct aiLight */ float mAttenuationConstant; - /** Linear light attenuation factor. + /** Linear light attenuation factor. * * The intensity of the light source at a given distance 'd' from * the light's position is @@ -159,8 +159,8 @@ struct aiLight */ float mAttenuationLinear; - /** Quadratic light attenuation factor. - * + /** Quadratic light attenuation factor. + * * The intensity of the light source at a given distance 'd' from * the light's position is * @code @@ -173,7 +173,7 @@ struct aiLight /** Diffuse color of the light source * - * The diffuse light color is multiplied with the diffuse + * The diffuse light color is multiplied with the diffuse * material color to obtain the final color that contributes * to the diffuse shading term. */ @@ -200,7 +200,7 @@ struct aiLight /** Inner angle of a spot light's light cone. * * The spot light has maximum influence on objects inside this - * angle. The angle is given in radians. It is 2PI for point + * angle. The angle is given in radians. It is 2PI for point * lights and undefined for directional lights. */ float mAngleInnerCone; @@ -208,12 +208,12 @@ struct aiLight /** Outer angle of a spot light's light cone. * * The spot light does not affect objects outside this angle. - * The angle is given in radians. It is 2PI for point lights and + * The angle is given in radians. It is 2PI for point lights and * undefined for directional lights. The outer angle must be * greater than or equal to the inner angle. * It is assumed that the application uses a smooth * interpolation between the inner and the outer cone of the - * spot light. + * spot light. */ float mAngleOuterCone; diff --git a/include/assimp/material.h b/include/assimp/material.h index dfab4cb68..912f25165 100644 --- a/include/assimp/material.h +++ b/include/assimp/material.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -67,9 +67,9 @@ extern "C" { * DiffTextureOp0 - aiTextureOpAdd * DiffTexture1 - tex2.png * @endcode - * Written as equation, the final diffuse term for a specific pixel would be: + * Written as equation, the final diffuse term for a specific pixel would be: * @code - * diffFinal = DiffColor0 * sampleTex(DiffTexture0,UV0) + + * diffFinal = DiffColor0 * sampleTex(DiffTexture0,UV0) + * sampleTex(DiffTexture1,UV0) * diffContrib; * @endcode * where 'diffContrib' is the intensity of the incoming light for that pixel. @@ -107,7 +107,7 @@ enum aiTextureOp */ enum aiTextureMapMode { - /** A texture coordinate u|v is translated to u%1|v%1 + /** A texture coordinate u|v is translated to u%1|v%1 */ aiTextureMapMode_Wrap = 0x0, @@ -146,7 +146,7 @@ enum aiTextureMapping * * The #AI_MATKEY_UVWSRC key specifies from which UV channel * the texture coordinates are to be taken from (remember, - * meshes can have more than one UV channel). + * meshes can have more than one UV channel). */ aiTextureMapping_UV = 0x0, @@ -172,16 +172,16 @@ enum aiTextureMapping }; // --------------------------------------------------------------------------- -/** @brief Defines the purpose of a texture +/** @brief Defines the purpose of a texture * * This is a very difficult topic. Different 3D packages support different * kinds of textures. For very common texture types, such as bumpmaps, the - * rendering results depend on implementation details in the rendering + * rendering results depend on implementation details in the rendering * pipelines of these applications. Assimp loads all texture references from * the model file and tries to determine which of the predefined texture * types below is the best choice to match the original use of the texture * as closely as possible.
- * + * * In content pipelines you'll usually define how textures have to be handled, * and the artists working on models have to conform to this specification, * regardless which 3D tool they're using. @@ -190,8 +190,8 @@ enum aiTextureType { /** Dummy value. * - * No texture, but the value to be used as 'texture semantic' - * (#aiMaterialProperty::mSemantic) for all material properties + * No texture, but the value to be used as 'texture semantic' + * (#aiMaterialProperty::mSemantic) for all material properties * *not* related to textures. */ aiTextureType_NONE = 0x0, @@ -228,7 +228,7 @@ enum aiTextureType /** The texture is a (tangent space) normal-map. * * Again, there are several conventions for tangent-space - * normal maps. Assimp does (intentionally) not + * normal maps. Assimp does (intentionally) not * distinguish here. */ aiTextureType_NORMALS = 0x6, @@ -244,7 +244,7 @@ enum aiTextureType /** The texture defines per-pixel opacity. * - * Usually 'white' means opaque and 'black' means + * Usually 'white' means opaque and 'black' means * 'transparency'. Or quite the opposite. Have fun. */ aiTextureType_OPACITY = 0x8, @@ -274,7 +274,7 @@ enum aiTextureType /** Unknown texture * - * A texture reference that does not match any of the definitions + * A texture reference that does not match any of the definitions * above is considered to be 'unknown'. It is still imported, * but is excluded from any further postprocessing. */ @@ -302,12 +302,12 @@ enum aiTextureType */ enum aiShadingMode { - /** Flat shading. Shading is done on per-face base, + /** Flat shading. Shading is done on per-face base, * diffuse only. Also known as 'faceted shading'. */ aiShadingMode_Flat = 0x1, - /** Simple Gouraud shading. + /** Simple Gouraud shading. */ aiShadingMode_Gouraud = 0x2, @@ -365,8 +365,8 @@ enum aiShadingMode * * Usually you'll instruct your cg artists how textures have to look like ... * and how they will be processed in your application. However, if you use - * Assimp for completely generic loading purposes you might also need to - * process these flags in order to display as many 'unknown' 3D models as + * Assimp for completely generic loading purposes you might also need to + * process these flags in order to display as many 'unknown' 3D models as * possible correctly. * * This corresponds to the #AI_MATKEY_TEXFLAGS property. @@ -391,10 +391,10 @@ enum aiTextureFlags /** Explicit request to the application to ignore the alpha channel * of the texture. * - * Mutually exclusive with #aiTextureFlags_UseAlpha. + * Mutually exclusive with #aiTextureFlags_UseAlpha. */ aiTextureFlags_IgnoreAlpha = 0x4, - + #ifndef SWIG _aiTextureFlags_Force32Bit = INT_MAX #endif @@ -419,7 +419,7 @@ enum aiTextureFlags */ enum aiBlendMode { - /** + /** * Formula: * @code * SourceColor*SourceAlpha + DestColor*(1-SourceAlpha) @@ -451,7 +451,7 @@ enum aiBlendMode /** @brief Defines how an UV channel is transformed. * * This is just a helper structure for the #AI_MATKEY_UVTRANSFORM key. - * See its documentation for more details. + * See its documentation for more details. * * Typically you'll want to build a matrix of this information. However, * we keep separate scaling/translation/rotation values to make it @@ -459,13 +459,13 @@ enum aiBlendMode */ struct aiUVTransform { - /** Translation on the u and v axes. + /** Translation on the u and v axes. * * The default value is (0|0). */ C_STRUCT aiVector2D mTranslation; - /** Scaling on the u and v axes. + /** Scaling on the u and v axes. * * The default value is (1|1). */ @@ -495,30 +495,30 @@ struct aiUVTransform //! @cond AI_DOX_INCLUDE_INTERNAL // --------------------------------------------------------------------------- -/** @brief A very primitive RTTI system for the contents of material +/** @brief A very primitive RTTI system for the contents of material * properties. */ enum aiPropertyTypeInfo { /** Array of single-precision (32 Bit) floats * - * It is possible to use aiGetMaterialInteger[Array]() (or the C++-API - * aiMaterial::Get()) to query properties stored in floating-point format. + * It is possible to use aiGetMaterialInteger[Array]() (or the C++-API + * aiMaterial::Get()) to query properties stored in floating-point format. * The material system performs the type conversion automatically. */ aiPTI_Float = 0x1, /** The material property is an aiString. * - * Arrays of strings aren't possible, aiGetMaterialString() (or the + * Arrays of strings aren't possible, aiGetMaterialString() (or the * C++-API aiMaterial::Get()) *must* be used to query a string property. */ aiPTI_String = 0x3, /** Array of (32 Bit) integers * - * It is possible to use aiGetMaterialFloat[Array]() (or the C++-API - * aiMaterial::Get()) to query properties stored in integer format. + * It is possible to use aiGetMaterialFloat[Array]() (or the C++-API + * aiMaterial::Get()) to query properties stored in integer format. * The material system performs the type conversion automatically. */ aiPTI_Integer = 0x4, @@ -542,7 +542,7 @@ enum aiPropertyTypeInfo * * As an user, you'll probably never need to deal with this data structure. * Just use the provided aiGetMaterialXXX() or aiMaterial::Get() family - * of functions to query material properties easily. Processing them + * of functions to query material properties easily. Processing them * manually is faster, but it is not the recommended way. It isn't worth * the effort.
* Material property names follow a simple scheme: @@ -550,22 +550,22 @@ enum aiPropertyTypeInfo * $ * ? * A public property, there must be corresponding AI_MATKEY_XXX define - * 2nd: Public, but ignored by the #aiProcess_RemoveRedundantMaterials + * 2nd: Public, but ignored by the #aiProcess_RemoveRedundantMaterials * post-processing step. * ~ - * A temporary property for internal use. + * A temporary property for internal use. * @endcode * @see aiMaterial */ struct aiMaterialProperty { /** Specifies the name of the property (key) - * Keys are generally case insensitive. + * Keys are generally case insensitive. */ C_STRUCT aiString mKey; /** Textures: Specifies their exact usage semantic. - * For non-texture properties, this member is always 0 + * For non-texture properties, this member is always 0 * (or, better-said, #aiTextureType_NONE). */ unsigned int mSemantic; @@ -583,8 +583,8 @@ struct aiMaterialProperty /** Type information for the property. * * Defines the data layout inside the data buffer. This is used - * by the library internally to perform debug checks and to - * utilize proper type conversions. + * by the library internally to perform debug checks and to + * utilize proper type conversions. * (It's probably a hacky solution, but it works.) */ C_ENUM aiPropertyTypeInfo mType; @@ -641,15 +641,15 @@ public: ~aiMaterial(); // ------------------------------------------------------------------- - /** @brief Retrieve an array of Type values with a specific key + /** @brief Retrieve an array of Type values with a specific key * from the material * * @param pKey Key to search for. One of the AI_MATKEY_XXX constants. * @param type .. set by AI_MATKEY_XXX * @param idx .. set by AI_MATKEY_XXX - * @param pOut Pointer to a buffer to receive the result. + * @param pOut Pointer to a buffer to receive the result. * @param pMax Specifies the size of the given buffer, in Type's. - * Receives the number of values (not bytes!) read. + * Receives the number of values (not bytes!) read. * NULL is a valid value for this parameter. */ template @@ -663,7 +663,7 @@ public: unsigned int idx, float* pOut, unsigned int* pMax) const; // ------------------------------------------------------------------- - /** @brief Retrieve a Type value with a specific key + /** @brief Retrieve a Type value with a specific key * from the material * * @param pKey Key to search for. One of the AI_MATKEY_XXX constants. @@ -703,7 +703,7 @@ public: unsigned int GetTextureCount(aiTextureType type) const; // ------------------------------------------------------------------- - /** Helper function to get all parameters pertaining to a + /** Helper function to get all parameters pertaining to a * particular texture slot from a material. * * This function is provided just for convenience, you could also @@ -711,14 +711,14 @@ public: * @param type Specifies the type of the texture to be retrieved ( * e.g. diffuse, specular, height map ...) * @param index Index of the texture to be retrieved. The function fails - * if there is no texture of that type with this index. + * if there is no texture of that type with this index. * #GetTextureCount() can be used to determine the number of textures * per texture type. * @param path Receives the path to the texture. * NULL is a valid value. * @param mapping The texture mapping. * NULL is allowed as value. - * @param uvindex Receives the UV index of the texture. + * @param uvindex Receives the UV index of the texture. * NULL is a valid value. * @param blend Receives the blend factor for the texture * NULL is a valid value. @@ -727,7 +727,7 @@ public: * @param mapmode Receives the mapping modes to be used for the texture. * The parameter may be NULL but if it is a valid pointer it MUST * point to an array of 3 aiTextureMapMode's (one for each - * axis: UVW order (=XYZ)). + * axis: UVW order (=XYZ)). */ // ------------------------------------------------------------------- aiReturn GetTexture(aiTextureType type, @@ -737,7 +737,7 @@ public: unsigned int* uvindex = NULL, float* blend = NULL, aiTextureOp* op = NULL, - aiTextureMapMode* mapmode = NULL) const; + aiTextureMapMode* mapmode = NULL) const; // Setters @@ -745,7 +745,7 @@ public: // ------------------------------------------------------------------------------ /** @brief Add a property with a given key and type info to the material - * structure + * structure * * @param pInput Pointer to input data * @param pSizeInBytes Size of input data @@ -761,8 +761,8 @@ public: aiPropertyTypeInfo pType); // ------------------------------------------------------------------------------ - /** @brief Add a string property with a given key and type info to the - * material structure + /** @brief Add a string property with a given key and type info to the + * material structure * * @param pInput Input string * @param pKey Key/Usage of the property (AI_MATKEY_XXX) @@ -774,7 +774,7 @@ public: unsigned int index = 0); // ------------------------------------------------------------------------------ - /** @brief Add a property with a given key to the material structure + /** @brief Add a property with a given key to the material structure * @param pInput Pointer to the input data * @param pNumValues Number of values in the array * @param pKey Key/Usage of the property (AI_MATKEY_XXX) @@ -827,7 +827,7 @@ public: /** @brief Remove a given key from the list. * * The function fails if the key isn't found - * @param pKey Key to be deleted + * @param pKey Key to be deleted * @param type Set by the AI_MATKEY_XXX macro * @param index Set by the AI_MATKEY_XXX macro */ aiReturn RemoveProperty (const char* pKey, @@ -845,7 +845,7 @@ public: * @param pcDest Destination material * @param pcSrc Source material */ - static void CopyPropertyList(aiMaterial* pcDest, + static void CopyPropertyList(aiMaterial* pcDest, const aiMaterial* pcSrc); @@ -1311,14 +1311,14 @@ extern "C" { * structure or NULL if the key has not been found. */ // --------------------------------------------------------------------------- ASSIMP_API C_ENUM aiReturn aiGetMaterialProperty( - const C_STRUCT aiMaterial* pMat, + const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, const C_STRUCT aiMaterialProperty** pPropOut); // --------------------------------------------------------------------------- -/** @brief Retrieve an array of float values with a specific key +/** @brief Retrieve an array of float values with a specific key * from the material * * Pass one of the AI_MATKEY_XXX constants for the last three parameters (the @@ -1329,22 +1329,22 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialProperty( * if (AI_SUCCESS != aiGetMaterialFloatArray(mat, AI_MATKEY_UVTRANSFORM(aiTextureType_DIFFUSE,0), * (float*)&trafo, &max) || sizeof(aiUVTransform) != max) * { - * // error handling + * // error handling * } * @endcode * * @param pMat Pointer to the input material. May not be NULL * @param pKey Key to search for. One of the AI_MATKEY_XXX constants. - * @param pOut Pointer to a buffer to receive the result. + * @param pOut Pointer to a buffer to receive the result. * @param pMax Specifies the size of the given buffer, in float's. - * Receives the number of values (not bytes!) read. + * Receives the number of values (not bytes!) read. * @param type (see the code sample above) * @param index (see the code sample above) * @return Specifies whether the key has been found. If not, the output * arrays remains unmodified and pMax is set to 0.*/ // --------------------------------------------------------------------------- ASSIMP_API C_ENUM aiReturn aiGetMaterialFloatArray( - const C_STRUCT aiMaterial* pMat, + const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1373,7 +1373,7 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialFloatArray( * @return Specifies whether the key has been found. If not, the output * float remains unmodified.*/ // --------------------------------------------------------------------------- -inline aiReturn aiGetMaterialFloat(const aiMaterial* pMat, +inline aiReturn aiGetMaterialFloat(const aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1382,7 +1382,7 @@ inline aiReturn aiGetMaterialFloat(const aiMaterial* pMat, return aiGetMaterialFloatArray(pMat,pKey,type,index,pOut,(unsigned int*)0x0); } -#else +#else // Use our friend, the C preprocessor #define aiGetMaterialFloat (pMat, type, index, pKey, pOut) \ @@ -1392,11 +1392,11 @@ inline aiReturn aiGetMaterialFloat(const aiMaterial* pMat, // --------------------------------------------------------------------------- -/** @brief Retrieve an array of integer values with a specific key +/** @brief Retrieve an array of integer values with a specific key * from a material * * See the sample for aiGetMaterialFloatArray for more information.*/ -ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray(const C_STRUCT aiMaterial* pMat, +ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray(const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1411,7 +1411,7 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialIntegerArray(const C_STRUCT aiMaterial* * * See the sample for aiGetMaterialFloat for more information.*/ // --------------------------------------------------------------------------- -inline aiReturn aiGetMaterialInteger(const C_STRUCT aiMaterial* pMat, +inline aiReturn aiGetMaterialInteger(const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1420,7 +1420,7 @@ inline aiReturn aiGetMaterialInteger(const C_STRUCT aiMaterial* pMat, return aiGetMaterialIntegerArray(pMat,pKey,type,index,pOut,(unsigned int*)0x0); } -#else +#else // use our friend, the C preprocessor #define aiGetMaterialInteger (pMat, type, index, pKey, pOut) \ @@ -1435,7 +1435,7 @@ inline aiReturn aiGetMaterialInteger(const C_STRUCT aiMaterial* pMat, * * See the sample for aiGetMaterialFloat for more information*/ // --------------------------------------------------------------------------- -ASSIMP_API C_ENUM aiReturn aiGetMaterialColor(const C_STRUCT aiMaterial* pMat, +ASSIMP_API C_ENUM aiReturn aiGetMaterialColor(const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1447,7 +1447,7 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialColor(const C_STRUCT aiMaterial* pMat, * * See the sample for aiGetMaterialFloat for more information*/ // --------------------------------------------------------------------------- -ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform(const C_STRUCT aiMaterial* pMat, +ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform(const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1459,7 +1459,7 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialUVTransform(const C_STRUCT aiMaterial* p * * See the sample for aiGetMaterialFloat for more information.*/ // --------------------------------------------------------------------------- -ASSIMP_API C_ENUM aiReturn aiGetMaterialString(const C_STRUCT aiMaterial* pMat, +ASSIMP_API C_ENUM aiReturn aiGetMaterialString(const C_STRUCT aiMaterial* pMat, const char* pKey, unsigned int type, unsigned int index, @@ -1472,7 +1472,7 @@ ASSIMP_API C_ENUM aiReturn aiGetMaterialString(const C_STRUCT aiMaterial* pMat, * @return Number of textures for this type. * @note A texture can be easily queried using #aiGetMaterialTexture() */ // --------------------------------------------------------------------------- -ASSIMP_API unsigned int aiGetMaterialTextureCount(const C_STRUCT aiMaterial* pMat, +ASSIMP_API unsigned int aiGetMaterialTextureCount(const C_STRUCT aiMaterial* pMat, C_ENUM aiTextureType type); // --------------------------------------------------------------------------- @@ -1485,9 +1485,9 @@ ASSIMP_API unsigned int aiGetMaterialTextureCount(const C_STRUCT aiMaterial* pMa * * @param[in] mat Pointer to the input material. May not be NULL * @param[in] type Specifies the texture stack to read from (e.g. diffuse, - * specular, height map ...). - * @param[in] index Index of the texture. The function fails if the - * requested index is not available for this texture type. + * specular, height map ...). + * @param[in] index Index of the texture. The function fails if the + * requested index is not available for this texture type. * #aiGetMaterialTextureCount() can be used to determine the number of * textures in a particular texture stack. * @param[out] path Receives the output path @@ -1519,7 +1519,7 @@ ASSIMP_API aiReturn aiGetMaterialTexture(const C_STRUCT aiMaterial* mat, float* blend = NULL, aiTextureOp* op = NULL, aiTextureMapMode* mapmode = NULL, - unsigned int* flags = NULL); + unsigned int* flags = NULL); #else C_ENUM aiReturn aiGetMaterialTexture(const C_STRUCT aiMaterial* mat, C_ENUM aiTextureType type, @@ -1530,7 +1530,7 @@ C_ENUM aiReturn aiGetMaterialTexture(const C_STRUCT aiMaterial* mat, float* blend /*= NULL*/, C_ENUM aiTextureOp* op /*= NULL*/, C_ENUM aiTextureMapMode* mapmode /*= NULL*/, - unsigned int* flags /*= NULL*/); + unsigned int* flags /*= NULL*/); #endif // !#ifdef __cplusplus #ifdef __cplusplus diff --git a/include/assimp/material.inl b/include/assimp/material.inl index 4f9d982e4..4e6e0d461 100644 --- a/include/assimp/material.inl +++ b/include/assimp/material.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ diff --git a/include/assimp/matrix3x3.h b/include/assimp/matrix3x3.h index aa5655935..719100ec5 100644 --- a/include/assimp/matrix3x3.h +++ b/include/assimp/matrix3x3.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -55,7 +55,7 @@ template class aiVector2t; // --------------------------------------------------------------------------- /** @brief Represents a row-major 3x3 matrix * - * There's much confusion about matrix layouts (column vs. row order). + * There's much confusion about matrix layouts (column vs. row order). * This is *always* a row-major matrix. Not even with the * #aiProcess_ConvertToLeftHanded flag, which absolutely does not affect * matrix order - it just affects the handedness of the coordinate system @@ -66,22 +66,22 @@ class aiMatrix3x3t { public: - aiMatrix3x3t () : - a1(static_cast(1.0f)), a2(), a3(), - b1(), b2(static_cast(1.0f)), b3(), + aiMatrix3x3t () : + a1(static_cast(1.0f)), a2(), a3(), + b1(), b2(static_cast(1.0f)), b3(), c1(), c2(), c3(static_cast(1.0f)) {} aiMatrix3x3t ( TReal _a1, TReal _a2, TReal _a3, TReal _b1, TReal _b2, TReal _b3, - TReal _c1, TReal _c2, TReal _c3) : - a1(_a1), a2(_a2), a3(_a3), - b1(_b1), b2(_b2), b3(_b3), + TReal _c1, TReal _c2, TReal _c3) : + a1(_a1), a2(_a2), a3(_a3), + b1(_b1), b2(_b2), b3(_b3), c1(_c1), c2(_c2), c3(_c3) {} public: - // matrix multiplication. + // matrix multiplication. aiMatrix3x3t& operator *= (const aiMatrix3x3t& m); aiMatrix3x3t operator * (const aiMatrix3x3t& m) const; @@ -101,7 +101,7 @@ public: public: // ------------------------------------------------------------------- - /** @brief Construction from a 4x4 matrix. The remaining parts + /** @brief Construction from a 4x4 matrix. The remaining parts * of the matrix are ignored. */ explicit aiMatrix3x3t( const aiMatrix4x4t& pMatrix); @@ -136,11 +136,11 @@ public: * @param axis Axis to rotate around * @param out To be filled */ - static aiMatrix3x3t& Rotation( TReal a, + static aiMatrix3x3t& Rotation( TReal a, const aiVector3t& axis, aiMatrix3x3t& out); // ------------------------------------------------------------------- - /** @brief Returns a translation matrix + /** @brief Returns a translation matrix * @param v Translation vector * @param out Receives the output matrix * @return Reference to the output matrix @@ -156,7 +156,7 @@ public: * "Efficiently Building a Matrix to Rotate One Vector to Another" * Journal of Graphics Tools, 4(4):1-4, 1999 */ - static aiMatrix3x3t& FromToMatrix(const aiVector3t& from, + static aiMatrix3x3t& FromToMatrix(const aiVector3t& from, const aiVector3t& to, aiMatrix3x3t& out); public: diff --git a/include/assimp/matrix3x3.inl b/include/assimp/matrix3x3.inl index abe481c3f..0cc047ee0 100644 --- a/include/assimp/matrix3x3.inl +++ b/include/assimp/matrix3x3.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -167,10 +167,10 @@ inline aiMatrix3x3t& aiMatrix3x3t::Inverse() { // Compute the reciprocal determinant TReal det = Determinant(); - if(det == static_cast(0.0)) + if(det == static_cast(0.0)) { // Matrix not invertible. Setting all elements to nan is not really - // correct in a mathematical sense; but at least qnans are easy to + // correct in a mathematical sense; but at least qnans are easy to // spot. XXX we might throw an exception instead, which would // be even much better to spot :/. const TReal nan = std::numeric_limits::quiet_NaN(); @@ -247,7 +247,7 @@ inline aiMatrix3x3t& aiMatrix3x3t::Translation( const aiVector2t -inline aiMatrix3x3t& aiMatrix3x3t::FromToMatrix(const aiVector3t& from, +inline aiMatrix3x3t& aiMatrix3x3t::FromToMatrix(const aiVector3t& from, const aiVector3t& to, aiMatrix3x3t& mtx) { const TReal e = from * to; @@ -292,9 +292,9 @@ inline aiMatrix3x3t& aiMatrix3x3t::FromToMatrix(const aiVector3t(2.0) / (v * v); const TReal c3 = c1 * c2 * (u * v); - for (unsigned int i = 0; i < 3; i++) + for (unsigned int i = 0; i < 3; i++) { - for (unsigned int j = 0; j < 3; j++) + for (unsigned int j = 0; j < 3; j++) { mtx[i][j] = - c1 * u[i] * u[j] - c2 * v[i] * v[j] + c3 * v[i] * u[j]; diff --git a/include/assimp/matrix4x4.h b/include/assimp/matrix4x4.h index d3c80985f..0f13328c0 100644 --- a/include/assimp/matrix4x4.h +++ b/include/assimp/matrix4x4.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -56,7 +56,7 @@ template class aiQuaterniont; /** @brief Represents a row-major 4x4 matrix, use this for homogeneous * coordinates. * - * There's much confusion about matrix layouts (column vs. row order). + * There's much confusion about matrix layouts (column vs. row order). * This is *always* a row-major matrix. Not even with the * #aiProcess_ConvertToLeftHanded flag, which absolutely does not affect * matrix order - it just affects the handedness of the coordinate system @@ -66,7 +66,7 @@ template class aiMatrix4x4t { public: - + /** set to identity */ aiMatrix4x4t (); @@ -79,10 +79,10 @@ public: /** construction from 3x3 matrix, remaining elements are set to identity */ explicit aiMatrix4x4t( const aiMatrix3x3t& m); - + /** construction from position, rotation and scaling components * @param scaling The scaling for the x,y,z axes - * @param rotation The rotation as a hamilton quaternion + * @param rotation The rotation as a hamilton quaternion * @param position The position for the x,y,z axes */ aiMatrix4x4t(const aiVector3t& scaling, const aiQuaterniont& rotation, @@ -100,7 +100,7 @@ public: bool Equal(const aiMatrix4x4t& m, TReal epsilon = 1e-6) const; - // matrix multiplication. + // matrix multiplication. aiMatrix4x4t& operator *= (const aiMatrix4x4t& m); aiMatrix4x4t operator * (const aiMatrix4x4t& m) const; @@ -132,17 +132,17 @@ public: /** @brief Decompose a trafo matrix into its original components * @param scaling Receives the output scaling for the x,y,z axes * @param rotation Receives the output rotation as a hamilton - * quaternion + * quaternion * @param position Receives the output position for the x,y,z axes */ void Decompose (aiVector3t& scaling, aiQuaterniont& rotation, aiVector3t& position) const; // ------------------------------------------------------------------- - /** @brief Decompose a trafo matrix with no scaling into its + /** @brief Decompose a trafo matrix with no scaling into its * original components * @param rotation Receives the output rotation as a hamilton - * quaternion + * quaternion * @param position Receives the output position for the x,y,z axes */ void DecomposeNoScaling (aiQuaterniont& rotation, @@ -190,11 +190,11 @@ public: * @param out Receives the output matrix * @return Reference to the output matrix */ - static aiMatrix4x4t& Rotation(TReal a, const aiVector3t& axis, + static aiMatrix4x4t& Rotation(TReal a, const aiVector3t& axis, aiMatrix4x4t& out); // ------------------------------------------------------------------- - /** @brief Returns a translation matrix + /** @brief Returns a translation matrix * @param v Translation vector * @param out Receives the output matrix * @return Reference to the output matrix @@ -202,7 +202,7 @@ public: static aiMatrix4x4t& Translation( const aiVector3t& v, aiMatrix4x4t& out); // ------------------------------------------------------------------- - /** @brief Returns a scaling matrix + /** @brief Returns a scaling matrix * @param v Scaling vector * @param out Receives the output matrix * @return Reference to the output matrix @@ -218,7 +218,7 @@ public: * "Efficiently Building a Matrix to Rotate One Vector to Another" * Journal of Graphics Tools, 4(4):1-4, 1999 */ - static aiMatrix4x4t& FromToMatrix(const aiVector3t& from, + static aiMatrix4x4t& FromToMatrix(const aiVector3t& from, const aiVector3t& to, aiMatrix4x4t& out); public: @@ -228,7 +228,7 @@ public: TReal c1, c2, c3, c4; TReal d1, d2, d3, d4; -} PACK_STRUCT; +} PACK_STRUCT; typedef aiMatrix4x4t aiMatrix4x4; diff --git a/include/assimp/matrix4x4.inl b/include/assimp/matrix4x4.inl index 44479ed9d..81f01ffef 100644 --- a/include/assimp/matrix4x4.inl +++ b/include/assimp/matrix4x4.inl @@ -118,7 +118,7 @@ inline aiMatrix4x4t::aiMatrix4x4t (const aiVector3t& scaling, cons b2 = m.b2 * scaling.y; b3 = m.b3 * scaling.y; b4 = position.y; - + c1 = m.c1 * scaling.z; c2 = m.c2 * scaling.z; c3 = m.c3 * scaling.z; diff --git a/include/assimp/mesh.h b/include/assimp/mesh.h index ca553d4df..4ef44d606 100644 --- a/include/assimp/mesh.h +++ b/include/assimp/mesh.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,22 +25,22 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ /** @file mesh.h - * @brief Declares the data structures in which the imported geometry is + * @brief Declares the data structures in which the imported geometry is returned by ASSIMP: aiMesh, aiFace and aiBone data structures. */ #ifndef INCLUDED_AI_MESH_H @@ -53,15 +53,15 @@ extern "C" { #endif // --------------------------------------------------------------------------- -// Limits. These values are required to match the settings Assimp was -// compiled against. Therfore, do not redefine them unless you build the +// Limits. These values are required to match the settings Assimp was +// compiled against. Therfore, do not redefine them unless you build the // library from source using the same definitions. // --------------------------------------------------------------------------- /** @def AI_MAX_FACE_INDICES * Maximum number of indices per face (polygon). */ -#ifndef AI_MAX_FACE_INDICES +#ifndef AI_MAX_FACE_INDICES # define AI_MAX_FACE_INDICES 0x7fff #endif @@ -101,35 +101,35 @@ extern "C" { #endif // !! AI_MAX_NUMBER_OF_TEXTURECOORDS // --------------------------------------------------------------------------- -/** @brief A single face in a mesh, referring to multiple vertices. +/** @brief A single face in a mesh, referring to multiple vertices. * - * If mNumIndices is 3, we call the face 'triangle', for mNumIndices > 3 + * If mNumIndices is 3, we call the face 'triangle', for mNumIndices > 3 * it's called 'polygon' (hey, that's just a definition!). *
* aiMesh::mPrimitiveTypes can be queried to quickly examine which types of - * primitive are actually present in a mesh. The #aiProcess_SortByPType flag + * primitive are actually present in a mesh. The #aiProcess_SortByPType flag * executes a special post-processing algorithm which splits meshes with * *different* primitive types mixed up (e.g. lines and triangles) in several * 'clean' submeshes. Furthermore there is a configuration option ( - * #AI_CONFIG_PP_SBP_REMOVE) to force #aiProcess_SortByPType to remove + * #AI_CONFIG_PP_SBP_REMOVE) to force #aiProcess_SortByPType to remove * specific kinds of primitives from the imported scene, completely and forever. - * In many cases you'll probably want to set this setting to - * @code + * In many cases you'll probably want to set this setting to + * @code * aiPrimitiveType_LINE|aiPrimitiveType_POINT * @endcode * Together with the #aiProcess_Triangulate flag you can then be sure that - * #aiFace::mNumIndices is always 3. + * #aiFace::mNumIndices is always 3. * @note Take a look at the @link data Data Structures page @endlink for * more information on the layout and winding order of a face. */ struct aiFace { - //! Number of indices defining this face. + //! Number of indices defining this face. //! The maximum value for this member is #AI_MAX_FACE_INDICES. - unsigned int mNumIndices; + unsigned int mNumIndices; //! Pointer to the indices array. Size of the array is given in numIndices. - unsigned int* mIndices; + unsigned int* mIndices; #ifdef __cplusplus @@ -171,7 +171,7 @@ struct aiFace return *this; } - //! Comparison operator. Checks whether the index array + //! Comparison operator. Checks whether the index array //! of two faces is identical bool operator== (const aiFace& o) const { @@ -185,7 +185,7 @@ struct aiFace return false; } - //! Inverse comparison operator. Checks whether the index + //! Inverse comparison operator. Checks whether the index //! array of two faces is NOT identical bool operator != (const aiFace& o) const { @@ -205,7 +205,7 @@ struct aiVertexWeight //! The strength of the influence in the range (0...1). //! The influence from all bones at one vertex amounts to 1. - float mWeight; + float mWeight; #ifdef __cplusplus @@ -215,8 +215,8 @@ struct aiVertexWeight //! Initialisation from a given index and vertex weight factor //! \param pID ID //! \param pWeight Vertex weight factor - aiVertexWeight( unsigned int pID, float pWeight) - : mVertexId( pID), mWeight( pWeight) + aiVertexWeight( unsigned int pID, float pWeight) + : mVertexId( pID), mWeight( pWeight) { /* nothing to do here */ } #endif // __cplusplus @@ -227,12 +227,12 @@ struct aiVertexWeight /** @brief A single bone of a mesh. * * A bone has a name by which it can be found in the frame hierarchy and by - * which it can be addressed by animations. In addition it has a number of + * which it can be addressed by animations. In addition it has a number of * influences on vertices. */ struct aiBone { - //! The name of the bone. + //! The name of the bone. C_STRUCT aiString mName; //! The number of vertices affected by this bone @@ -278,7 +278,7 @@ struct aiBone // --------------------------------------------------------------------------- /** @brief Enumerates the types of geometric primitives supported by Assimp. - * + * * @see aiFace Face data structure * @see aiProcess_SortByPType Per-primitive sorting of meshes * @see aiProcess_Triangulate Automatic triangulation @@ -286,21 +286,21 @@ struct aiBone */ enum aiPrimitiveType { - /** A point primitive. + /** A point primitive. * - * This is just a single vertex in the virtual world, + * This is just a single vertex in the virtual world, * #aiFace contains just one index for such a primitive. */ aiPrimitiveType_POINT = 0x1, - /** A line primitive. + /** A line primitive. * * This is a line defined through a start and an end position. * #aiFace contains exactly two indices for such a primitive. */ aiPrimitiveType_LINE = 0x2, - /** A triangular primitive. + /** A triangular primitive. * * A triangle consists of three indices. */ @@ -331,19 +331,19 @@ enum aiPrimitiveType // --------------------------------------------------------------------------- -/** @brief NOT CURRENTLY IN USE. An AnimMesh is an attachment to an #aiMesh stores per-vertex +/** @brief NOT CURRENTLY IN USE. An AnimMesh is an attachment to an #aiMesh stores per-vertex * animations for a particular frame. - * + * * You may think of an #aiAnimMesh as a `patch` for the host mesh, which - * replaces only certain vertex data streams at a particular time. + * replaces only certain vertex data streams at a particular time. * Each mesh stores n attached attached meshes (#aiMesh::mAnimMeshes). - * The actual relationship between the time line and anim meshes is + * The actual relationship between the time line and anim meshes is * established by #aiMeshAnim, which references singular mesh attachments * by their ID and binds them to a time offset. */ struct aiAnimMesh { - /** Replacement for aiMesh::mVertices. If this array is non-NULL, + /** Replacement for aiMesh::mVertices. If this array is non-NULL, * it *must* contain mNumVertices entries. The corresponding * array in the host mesh must be non-NULL as well - animation * meshes may neither add or nor remove vertex components (if @@ -393,10 +393,10 @@ struct aiAnimMesh mColors[a] = NULL; } } - + ~aiAnimMesh() { - delete [] mVertices; + delete [] mVertices; delete [] mNormals; delete [] mTangents; delete [] mBitangents; @@ -408,37 +408,37 @@ struct aiAnimMesh } } - /** Check whether the anim mesh overrides the vertex positions - * of its host mesh*/ + /** Check whether the anim mesh overrides the vertex positions + * of its host mesh*/ bool HasPositions() const { - return mVertices != NULL; + return mVertices != NULL; } /** Check whether the anim mesh overrides the vertex normals - * of its host mesh*/ - bool HasNormals() const { - return mNormals != NULL; + * of its host mesh*/ + bool HasNormals() const { + return mNormals != NULL; } /** Check whether the anim mesh overrides the vertex tangents * and bitangents of its host mesh. As for aiMesh, - * tangents and bitangents always go together. */ - bool HasTangentsAndBitangents() const { - return mTangents != NULL; + * tangents and bitangents always go together. */ + bool HasTangentsAndBitangents() const { + return mTangents != NULL; } /** Check whether the anim mesh overrides a particular - * set of vertex colors on his host mesh. - * @param pIndex 0= AI_MAX_NUMBER_OF_COLOR_SETS ? false : mColors[pIndex] != NULL; + * set of vertex colors on his host mesh. + * @param pIndex 0= AI_MAX_NUMBER_OF_COLOR_SETS ? false : mColors[pIndex] != NULL; } /** Check whether the anim mesh overrides a particular - * set of texture coordinates on his host mesh. - * @param pIndex 0= AI_MAX_NUMBER_OF_TEXTURECOORDS ? false : mTextureCoords[pIndex] != NULL; + * set of texture coordinates on his host mesh. + * @param pIndex 0= AI_MAX_NUMBER_OF_TEXTURECOORDS ? false : mTextureCoords[pIndex] != NULL; } #endif @@ -446,20 +446,20 @@ struct aiAnimMesh // --------------------------------------------------------------------------- -/** @brief A mesh represents a geometry or model with a single material. +/** @brief A mesh represents a geometry or model with a single material. * -* It usually consists of a number of vertices and a series of primitives/faces -* referencing the vertices. In addition there might be a series of bones, each -* of them addressing a number of vertices with a certain weight. Vertex data -* is presented in channels with each channel containing a single per-vertex +* It usually consists of a number of vertices and a series of primitives/faces +* referencing the vertices. In addition there might be a series of bones, each +* of them addressing a number of vertices with a certain weight. Vertex data +* is presented in channels with each channel containing a single per-vertex * information such as a set of texture coords or a normal vector. * If a data pointer is non-null, the corresponding data stream is present. * From C++-programs you can also use the comfort functions Has*() to * test for the presence of various data streams. * * A Mesh uses only a single material which is referenced by a material ID. -* @note The mPositions member is usually not optional. However, vertex positions -* *could* be missing if the #AI_SCENE_FLAGS_INCOMPLETE flag is set in +* @note The mPositions member is usually not optional. However, vertex positions +* *could* be missing if the #AI_SCENE_FLAGS_INCOMPLETE flag is set in * @code * aiScene::mFlags * @endcode @@ -468,31 +468,31 @@ struct aiMesh { /** Bitwise combination of the members of the #aiPrimitiveType enum. * This specifies which types of primitives are present in the mesh. - * The "SortByPrimitiveType"-Step can be used to make sure the + * The "SortByPrimitiveType"-Step can be used to make sure the * output meshes consist of one primitive type each. */ unsigned int mPrimitiveTypes; - /** The number of vertices in this mesh. + /** The number of vertices in this mesh. * This is also the size of all of the per-vertex data arrays. * The maximum value for this member is #AI_MAX_VERTICES. */ unsigned int mNumVertices; - /** The number of primitives (triangles, polygons, lines) in this mesh. + /** The number of primitives (triangles, polygons, lines) in this mesh. * This is also the size of the mFaces array. * The maximum value for this member is #AI_MAX_FACES. */ unsigned int mNumFaces; - /** Vertex positions. - * This array is always present in a mesh. The array is - * mNumVertices in size. + /** Vertex positions. + * This array is always present in a mesh. The array is + * mNumVertices in size. */ C_STRUCT aiVector3D* mVertices; - /** Vertex normals. - * The array contains normalized vectors, NULL if not present. + /** Vertex normals. + * The array contains normalized vectors, NULL if not present. * The array is mNumVertices in size. Normals are undefined for * point and line primitives. A mesh consisting of points and * lines only may not have normal vectors. Meshes with mixed @@ -513,31 +513,31 @@ struct aiMesh */ C_STRUCT aiVector3D* mNormals; - /** Vertex tangents. - * The tangent of a vertex points in the direction of the positive + /** Vertex tangents. + * The tangent of a vertex points in the direction of the positive * X texture axis. The array contains normalized vectors, NULL if - * not present. The array is mNumVertices in size. A mesh consisting - * of points and lines only may not have normal vectors. Meshes with - * mixed primitive types (i.e. lines and triangles) may have + * not present. The array is mNumVertices in size. A mesh consisting + * of points and lines only may not have normal vectors. Meshes with + * mixed primitive types (i.e. lines and triangles) may have * normals, but the normals for vertices that are only referenced by * point or line primitives are undefined and set to qNaN. See * the #mNormals member for a detailled discussion of qNaNs. - * @note If the mesh contains tangents, it automatically also + * @note If the mesh contains tangents, it automatically also * contains bitangents. */ C_STRUCT aiVector3D* mTangents; - /** Vertex bitangents. - * The bitangent of a vertex points in the direction of the positive + /** Vertex bitangents. + * The bitangent of a vertex points in the direction of the positive * Y texture axis. The array contains normalized vectors, NULL if not - * present. The array is mNumVertices in size. + * present. The array is mNumVertices in size. * @note If the mesh contains tangents, it automatically also contains - * bitangents. + * bitangents. */ C_STRUCT aiVector3D* mBitangents; - /** Vertex color sets. - * A mesh may contain 0 to #AI_MAX_NUMBER_OF_COLOR_SETS vertex + /** Vertex color sets. + * A mesh may contain 0 to #AI_MAX_NUMBER_OF_COLOR_SETS vertex * colors per vertex. NULL if not present. Each array is * mNumVertices in size if present. */ @@ -545,7 +545,7 @@ struct aiMesh /** Vertex texture coords, also known as UV channels. * A mesh may contain 0 to AI_MAX_NUMBER_OF_TEXTURECOORDS per - * vertex. NULL if not present. The array is mNumVertices in size. + * vertex. NULL if not present. The array is mNumVertices in size. */ C_STRUCT aiVector3D* mTextureCoords[AI_MAX_NUMBER_OF_TEXTURECOORDS]; @@ -554,39 +554,39 @@ struct aiMesh * or cube maps). If the value is 2 for a given channel n, the * component p.z of mTextureCoords[n][p] is set to 0.0f. * If the value is 1 for a given channel, p.y is set to 0.0f, too. - * @note 4D coords are not supported + * @note 4D coords are not supported */ unsigned int mNumUVComponents[AI_MAX_NUMBER_OF_TEXTURECOORDS]; - /** The faces the mesh is constructed from. - * Each face refers to a number of vertices by their indices. - * This array is always present in a mesh, its size is given + /** The faces the mesh is constructed from. + * Each face refers to a number of vertices by their indices. + * This array is always present in a mesh, its size is given * in mNumFaces. If the #AI_SCENE_FLAGS_NON_VERBOSE_FORMAT * is NOT set each face references an unique set of vertices. */ C_STRUCT aiFace* mFaces; - /** The number of bones this mesh contains. - * Can be 0, in which case the mBones array is NULL. + /** The number of bones this mesh contains. + * Can be 0, in which case the mBones array is NULL. */ unsigned int mNumBones; - /** The bones of this mesh. + /** The bones of this mesh. * A bone consists of a name by which it can be found in the * frame hierarchy and a set of vertex weights. */ C_STRUCT aiBone** mBones; - /** The material used by this mesh. + /** The material used by this mesh. * A mesh does use only a single material. If an imported model uses - * multiple materials, the import splits up the mesh. Use this value + * multiple materials, the import splits up the mesh. Use this value * as index into the scene's material list. */ unsigned int mMaterialIndex; /** Name of the mesh. Meshes can be named, but this is not a * requirement and leaving this field empty is totally fine. - * There are mainly three uses for mesh names: + * There are mainly three uses for mesh names: * - some formats name nodes and meshes independently. * - importers tend to split meshes up to meet the * one-material-per-mesh requirement. Assigning @@ -601,7 +601,7 @@ struct aiMesh /** NOT CURRENTLY IN USE. The number of attachment meshes */ unsigned int mNumAnimMeshes; - /** NOT CURRENTLY IN USE. Attachment meshes for this mesh, for vertex-based animation. + /** NOT CURRENTLY IN USE. Attachment meshes for this mesh, for vertex-based animation. * Attachment meshes carry replacement data for some of the * mesh'es vertex components (usually positions, normals). */ C_STRUCT aiAnimMesh** mAnimMeshes; @@ -630,7 +630,7 @@ struct aiMesh mNumUVComponents[a] = 0; mTextureCoords[a] = NULL; } - + for( unsigned int a = 0; a < AI_MAX_NUMBER_OF_COLOR_SETS; a++) mColors[a] = NULL; } @@ -638,7 +638,7 @@ struct aiMesh //! Deletes all storage allocated for the mesh ~aiMesh() { - delete [] mVertices; + delete [] mVertices; delete [] mNormals; delete [] mTangents; delete [] mBitangents; @@ -668,48 +668,48 @@ struct aiMesh } //! Check whether the mesh contains positions. Provided no special - //! scene flags are set, this will always be true - bool HasPositions() const + //! scene flags are set, this will always be true + bool HasPositions() const { return mVertices != NULL && mNumVertices > 0; } //! Check whether the mesh contains faces. If no special scene flags //! are set this should always return true - bool HasFaces() const + bool HasFaces() const { return mFaces != NULL && mNumFaces > 0; } //! Check whether the mesh contains normal vectors - bool HasNormals() const + bool HasNormals() const { return mNormals != NULL && mNumVertices > 0; } //! Check whether the mesh contains tangent and bitangent vectors //! It is not possible that it contains tangents and no bitangents //! (or the other way round). The existence of one of them //! implies that the second is there, too. - bool HasTangentsAndBitangents() const + bool HasTangentsAndBitangents() const { return mTangents != NULL && mBitangents != NULL && mNumVertices > 0; } //! Check whether the mesh contains a vertex color set //! \param pIndex Index of the vertex color set bool HasVertexColors( unsigned int pIndex) const - { - if( pIndex >= AI_MAX_NUMBER_OF_COLOR_SETS) - return false; - else - return mColors[pIndex] != NULL && mNumVertices > 0; + { + if( pIndex >= AI_MAX_NUMBER_OF_COLOR_SETS) + return false; + else + return mColors[pIndex] != NULL && mNumVertices > 0; } //! Check whether the mesh contains a texture coordinate set //! \param pIndex Index of the texture coordinates set bool HasTextureCoords( unsigned int pIndex) const - { - if( pIndex >= AI_MAX_NUMBER_OF_TEXTURECOORDS) - return false; - else - return mTextureCoords[pIndex] != NULL && mNumVertices > 0; + { + if( pIndex >= AI_MAX_NUMBER_OF_TEXTURECOORDS) + return false; + else + return mTextureCoords[pIndex] != NULL && mNumVertices > 0; } //! Get the number of UV channels the mesh contains - unsigned int GetNumUVChannels() const + unsigned int GetNumUVChannels() const { unsigned int n = 0; while (n < AI_MAX_NUMBER_OF_TEXTURECOORDS && mTextureCoords[n])++n; @@ -717,7 +717,7 @@ struct aiMesh } //! Get the number of vertex color channels the mesh contains - unsigned int GetNumColorChannels() const + unsigned int GetNumColorChannels() const { unsigned int n = 0; while (n < AI_MAX_NUMBER_OF_COLOR_SETS && mColors[n])++n; diff --git a/include/assimp/metadata.h b/include/assimp/metadata.h index 0601414b7..3ae661cec 100644 --- a/include/assimp/metadata.h +++ b/include/assimp/metadata.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -63,10 +63,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // ------------------------------------------------------------------------------- typedef enum aiMetadataType { - AI_BOOL = 0, - AI_INT = 1, - AI_UINT64 = 2, - AI_FLOAT = 3, + AI_BOOL = 0, + AI_INT = 1, + AI_UINT64 = 2, + AI_FLOAT = 3, AI_AISTRING = 4, AI_AIVECTOR3D = 5, @@ -123,7 +123,7 @@ inline aiMetadataType GetAiType( aiVector3D ) { return AI_AIVECTOR3D; } * Metadata is a key-value store using string keys and values. */ // ------------------------------------------------------------------------------- -struct aiMetadata +struct aiMetadata { /** Length of the mKeys and mValues arrays, respectively */ unsigned int mNumProperties; @@ -157,7 +157,7 @@ struct aiMetadata for (unsigned i=0; i(data); @@ -212,13 +212,13 @@ struct aiMetadata // In range assertion assert(index < mNumProperties); - // Return false if the output data type does + // Return false if the output data type does // not match the found value's data type if ( GetAiType( value ) != mValues[ index ].mType ) { return false; } - // Otherwise, output the found value and + // Otherwise, output the found value and // return true value = *static_cast(mValues[index].mData); return true; @@ -236,7 +236,7 @@ struct aiMetadata template inline bool Get( const std::string& key, T& value ) { - return Get(aiString(key), value); + return Get(aiString(key), value); } #endif // __cplusplus diff --git a/include/assimp/postprocess.h b/include/assimp/postprocess.h index 21372974c..436d5afd4 100644 --- a/include/assimp/postprocess.h +++ b/include/assimp/postprocess.h @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -66,10 +66,10 @@ enum aiPostProcessSteps { // ------------------------------------------------------------------------- - /**
Calculates the tangents and bitangents for the imported meshes. + /**
Calculates the tangents and bitangents for the imported meshes. * - * Does nothing if a mesh does not have normals. You might want this post - * processing step to be executed if you plan to use tangent space calculations + * Does nothing if a mesh does not have normals. You might want this post + * processing step to be executed if you plan to use tangent space calculations * such as normal mapping applied to the meshes. There's an importer property, * #AI_CONFIG_PP_CT_MAX_SMOOTHING_ANGLE, which allows you to specify * a maximum smoothing angle for the algorithm. However, usually you'll @@ -78,9 +78,9 @@ enum aiPostProcessSteps aiProcess_CalcTangentSpace = 0x1, // ------------------------------------------------------------------------- - /**
Identifies and joins identical vertex data sets within all - * imported meshes. - * + /**
Identifies and joins identical vertex data sets within all + * imported meshes. + * * After this step is run, each mesh contains unique vertices, * so a vertex may be used by multiple faces. You usually want * to use this post processing step. If your application deals with @@ -91,12 +91,12 @@ enum aiPostProcessSteps aiProcess_JoinIdenticalVertices = 0x2, // ------------------------------------------------------------------------- - /**
Converts all the imported data to a left-handed coordinate space. + /**
Converts all the imported data to a left-handed coordinate space. * - * By default the data is returned in a right-handed coordinate space (which - * OpenGL prefers). In this space, +X points to the right, - * +Z points towards the viewer, and +Y points upwards. In the DirectX - * coordinate space +X points to the right, +Y points upwards, and +Z points + * By default the data is returned in a right-handed coordinate space (which + * OpenGL prefers). In this space, +X points to the right, + * +Z points towards the viewer, and +Y points upwards. In the DirectX + * coordinate space +X points to the right, +Y points upwards, and +Z points * away from the viewer. * * You'll probably want to consider this flag if you use Direct3D for @@ -107,11 +107,11 @@ enum aiPostProcessSteps aiProcess_MakeLeftHanded = 0x4, // ------------------------------------------------------------------------- - /**
Triangulates all faces of all meshes. + /**
Triangulates all faces of all meshes. * * By default the imported mesh data might contain faces with more than 3 - * indices. For rendering you'll usually want all faces to be triangles. - * This post processing step splits up faces with more than 3 indices into + * indices. For rendering you'll usually want all faces to be triangles. + * This post processing step splits up faces with more than 3 indices into * triangles. Line and point primitives are *not* modified! If you want * 'triangles only' with no other kinds of primitives, try the following * solution: @@ -123,18 +123,18 @@ enum aiPostProcessSteps aiProcess_Triangulate = 0x8, // ------------------------------------------------------------------------- - /**
Removes some parts of the data structure (animations, materials, + /**
Removes some parts of the data structure (animations, materials, * light sources, cameras, textures, vertex components). * * The components to be removed are specified in a separate * importer property, #AI_CONFIG_PP_RVC_FLAGS. This is quite useful * if you don't need all parts of the output structure. Vertex colors * are rarely used today for example... Calling this step to remove unneeded - * data from the pipeline as early as possible results in increased + * data from the pipeline as early as possible results in increased * performance and a more optimized output data structure. - * This step is also useful if you want to force Assimp to recompute - * normals or tangents. The corresponding steps don't recompute them if - * they're already there (loaded from the source asset). By using this + * This step is also useful if you want to force Assimp to recompute + * normals or tangents. The corresponding steps don't recompute them if + * they're already there (loaded from the source asset). By using this * step you can make sure they are NOT there. * * This flag is a poor one, mainly because its purpose is usually @@ -144,14 +144,14 @@ enum aiPostProcessSteps * optimize the data because of these nasty little vertex colors. * Most apps don't even process them, so it's all for nothing. By using * this step, unneeded components are excluded as early as possible - * thus opening more room for internal optimizations. + * thus opening more room for internal optimizations. */ aiProcess_RemoveComponent = 0x10, // ------------------------------------------------------------------------- - /**
Generates normals for all faces of all meshes. + /**
Generates normals for all faces of all meshes. * - * This is ignored if normals are already there at the time this flag + * This is ignored if normals are already there at the time this flag * is evaluated. Model importers try to load them from the source file, so * they're usually already there. Face normals are shared between all points * of a single face, so a single point can have multiple normals, which @@ -165,12 +165,12 @@ enum aiPostProcessSteps // ------------------------------------------------------------------------- /**
Generates smooth normals for all vertices in the mesh. * - * This is ignored if normals are already there at the time this flag + * This is ignored if normals are already there at the time this flag * is evaluated. Model importers try to load them from the source file, so - * they're usually already there. + * they're usually already there. * - * This flag may not be specified together with - * #aiProcess_GenNormals. There's a importer property, + * This flag may not be specified together with + * #aiProcess_GenNormals. There's a importer property, * #AI_CONFIG_PP_GSN_MAX_SMOOTHING_ANGLE which allows you to specify * an angle maximum for the normal smoothing algorithm. Normals exceeding * this limit are not smoothed, resulting in a 'hard' seam between two faces. @@ -183,15 +183,15 @@ enum aiPostProcessSteps /**
Splits large meshes into smaller sub-meshes. * * This is quite useful for real-time rendering, where the number of triangles - * which can be maximally processed in a single draw-call is limited + * which can be maximally processed in a single draw-call is limited * by the video driver/hardware. The maximum vertex buffer is usually limited - * too. Both requirements can be met with this step: you may specify both a + * too. Both requirements can be met with this step: you may specify both a * triangle and vertex limit for a single mesh. * - * The split limits can (and should!) be set through the - * #AI_CONFIG_PP_SLM_VERTEX_LIMIT and #AI_CONFIG_PP_SLM_TRIANGLE_LIMIT - * importer properties. The default values are #AI_SLM_DEFAULT_MAX_VERTICES and - * #AI_SLM_DEFAULT_MAX_TRIANGLES. + * The split limits can (and should!) be set through the + * #AI_CONFIG_PP_SLM_VERTEX_LIMIT and #AI_CONFIG_PP_SLM_TRIANGLE_LIMIT + * importer properties. The default values are #AI_SLM_DEFAULT_MAX_VERTICES and + * #AI_SLM_DEFAULT_MAX_TRIANGLES. * * Note that splitting is generally a time-consuming task, but only if there's * something to split. The use of this step is recommended for most users. @@ -210,12 +210,12 @@ enum aiPostProcessSteps * Animations are removed during this step. * This step is intended for applications without a scenegraph. * The step CAN cause some problems: if e.g. a mesh of the asset - * contains normals and another, using the same material index, does not, + * contains normals and another, using the same material index, does not, * they will be brought together, but the first meshes's part of * the normal list is zeroed. However, these artifacts are rare. * @note The #AI_CONFIG_PP_PTV_NORMALIZE configuration property * can be set to normalize the scene's spatial dimension to the -1...1 - * range. + * range. */ aiProcess_PreTransformVertices = 0x100, @@ -223,14 +223,14 @@ enum aiPostProcessSteps /**
Limits the number of bones simultaneously affecting a single vertex * to a maximum value. * - * If any vertex is affected by more than the maximum number of bones, the least + * If any vertex is affected by more than the maximum number of bones, the least * important vertex weights are removed and the remaining vertex weights are * renormalized so that the weights still sum up to 1. * The default bone weight limit is 4 (defined as #AI_LMW_MAX_WEIGHTS in * config.h), but you can use the #AI_CONFIG_PP_LBW_MAX_WEIGHTS importer * property to supply your own limit to the post processing step. * - * If you intend to perform the skinning in hardware, this post processing + * If you intend to perform the skinning in hardware, this post processing * step might be of interest to you. */ aiProcess_LimitBoneWeights = 0x200, @@ -243,7 +243,7 @@ enum aiPostProcessSteps * It is recommended that you capture Assimp's log output if you use this flag, * so you can easily find out what's wrong if a file fails the * validation. The validator is quite strict and will find *all* - * inconsistencies in the data structure... It is recommended that plugin + * inconsistencies in the data structure... It is recommended that plugin * developers use it to debug their loaders. There are two types of * validation failures: *
    @@ -251,7 +251,7 @@ enum aiPostProcessSteps * postprocessing is not possible and the data is not usable at all. * The import fails. #Importer::GetErrorString() or #aiGetErrorString() * carry the error message around. - *
  • Warning: There are some minor issues (e.g. 1000000 animation + *
  • Warning: There are some minor issues (e.g. 1000000 animation * keyframes with the same time), but further postprocessing and use * of the data structure is still safe. Warning details are written * to the log file, #AI_SCENE_FLAGS_VALIDATION_WARNING is set @@ -259,7 +259,7 @@ enum aiPostProcessSteps *
* * This post-processing step is not time-consuming. Its use is not - * compulsory, but recommended. + * compulsory, but recommended. */ aiProcess_ValidateDataStructure = 0x400, @@ -267,7 +267,7 @@ enum aiPostProcessSteps /**
Reorders triangles for better vertex cache locality. * * The step tries to improve the ACMR (average post-transform vertex cache - * miss ratio) for all meshes. The implementation runs in O(n) and is + * miss ratio) for all meshes. The implementation runs in O(n) and is * roughly based on the 'tipsify' algorithm (see this * paper). @@ -281,9 +281,9 @@ enum aiPostProcessSteps // ------------------------------------------------------------------------- /**
Searches for redundant/unreferenced materials and removes them. * - * This is especially useful in combination with the - * #aiProcess_PreTransformVertices and #aiProcess_OptimizeMeshes flags. - * Both join small meshes with equal characteristics, but they can't do + * This is especially useful in combination with the + * #aiProcess_PreTransformVertices and #aiProcess_OptimizeMeshes flags. + * Both join small meshes with equal characteristics, but they can't do * their work if two meshes have different materials. Because several * material settings are lost during Assimp's import filters, * (and because many exporters don't check for redundant materials), huge @@ -293,14 +293,14 @@ enum aiPostProcessSteps * Several material settings not contributing to the final appearance of * a surface are ignored in all comparisons (e.g. the material name). * So, if you're passing additional information through the - * content pipeline (probably using *magic* material names), don't + * content pipeline (probably using *magic* material names), don't * specify this flag. Alternatively take a look at the * #AI_CONFIG_PP_RRM_EXCLUDE_LIST importer property. - */ + */ aiProcess_RemoveRedundantMaterials = 0x1000, // ------------------------------------------------------------------------- - /**
This step tries to determine which meshes have normal vectors + /**
This step tries to determine which meshes have normal vectors * that are facing inwards and inverts them. * * The algorithm is simple but effective: @@ -314,11 +314,11 @@ enum aiPostProcessSteps aiProcess_FixInfacingNormals = 0x2000, // ------------------------------------------------------------------------- - /**
This step splits meshes with more than one primitive type in - * homogeneous sub-meshes. + /**
This step splits meshes with more than one primitive type in + * homogeneous sub-meshes. * * The step is executed after the triangulation step. After the step - * returns, just one bit is set in aiMesh::mPrimitiveTypes. This is + * returns, just one bit is set in aiMesh::mPrimitiveTypes. This is * especially useful for real-time rendering where point and line * primitives are often ignored or rendered separately. * You can use the #AI_CONFIG_PP_SBP_REMOVE importer property to @@ -352,14 +352,14 @@ enum aiPostProcessSteps *
  • Specify the #aiProcess_SortByPType flag. This moves line and * point primitives to separate meshes. *
  • - *
  • Set the #AI_CONFIG_PP_SBP_REMOVE importer property to + *
  • Set the #AI_CONFIG_PP_SBP_REMOVE importer property to * @code aiPrimitiveType_POINTS | aiPrimitiveType_LINES * @endcode to cause SortByPType to reject point * and line meshes from the scene. *
  • * * @note Degenerate polygons are not necessarily evil and that's why - * they're not removed by default. There are several file formats which + * they're not removed by default. There are several file formats which * don't support lines or points, and some exporters bypass the * format specification and write them as degenerate triangles instead. */ @@ -386,9 +386,9 @@ enum aiPostProcessSteps * * Most applications will support UV mapping only, so you will * probably want to specify this step in every case. Note that Assimp is not - * always able to match the original mapping implementation of the + * always able to match the original mapping implementation of the * 3D app which produced a model perfectly. It's always better to let the - * modelling app compute the UV channels - 3ds max, Maya, Blender, + * modelling app compute the UV channels - 3ds max, Maya, Blender, * LightWave, and Modo do this for example. * * @note If this step is not requested, you'll need to process the @@ -400,15 +400,15 @@ enum aiPostProcessSteps // ------------------------------------------------------------------------- /**
    This step applies per-texture UV transformations and bakes * them into stand-alone vtexture coordinate channels. - * - * UV transformations are specified per-texture - see the - * #AI_MATKEY_UVTRANSFORM material key for more information. - * This step processes all textures with - * transformed input UV coordinates and generates a new (pre-transformed) UV channel - * which replaces the old channel. Most applications won't support UV + * + * UV transformations are specified per-texture - see the + * #AI_MATKEY_UVTRANSFORM material key for more information. + * This step processes all textures with + * transformed input UV coordinates and generates a new (pre-transformed) UV channel + * which replaces the old channel. Most applications won't support UV * transformations, so you will probably want to specify this step. * - * @note UV transformations are usually implemented in real-time apps by + * @note UV transformations are usually implemented in real-time apps by * transforming texture coordinates at vertex shader stage with a 3x3 * (homogenous) transformation matrix. */ @@ -421,10 +421,10 @@ enum aiPostProcessSteps * This step takes a while, so don't use it if speed is a concern. * Its main purpose is to workaround the fact that many export * file formats don't support instanced meshes, so exporters need to - * duplicate meshes. This step removes the duplicates again. Please + * duplicate meshes. This step removes the duplicates again. Please * note that Assimp does not currently support per-node material * assignment to meshes, which means that identical meshes with - * different materials are currently *not* joined, although this is + * different materials are currently *not* joined, although this is * planned for future versions. */ aiProcess_FindInstances = 0x100000, @@ -438,13 +438,13 @@ enum aiPostProcessSteps * together with #aiProcess_OptimizeGraph, if possible. The flag is fully * compatible with both #aiProcess_SplitLargeMeshes and #aiProcess_SortByPType. */ - aiProcess_OptimizeMeshes = 0x200000, + aiProcess_OptimizeMeshes = 0x200000, // ------------------------------------------------------------------------- - /**
    A postprocessing step to optimize the scene hierarchy. + /**
    A postprocessing step to optimize the scene hierarchy. * - * Nodes without animations, bones, lights or cameras assigned are + * Nodes without animations, bones, lights or cameras assigned are * collapsed and joined. * * Node names can be lost during this step. If you use special 'tag nodes' @@ -453,21 +453,21 @@ enum aiPostProcessSteps * list of node names you want to be kept. Nodes matching one of the names * in this list won't be touched or modified. * - * Use this flag with caution. Most simple files will be collapsed to a + * Use this flag with caution. Most simple files will be collapsed to a * single node, so complex hierarchies are usually completely lost. This is not * useful for editor environments, but probably a very effective * optimization if you just want to get the model data, convert it to your - * own format, and render it as fast as possible. + * own format, and render it as fast as possible. * * This flag is designed to be used with #aiProcess_OptimizeMeshes for best * results. * * @note 'Crappy' scenes with thousands of extremely small meshes packed * in deeply nested nodes exist for almost all file formats. - * #aiProcess_OptimizeMeshes in combination with #aiProcess_OptimizeGraph - * usually fixes them all and makes them renderable. + * #aiProcess_OptimizeMeshes in combination with #aiProcess_OptimizeGraph + * usually fixes them all and makes them renderable. */ - aiProcess_OptimizeGraph = 0x400000, + aiProcess_OptimizeGraph = 0x400000, // ------------------------------------------------------------------------- /**
    This step flips all UV coordinates along the y-axis and adjusts @@ -475,7 +475,7 @@ enum aiPostProcessSteps * * Output UV coordinate system: * @code - * 0y|0y ---------- 1x|0y + * 0y|0y ---------- 1x|0y * | | * | | * | | @@ -487,7 +487,7 @@ enum aiPostProcessSteps * setting and bundles all conversions typically required for D3D-based * applications. */ - aiProcess_FlipUVs = 0x800000, + aiProcess_FlipUVs = 0x800000, // ------------------------------------------------------------------------- /**
    This step adjusts the output face winding order to be CW. @@ -497,7 +497,7 @@ enum aiPostProcessSteps * Output face order: * @code * x2 - * + * * x0 * x1 * @endcode @@ -506,7 +506,7 @@ enum aiPostProcessSteps // ------------------------------------------------------------------------- /**
    This step splits meshes with many bones into sub-meshes so that each - * su-bmesh has fewer or as many bones as a given limit. + * su-bmesh has fewer or as many bones as a given limit. */ aiProcess_SplitByBoneCount = 0x2000000, @@ -517,10 +517,10 @@ enum aiPostProcessSteps * assign dummy bone weights to otherwise static meshes assigned to * animated meshes. Full, weight-based skinning is expensive while * animating nodes is extremely cheap, so this step is offered to clean up - * the data in that regard. - * - * Use #AI_CONFIG_PP_DB_THRESHOLD to control this. - * Use #AI_CONFIG_PP_DB_ALL_OR_NONE if you want bones removed if and + * the data in that regard. + * + * Use #AI_CONFIG_PP_DB_THRESHOLD to control this. + * Use #AI_CONFIG_PP_DB_ALL_OR_NONE if you want bones removed if and * only if all bones within the scene qualify for removal. */ aiProcess_Debone = 0x4000000 @@ -533,33 +533,33 @@ enum aiPostProcessSteps // --------------------------------------------------------------------------------------- /** @def aiProcess_ConvertToLeftHanded - * @brief Shortcut flag for Direct3D-based applications. + * @brief Shortcut flag for Direct3D-based applications. * * Supersedes the #aiProcess_MakeLeftHanded and #aiProcess_FlipUVs and * #aiProcess_FlipWindingOrder flags. * The output data matches Direct3D's conventions: left-handed geometry, upper-left * origin for UV coordinates and finally clockwise face order, suitable for CCW culling. * - * @deprecated + * @deprecated */ #define aiProcess_ConvertToLeftHanded ( \ aiProcess_MakeLeftHanded | \ aiProcess_FlipUVs | \ aiProcess_FlipWindingOrder | \ - 0 ) + 0 ) // --------------------------------------------------------------------------------------- /** @def aiProcessPreset_TargetRealtime_Fast * @brief Default postprocess configuration optimizing the data for real-time rendering. - * + * * Applications would want to use this preset to load models on end-user PCs, * maybe for direct use in game. * * If you're using DirectX, don't forget to combine this value with * the #aiProcess_ConvertToLeftHanded step. If you don't support UV transformations * in your application apply the #aiProcess_TransformUVCoords step, too. - * @note Please take the time to read the docs for the steps enabled by this preset. + * @note Please take the time to read the docs for the steps enabled by this preset. * Some of them offer further configurable properties, while some of them might not be of * use for you so it might be better to not specify them. */ @@ -580,11 +580,11 @@ enum aiPostProcessSteps * performs some extra optimizations to improve rendering speed and * to minimize memory usage. It could be a good choice for a level editor * environment where import speed is not so important. - * + * * If you're using DirectX, don't forget to combine this value with * the #aiProcess_ConvertToLeftHanded step. If you don't support UV transformations * in your application apply the #aiProcess_TransformUVCoords step, too. - * @note Please take the time to read the docs for the steps enabled by this preset. + * @note Please take the time to read the docs for the steps enabled by this preset. * Some of them offer further configurable properties, while some of them might not be * of use for you so it might be better to not specify them. */ @@ -608,13 +608,13 @@ enum aiPostProcessSteps * @brief Default postprocess configuration optimizing the data for real-time rendering. * * This preset enables almost every optimization step to achieve perfectly - * optimized data. It's your choice for level editor environments where import speed + * optimized data. It's your choice for level editor environments where import speed * is not important. - * + * * If you're using DirectX, don't forget to combine this value with * the #aiProcess_ConvertToLeftHanded step. If you don't support UV transformations * in your application, apply the #aiProcess_TransformUVCoords step, too. - * @note Please take the time to read the docs for the steps enabled by this preset. + * @note Please take the time to read the docs for the steps enabled by this preset. * Some of them offer further configurable properties, while some of them might not be * of use for you so it might be better to not specify them. */ diff --git a/include/assimp/quaternion.h b/include/assimp/quaternion.h index 15be8605d..efec389b6 100644 --- a/include/assimp/quaternion.h +++ b/include/assimp/quaternion.h @@ -5,8 +5,8 @@ Open Asset Import Library (assimp) Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the +Redistribution and use of this software 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 @@ -23,16 +23,16 @@ following conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. ---------------------------------------------------------------------- @@ -56,7 +56,7 @@ class aiQuaterniont { public: aiQuaterniont() : w(1.0), x(), y(), z() {} - aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz) + aiQuaterniont(TReal pw, TReal px, TReal py, TReal pz) : w(pw), x(px), y(py), z(pz) {} /** Construct from rotation matrix. Result is undefined if the matrix is not orthonormal. */ @@ -103,13 +103,13 @@ public: * @param pEnd End rotation, factor == 1. * @param pFactor Interpolation factor between 0 and 1. Values outside of this range yield undefined results. */ - static void Interpolate( aiQuaterniont& pOut, const aiQuaterniont& pStart, + static void Interpolate( aiQuaterniont& pOut, const aiQuaterniont& pStart, const aiQuaterniont& pEnd, TReal pFactor); public: //! w,x,y,z components of the quaternion - TReal w, x, y, z; + TReal w, x, y, z; } ; typedef aiQuaterniont aiQuaternion; @@ -117,7 +117,7 @@ typedef aiQuaterniont aiQuaternion; #else struct aiQuaternion { - float w, x, y, z; + float w, x, y, z; }; #endif diff --git a/include/assimp/quaternion.inl b/include/assimp/quaternion.inl index 9a5c1305c..e1a7726ed 100644 --- a/include/assimp/quaternion.inl +++ b/include/assimp/quaternion.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -90,25 +90,25 @@ inline aiQuaterniont::aiQuaterniont( const aiMatrix3x3t &pRotMatri z = (pRotMatrix.b1 - pRotMatrix.a2) / s; w = static_cast(0.25) * s; } // else we have to check several cases - else if( pRotMatrix.a1 > pRotMatrix.b2 && pRotMatrix.a1 > pRotMatrix.c3 ) - { - // Column 0: + else if( pRotMatrix.a1 > pRotMatrix.b2 && pRotMatrix.a1 > pRotMatrix.c3 ) + { + // Column 0: TReal s = std::sqrt( static_cast(1.0) + pRotMatrix.a1 - pRotMatrix.b2 - pRotMatrix.c3) * static_cast(2.0); x = static_cast(0.25) * s; y = (pRotMatrix.b1 + pRotMatrix.a2) / s; z = (pRotMatrix.a3 + pRotMatrix.c1) / s; w = (pRotMatrix.c2 - pRotMatrix.b3) / s; - } - else if( pRotMatrix.b2 > pRotMatrix.c3) - { - // Column 1: + } + else if( pRotMatrix.b2 > pRotMatrix.c3) + { + // Column 1: TReal s = std::sqrt( static_cast(1.0) + pRotMatrix.b2 - pRotMatrix.a1 - pRotMatrix.c3) * static_cast(2.0); x = (pRotMatrix.b1 + pRotMatrix.a2) / s; y = static_cast(0.25) * s; z = (pRotMatrix.c2 + pRotMatrix.b3) / s; w = (pRotMatrix.a3 - pRotMatrix.c1) / s; - } else - { + } else + { // Column 2: TReal s = std::sqrt( static_cast(1.0) + pRotMatrix.c3 - pRotMatrix.a1 - pRotMatrix.b2) * static_cast(2.0); x = (pRotMatrix.a3 + pRotMatrix.c1) / s; @@ -188,7 +188,7 @@ inline aiQuaterniont::aiQuaterniont( aiVector3t normalized) } // --------------------------------------------------------------------------- -// Performs a spherical interpolation between two quaternions +// Performs a spherical interpolation between two quaternions // Implementation adopted from the gmtl project. All others I found on the net fail in some cases. // Congrats, gmtl! template @@ -206,7 +206,7 @@ inline void aiQuaterniont::Interpolate( aiQuaterniont& pOut, const aiQuat end.y = -end.y; end.z = -end.z; end.w = -end.w; - } + } // Calculate coefficients TReal sclp, sclq; diff --git a/include/assimp/scene.h b/include/assimp/scene.h index 0d7be8cb7..14039ce63 100644 --- a/include/assimp/scene.h +++ b/include/assimp/scene.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -60,29 +60,29 @@ extern "C" { // ------------------------------------------------------------------------------- -/** A node in the imported hierarchy. +/** A node in the imported hierarchy. * - * Each node has name, a parent node (except for the root node), + * Each node has name, a parent node (except for the root node), * a transformation relative to its parent and possibly several child nodes. - * Simple file formats don't support hierarchical structures - for these formats + * Simple file formats don't support hierarchical structures - for these formats * the imported scene does consist of only a single root node without children. */ // ------------------------------------------------------------------------------- struct aiNode { - /** The name of the node. + /** The name of the node. * - * The name might be empty (length of zero) but all nodes which + * The name might be empty (length of zero) but all nodes which * need to be referenced by either bones or animations are named. * Multiple nodes may have the same name, except for nodes which are referenced * by bones (see #aiBone and #aiMesh::mBones). Their names *must* be unique. - * + * * Cameras and lights reference a specific node by name - if there * are multiple nodes with this name, they are assigned to each of them. *
    * There are no limitations with regard to the characters contained in - * the name string as it is usually taken directly from the source file. - * + * the name string as it is usually taken directly from the source file. + * * Implementations should be able to handle tokens such as whitespace, tabs, * line feeds, quotation marks, ampersands etc. * @@ -115,13 +115,13 @@ struct aiNode /** Metadata associated with this node or NULL if there is no metadata. * Whether any metadata is generated depends on the source file format. See the * @link importer_notes @endlink page for more information on every source file - * format. Importers that don't document any metadata don't write any. + * format. Importers that don't document any metadata don't write any. */ C_STRUCT aiMetadata* mMetaData; #ifdef __cplusplus /** Constructor */ - aiNode() + aiNode() // set all members to zero by default : mName("") , mParent(NULL) @@ -132,10 +132,10 @@ struct aiNode , mMetaData(NULL) { } - + /** Construction from a specific name */ - aiNode(const std::string& name) + aiNode(const std::string& name) // set all members to zero by default : mName(name) , mParent(NULL) @@ -152,7 +152,7 @@ struct aiNode { // delete all children recursively // to make sure we won't crash if the data is invalid ... - if (mChildren && mNumChildren) + if (mChildren && mNumChildren) { for( unsigned int a = 0; a < mNumChildren; a++) delete mChildren[a]; @@ -166,7 +166,7 @@ struct aiNode /** Searches for a node with a specific name, beginning at this * nodes. Normally you will call this method on the root node * of the scene. - * + * * @param name Name to search for * @return NULL or a valid Node if the search was successful. */ @@ -196,7 +196,7 @@ struct aiNode return NULL; } - inline aiNode* FindNode(const char* name) + inline aiNode* FindNode(const char* name) { if (!::strcmp( mName.data,name))return this; for (unsigned int i = 0; i < mNumChildren;++i) @@ -217,9 +217,9 @@ struct aiNode // ------------------------------------------------------------------------------- /** * Specifies that the scene data structure that was imported is not complete. - * This flag bypasses some internal validations and allows the import - * of animation skeletons, material libraries or camera animation paths - * using Assimp. Most applications won't support such data. + * This flag bypasses some internal validations and allows the import + * of animation skeletons, material libraries or camera animation paths + * using Assimp. Most applications won't support such data. */ #define AI_SCENE_FLAGS_INCOMPLETE 0x1 @@ -233,7 +233,7 @@ struct aiNode /** * This flag is set by the validation postprocess-step (aiPostProcess_ValidateDS) * if the validation is successful but some issues have been found. - * This can for example mean that a texture that does not exist is referenced + * This can for example mean that a texture that does not exist is referenced * by a material or that the bone weights for a vertex don't sum to 1.0 ... . * In most cases you should still be able to use the import. This flag could * be useful for applications which don't capture Assimp's log output. @@ -249,8 +249,8 @@ struct aiNode #define AI_SCENE_FLAGS_NON_VERBOSE_FORMAT 0x8 /** - * Denotes pure height-map terrain data. Pure terrains usually consist of quads, - * sometimes triangles, in a regular grid. The x,y coordinates of all vertex + * Denotes pure height-map terrain data. Pure terrains usually consist of quads, + * sometimes triangles, in a regular grid. The x,y coordinates of all vertex * positions refer to the x,y coordinates on the terrain height map, the z-axis * stores the elevation at a specific point. * @@ -264,8 +264,8 @@ struct aiNode // ------------------------------------------------------------------------------- -/** The root structure of the imported data. - * +/** The root structure of the imported data. + * * Everything that was imported from the given file can be accessed from here. * Objects of this class are generally maintained and owned by Assimp, not * by the caller. You shouldn't want to instance it, nor should you ever try to @@ -275,19 +275,19 @@ struct aiNode struct aiScene { - /** Any combination of the AI_SCENE_FLAGS_XXX flags. By default + /** Any combination of the AI_SCENE_FLAGS_XXX flags. By default * this value is 0, no flags are set. Most applications will - * want to reject all scenes with the AI_SCENE_FLAGS_INCOMPLETE + * want to reject all scenes with the AI_SCENE_FLAGS_INCOMPLETE * bit set. */ unsigned int mFlags; - /** The root node of the hierarchy. - * + /** The root node of the hierarchy. + * * There will always be at least the root node if the import - * was successful (and no special flags have been set). - * Presence of further nodes depends on the format and content + * was successful (and no special flags have been set). + * Presence of further nodes depends on the format and content * of the imported file. */ C_STRUCT aiNode* mRootNode; @@ -297,11 +297,11 @@ struct aiScene /** The number of meshes in the scene. */ unsigned int mNumMeshes; - /** The array of meshes. + /** The array of meshes. * - * Use the indices given in the aiNode structure to access + * Use the indices given in the aiNode structure to access * this array. The array is mNumMeshes in size. If the - * AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always + * AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always * be at least ONE material. */ C_STRUCT aiMesh** mMeshes; @@ -311,11 +311,11 @@ struct aiScene /** The number of materials in the scene. */ unsigned int mNumMaterials; - /** The array of materials. - * + /** The array of materials. + * * Use the index given in each aiMesh structure to access this * array. The array is mNumMaterials in size. If the - * AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always + * AI_SCENE_FLAGS_INCOMPLETE flag is not set there will always * be at least ONE material. */ C_STRUCT aiMaterial** mMaterials; @@ -323,9 +323,9 @@ struct aiScene /** The number of animations in the scene. */ - unsigned int mNumAnimations; + unsigned int mNumAnimations; - /** The array of animations. + /** The array of animations. * * All animations imported from the given file are listed here. * The array is mNumAnimations in size. @@ -338,7 +338,7 @@ struct aiScene unsigned int mNumTextures; /** The array of embedded textures. - * + * * Not many file formats embed their textures into the file. * An example is Quake's MDL format (which is also used by * some GameStudio versions) @@ -347,12 +347,12 @@ struct aiScene /** The number of light sources in the scene. Light sources - * are fully optional, in most cases this attribute will be 0 + * are fully optional, in most cases this attribute will be 0 */ unsigned int mNumLights; /** The array of light sources. - * + * * All light sources imported from the given file are * listed here. The array is mNumLights in size. */ @@ -360,12 +360,12 @@ struct aiScene /** The number of cameras in the scene. Cameras - * are fully optional, in most cases this attribute will be 0 + * are fully optional, in most cases this attribute will be 0 */ unsigned int mNumCameras; /** The array of cameras. - * + * * All cameras imported from the given file are listed here. * The array is mNumCameras in size. The first camera in the * array (if existing) is the default camera view into @@ -383,28 +383,28 @@ struct aiScene //! Check whether the scene contains meshes //! Unless no special scene flags are set this will always be true. - inline bool HasMeshes() const + inline bool HasMeshes() const { return mMeshes != NULL && mNumMeshes > 0; } //! Check whether the scene contains materials //! Unless no special scene flags are set this will always be true. - inline bool HasMaterials() const + inline bool HasMaterials() const { return mMaterials != NULL && mNumMaterials > 0; } //! Check whether the scene contains lights - inline bool HasLights() const + inline bool HasLights() const { return mLights != NULL && mNumLights > 0; } //! Check whether the scene contains textures - inline bool HasTextures() const + inline bool HasTextures() const { return mTextures != NULL && mNumTextures > 0; } //! Check whether the scene contains cameras - inline bool HasCameras() const + inline bool HasCameras() const { return mCameras != NULL && mNumCameras > 0; } //! Check whether the scene contains animations - inline bool HasAnimations() const + inline bool HasAnimations() const { return mAnimations != NULL && mNumAnimations > 0; } #endif // __cplusplus diff --git a/include/assimp/texture.h b/include/assimp/texture.h index 157b31994..a4374a29c 100644 --- a/include/assimp/texture.h +++ b/include/assimp/texture.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -60,7 +60,7 @@ extern "C" { // -------------------------------------------------------------------------------- /** @def AI_MAKE_EMBEDDED_TEXNAME - * Used to build the reserved path name used by the material system to + * Used to build the reserved path name used by the material system to * reference textures that are embedded into their corresponding * model files. The parameter specifies the index of the texture * (zero-based, in the aiScene::mTextures array) @@ -74,7 +74,7 @@ extern "C" { // -------------------------------------------------------------------------------- /** @brief Helper structure to represent a texel in a ARGB8888 format -* +* * Used by aiTexture. */ struct aiTexel @@ -109,11 +109,11 @@ struct aiTexel // -------------------------------------------------------------------------------- /** Helper structure to describe an embedded texture - * + * * Normally textures are contained in external files but some file formats embed - * them directly in the model file. There are two types of embedded textures: - * 1. Uncompressed textures. The color data is given in an uncompressed format. - * 2. Compressed textures stored in a file format like png or jpg. The raw file + * them directly in the model file. There are two types of embedded textures: + * 1. Uncompressed textures. The color data is given in an uncompressed format. + * 2. Compressed textures stored in a file format like png or jpg. The raw file * bytes are given so the application must utilize an image decoder (e.g. DevIL) to * get access to the actual color data. */ @@ -140,8 +140,8 @@ struct aiTexture * If mHeight != 0 this member is undefined. Otherwise it * is set set to '\\0\\0\\0\\0' if the loader has no additional * information about the texture file format used OR the - * file extension of the format without a trailing dot. If there - * are multiple file extensions for a format, the shortest + * file extension of the format without a trailing dot. If there + * are multiple file extensions for a format, the shortest * extension is chosen (JPEG maps to 'jpg', not to 'jpeg'). * E.g. 'dds\\0', 'pcx\\0', 'jpg\\0'. All characters are lower-case. * The fourth character will always be '\\0'. diff --git a/include/assimp/types.h b/include/assimp/types.h index 223d7f0ee..0b54b452d 100644 --- a/include/assimp/types.h +++ b/include/assimp/types.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,22 +25,22 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ /** @file types.h - * Basic data types and primitives, such as vectors or colors. + * Basic data types and primitives, such as vectors or colors. */ #ifndef AI_TYPES_H_INC #define AI_TYPES_H_INC @@ -73,7 +73,7 @@ namespace Assimp { //! @cond never namespace Intern { // -------------------------------------------------------------------- - /** @brief Internal helper class to utilize our internal new/delete + /** @brief Internal helper class to utilize our internal new/delete * routines for allocating object of this and derived classes. * * By doing this you can safely share class objects between Assimp @@ -124,7 +124,7 @@ struct aiPlane { #ifdef __cplusplus aiPlane () : a(0.f), b(0.f), c(0.f), d(0.f) {} - aiPlane (float _a, float _b, float _c, float _d) + aiPlane (float _a, float _b, float _c, float _d) : a(_a), b(_b), c(_c), d(_d) {} aiPlane (const aiPlane& o) : a(o.a), b(o.b), c(o.c), d(o.d) {} @@ -154,7 +154,7 @@ struct aiRay } PACK_STRUCT; // !struct aiRay // ---------------------------------------------------------------------------------- -/** Represents a color in Red-Green-Blue space. +/** Represents a color in Red-Green-Blue space. */ struct aiColor3D { @@ -163,7 +163,7 @@ struct aiColor3D aiColor3D (float _r, float _g, float _b) : r(_r), g(_g), b(_b) {} aiColor3D (float _r) : r(_r), g(_r), b(_r) {} aiColor3D (const aiColor3D& o) : r(o.r), g(o.g), b(o.b) {} - + /** Component-wise comparison */ // TODO: add epsilon? bool operator == (const aiColor3D& other) const @@ -198,7 +198,7 @@ struct aiColor3D aiColor3D operator*(const aiColor3D& c) const { return aiColor3D(r*c.r,g*c.g,b*c.b); } - + /** Multiply with a scalar */ aiColor3D operator*(float f) const { return aiColor3D(r*f,g*f,b*f); @@ -233,18 +233,18 @@ struct aiColor3D * The character set of an aiString is explicitly defined to be UTF-8. This Unicode * transformation was chosen in the belief that most strings in 3d files are limited * to ASCII, thus the character set needed to be strictly ASCII compatible. - * + * * Most text file loaders provide proper Unicode input file handling, special unicode * characters are correctly transcoded to UTF8 and are kept throughout the libraries' - * import pipeline. + * import pipeline. * * For most applications, it will be absolutely sufficient to interpret the - * aiString as ASCII data and work with it as one would work with a plain char*. + * aiString as ASCII data and work with it as one would work with a plain char*. * Windows users in need of proper support for i.e asian characters can use the * MultiByteToWideChar(), WideCharToMultiByte() WinAPI functionality to convert the * UTF-8 strings to their working character set (i.e. MBCS, WideChar). * - * We use this representation instead of std::string to be C-compatible. The + * We use this representation instead of std::string to be C-compatible. The * (binary) length of such a string is limited to MAXLEN characters (including the * the terminating zero). */ @@ -253,7 +253,7 @@ struct aiString #ifdef __cplusplus /** Default constructor, the string is set to have zero length */ aiString() : - length(0) + length(0) { data[0] = '\0'; @@ -264,8 +264,8 @@ struct aiString } /** Copy constructor */ - aiString(const aiString& rOther) : - length(rOther.length) + aiString(const aiString& rOther) : + length(rOther.length) { // Crop the string to the maximum length length = length>=MAXLEN?MAXLEN-1:length; @@ -274,8 +274,8 @@ struct aiString } /** Constructor from std::string */ - explicit aiString(const std::string& pString) : - length(pString.length()) + explicit aiString(const std::string& pString) : + length(pString.length()) { length = length>=MAXLEN?MAXLEN-1:length; memcpy( data, pString.c_str(), length); @@ -357,7 +357,7 @@ struct aiString #endif // !__cplusplus - /** Binary length of the string excluding the terminal 0. This is NOT the + /** Binary length of the string excluding the terminal 0. This is NOT the * logical length of strings containing UTF-8 multibyte sequences! It's * the number of bytes from the beginning of the string to its end.*/ size_t length; @@ -380,14 +380,14 @@ typedef enum aiReturn aiReturn_FAILURE = -0x1, /** Indicates that not enough memory was available - * to perform the requested operation + * to perform the requested operation */ aiReturn_OUTOFMEMORY = -0x3, - /** @cond never + /** @cond never * Force 32-bit size enum */ - _AI_ENFORCE_ENUM_SIZE = 0x7fffffff + _AI_ENFORCE_ENUM_SIZE = 0x7fffffff /// @endcond } aiReturn; // !enum aiReturn @@ -404,28 +404,28 @@ typedef enum aiReturn enum aiOrigin { /** Beginning of the file */ - aiOrigin_SET = 0x0, + aiOrigin_SET = 0x0, /** Current position of the file pointer */ - aiOrigin_CUR = 0x1, + aiOrigin_CUR = 0x1, /** End of the file, offsets must be negative */ aiOrigin_END = 0x2, - /** @cond never - * Force 32-bit size enum + /** @cond never + * Force 32-bit size enum */ - _AI_ORIGIN_ENFORCE_ENUM_SIZE = 0x7fffffff - + _AI_ORIGIN_ENFORCE_ENUM_SIZE = 0x7fffffff + /// @endcond }; // !enum aiOrigin // ---------------------------------------------------------------------------------- -/** @brief Enumerates predefined log streaming destinations. - * Logging to these streams can be enabled with a single call to +/** @brief Enumerates predefined log streaming destinations. + * Logging to these streams can be enabled with a single call to * #LogStream::createDefaultStream. */ -enum aiDefaultLogStream +enum aiDefaultLogStream { /** Stream the log to a file */ aiDefaultLogStream_FILE = 0x1, @@ -441,10 +441,10 @@ enum aiDefaultLogStream */ aiDefaultLogStream_DEBUGGER = 0x8, - /** @cond never - * Force 32-bit size enum + /** @cond never + * Force 32-bit size enum */ - _AI_DLS_ENFORCE_ENUM_SIZE = 0x7fffffff + _AI_DLS_ENFORCE_ENUM_SIZE = 0x7fffffff /// @endcond }; // !enum aiDefaultLogStream @@ -500,7 +500,7 @@ struct aiMemoryInfo /** Total storage allocated for the full import. */ unsigned int total; -}; // !struct aiMemoryInfo +}; // !struct aiMemoryInfo #ifdef __cplusplus } @@ -513,4 +513,4 @@ struct aiMemoryInfo #include "quaternion.inl" #include "matrix3x3.inl" #include "matrix4x4.inl" -#endif +#endif diff --git a/include/assimp/vector2.h b/include/assimp/vector2.h index db5d4900a..e8370e443 100644 --- a/include/assimp/vector2.h +++ b/include/assimp/vector2.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -53,7 +53,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "./Compiler/pushpack1.h" // ---------------------------------------------------------------------------------- -/** Represents a two-dimensional vector. +/** Represents a two-dimensional vector. */ #ifdef __cplusplus @@ -95,7 +95,7 @@ public: template operator aiVector2t () const; - TReal x, y; + TReal x, y; } PACK_STRUCT; typedef aiVector2t aiVector2D; diff --git a/include/assimp/vector2.inl b/include/assimp/vector2.inl index 282ac9020..95a43e6cf 100644 --- a/include/assimp/vector2.inl +++ b/include/assimp/vector2.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -58,14 +58,14 @@ aiVector2t::operator aiVector2t () const { } // ------------------------------------------------------------------------------------------------ template -void aiVector2t::Set( TReal pX, TReal pY) { +void aiVector2t::Set( TReal pX, TReal pY) { x = pX; y = pY; } // ------------------------------------------------------------------------------------------------ template TReal aiVector2t::SquareLength() const { - return x*x + y*y; + return x*x + y*y; } // ------------------------------------------------------------------------------------------------ @@ -76,37 +76,37 @@ TReal aiVector2t::Length() const { // ------------------------------------------------------------------------------------------------ template -aiVector2t& aiVector2t::Normalize() { - *this /= Length(); +aiVector2t& aiVector2t::Normalize() { + *this /= Length(); return *this; } // ------------------------------------------------------------------------------------------------ template const aiVector2t& aiVector2t::operator += (const aiVector2t& o) { - x += o.x; y += o.y; - return *this; + x += o.x; y += o.y; + return *this; } // ------------------------------------------------------------------------------------------------ template const aiVector2t& aiVector2t::operator -= (const aiVector2t& o) { - x -= o.x; y -= o.y; - return *this; + x -= o.x; y -= o.y; + return *this; } // ------------------------------------------------------------------------------------------------ template -const aiVector2t& aiVector2t::operator *= (TReal f) { - x *= f; y *= f; - return *this; +const aiVector2t& aiVector2t::operator *= (TReal f) { + x *= f; y *= f; + return *this; } // ------------------------------------------------------------------------------------------------ template const aiVector2t& aiVector2t::operator /= (TReal f) { - x /= f; y /= f; - return *this; + x /= f; y /= f; + return *this; } // ------------------------------------------------------------------------------------------------ @@ -220,5 +220,5 @@ inline aiVector2t operator - ( const aiVector2t& v) return aiVector2t( -v.x, -v.y); } -#endif +#endif #endif diff --git a/include/assimp/vector3.h b/include/assimp/vector3.h index d986f7836..29421f2d0 100644 --- a/include/assimp/vector3.h +++ b/include/assimp/vector3.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -60,7 +60,7 @@ template class aiMatrix4x4t; // --------------------------------------------------------------------------- /** Represents a three-dimensional vector. */ template -class aiVector3t +class aiVector3t { public: @@ -116,14 +116,14 @@ public: /** @brief Normalize the vector */ aiVector3t& Normalize(); - + /** @brief Componentwise multiplication of two vectors - * + * * Note that vec*vec yields the dot product. * @param o Second factor */ const aiVector3t SymMul(const aiVector3t& o); - TReal x, y, z; + TReal x, y, z; } PACK_STRUCT; diff --git a/include/assimp/vector3.inl b/include/assimp/vector3.inl index 452a8e7d0..7846aab4e 100644 --- a/include/assimp/vector3.inl +++ b/include/assimp/vector3.inl @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -81,13 +81,13 @@ aiVector3t::operator aiVector3t () const { } // ------------------------------------------------------------------------------------------------ template -AI_FORCE_INLINE void aiVector3t::Set( TReal pX, TReal pY, TReal pZ) { - x = pX; y = pY; z = pZ; +AI_FORCE_INLINE void aiVector3t::Set( TReal pX, TReal pY, TReal pZ) { + x = pX; y = pY; z = pZ; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE TReal aiVector3t::SquareLength() const { - return x*x + y*y + z*z; + return x*x + y*y + z*z; } // ------------------------------------------------------------------------------------------------ template @@ -96,13 +96,13 @@ AI_FORCE_INLINE TReal aiVector3t::Length() const { } // ------------------------------------------------------------------------------------------------ template -AI_FORCE_INLINE aiVector3t& aiVector3t::Normalize() { +AI_FORCE_INLINE aiVector3t& aiVector3t::Normalize() { *this /= Length(); return *this; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiVector3t& aiVector3t::operator += (const aiVector3t& o) { - x += o.x; y += o.y; z += o.z; return *this; + x += o.x; y += o.y; z += o.z; return *this; } // ------------------------------------------------------------------------------------------------ template @@ -112,12 +112,12 @@ AI_FORCE_INLINE const aiVector3t& aiVector3t::operator -= (const a // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiVector3t& aiVector3t::operator *= (TReal f) { - x *= f; y *= f; z *= f; return *this; + x *= f; y *= f; z *= f; return *this; } // ------------------------------------------------------------------------------------------------ template AI_FORCE_INLINE const aiVector3t& aiVector3t::operator /= (TReal f) { - x /= f; y /= f; z /= f; return *this; + x /= f; y /= f; z /= f; return *this; } // ------------------------------------------------------------------------------------------------ template diff --git a/include/assimp/version.h b/include/assimp/version.h index 4bd7bbed4..5502274c9 100644 --- a/include/assimp/version.h +++ b/include/assimp/version.h @@ -7,8 +7,8 @@ Copyright (c) 2006-2015, assimp team All rights reserved. -Redistribution and use of this software in source and binary forms, -with or without modification, are permitted provided that the following +Redistribution and use of this software 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 @@ -25,16 +25,16 @@ conditions are met: derived from this software without specific prior written permission of the assimp team. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +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 ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 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 DAMAGE. --------------------------------------------------------------------------- */ @@ -53,7 +53,7 @@ extern "C" { #endif // --------------------------------------------------------------------------- -/** @brief Returns a string with legal copyright and licensing information +/** @brief Returns a string with legal copyright and licensing information * about Assimp. The string may include multiple lines. * @return Pointer to static string. */ @@ -75,13 +75,13 @@ ASSIMP_API unsigned int aiGetVersionMajor (void); // --------------------------------------------------------------------------- /** @brief Returns the repository revision of the Assimp runtime. - * @return SVN Repository revision number of the Assimp runtime the + * @return SVN Repository revision number of the Assimp runtime the * application was linked/built against. */ ASSIMP_API unsigned int aiGetVersionRevision (void); //! Assimp was compiled as a shared object (Windows: DLL) -#define ASSIMP_CFLAGS_SHARED 0x1 +#define ASSIMP_CFLAGS_SHARED 0x1 //! Assimp was compiled against STLport #define ASSIMP_CFLAGS_STLPORT 0x2 //! Assimp was compiled as a debug build