diff --git a/doc/AssimpDoc_Html/AssimpDoc.chm b/doc/AssimpDoc_Html/AssimpDoc.chm
index 5137ed493..6e4e3f765 100644
Binary files a/doc/AssimpDoc_Html/AssimpDoc.chm and b/doc/AssimpDoc_Html/AssimpDoc.chm differ
diff --git a/doc/dox.h b/doc/dox.h
index a4516dc7a..d0dcf2257 100644
--- a/doc/dox.h
+++ b/doc/dox.h
@@ -5,8 +5,6 @@
/**
@mainpage assimp - Open Asset Import Library
-
-
@section intro Introduction
assimp is a library to load and process geometric scenes from various data formats. It is tailored at typical game
@@ -85,7 +83,7 @@ as long as you retain the license information and take own responsibility for wh
the LICENSE file.
You can find test models for almost all formats in the /test/models directory. Beware, they're *free*,
-but not all of them are *open-source*. If there's an accompagning '\source.txt' file don't forget to read it.
+but not all of them are *open-source*. If there's an accompagning '\\source.txt' file don't forget to read it.
@section main_install Installation
diff --git a/include/assimp/Exporter.hpp b/include/assimp/Exporter.hpp
index 15918dd47..d20df2b46 100644
--- a/include/assimp/Exporter.hpp
+++ b/include/assimp/Exporter.hpp
@@ -70,7 +70,7 @@ class ProgressHandler;
* The interface is modeled 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
+ * In a nutshell, there are two export interfaces: #aiExportScene, which writes the
* 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
diff --git a/include/assimp/SceneCombiner.h b/include/assimp/SceneCombiner.h
index 8d25d8c7c..24326125c 100644
--- a/include/assimp/SceneCombiner.h
+++ b/include/assimp/SceneCombiner.h
@@ -4,7 +4,6 @@ Open Asset Import Library (assimp)
Copyright (c) 2006-2020, assimp team
-
All rights reserved.
Redistribution and use of this software in source and binary forms,
@@ -241,10 +240,10 @@ public:
* meshes should have the same material indices, too. The output
* material index is always the material index of the first mesh.
*
- * @param dest Destination mesh. Must be empty.
- * @param flags Currently no parameters
- * @param begin First mesh to be processed
- * @param end Points to the mesh after the last mesh to be processed
+ * @param dest Destination mesh. Must be empty.
+ * @param flags Currently no parameters
+ * @param begin First mesh to be processed
+ * @param end Points to the mesh after the last mesh to be processed
*/
static void MergeMeshes(aiMesh **dest, unsigned int flags,
std::vector::const_iterator begin,
@@ -253,12 +252,12 @@ public:
// -------------------------------------------------------------------
/** Merges two or more bones
*
- * @param out Mesh to receive the output bone list
- * @param flags Currently no parameters
- * @param begin First mesh to be processed
- * @param end Points to the mesh after the last mesh to be processed
+ * @param out Mesh to receive the output bone list
+ * @param flags Currently no parameters
+ * @param begin First mesh to be processed
+ * @param end Points to the mesh after the last mesh to be processed
*/
- static void MergeBones(aiMesh *out, std::vector::const_iterator it,
+ static void MergeBones(aiMesh *out, std::vector::const_iterator begin,
std::vector::const_iterator end);
// -------------------------------------------------------------------
@@ -268,9 +267,9 @@ public:
* of a property present in different materials, the first occurrence
* is used.
*
- * @param dest Destination material. Must be empty.
- * @param begin First material to be processed
- * @param end Points to the material after the last material to be processed
+ * @param dest Destination material. Must be empty.
+ * @param begin First material to be processed
+ * @param end Points to the material after the last material to be processed
*/
static void MergeMaterials(aiMaterial **dest,
std::vector::const_iterator begin,
@@ -279,12 +278,12 @@ public:
// -------------------------------------------------------------------
/** Builds a list of uniquely named bones in a mesh list
*
- * @param asBones Receives the output list
- * @param it First mesh to be processed
- * @param end Last mesh to be processed
+ * @param asBones Receives the output list
+ * @param begin First mesh to be processed
+ * @param end Last mesh to be processed
*/
static void BuildUniqueBoneList(std::list &asBones,
- std::vector::const_iterator it,
+ std::vector::const_iterator begin,
std::vector::const_iterator end);
// -------------------------------------------------------------------
diff --git a/include/assimp/StreamReader.h b/include/assimp/StreamReader.h
index 74bb7995f..95459a0d2 100644
--- a/include/assimp/StreamReader.h
+++ b/include/assimp/StreamReader.h
@@ -64,8 +64,7 @@ namespace Assimp {
* little and big endian format. Don't attempt to instance the template directly. Use
* StreamReaderLE to read from a little-endian stream and StreamReaderBE to read from a
* BE stream. The class expects that the endianness of any input data is known at
- * compile-time, which should usually be true (#BaseImporter::ConvertToUTF8 implements
- * runtime endianness conversions for text files).
+ * compile-time, which should usually be true.
*
* XXX switch from unsigned int for size types to size_t? or ptrdiff_t?*/
// --------------------------------------------------------------------------------------------
@@ -76,7 +75,8 @@ public:
using pos = size_t;
// ---------------------------------------------------------------------
- /** Construction from a given stream with a well-defined endianness.
+ /**
+ * @brief Construction from a given stream with a well-defined endianness.
*
* The StreamReader holds a permanent strong reference to the
* stream, which is released upon destruction.
@@ -99,6 +99,10 @@ public:
}
// ---------------------------------------------------------------------
+ /// @brief The class constructor with the steam and the endian working
+ /// mode.
+ /// @param stream The input stream to read from.
+ /// @param The endian working mode.
StreamReader(IOStream *stream, bool le = false) :
mStream(std::shared_ptr(stream)),
mBuffer(nullptr),
@@ -111,6 +115,7 @@ public:
}
// ---------------------------------------------------------------------
+ /// @brief The class destructor.
~StreamReader() {
delete[] mBuffer;
}
@@ -332,13 +337,13 @@ private:
typedef StreamReader StreamReaderLE;
typedef StreamReader StreamReaderBE;
#else
-typedef StreamReader StreamReaderBE;
-typedef StreamReader StreamReaderLE;
+using StreamReaderBE = StreamReader;
+using StreamReaderLE = StreamReader;
#endif
// `dynamic` StreamReader. The byte order of the input data is specified in the
// c'tor. This involves runtime branching and might be a little bit slower.
-typedef StreamReader StreamReaderAny;
+using StreamReaderAny = StreamReader;
} // end namespace Assimp
diff --git a/include/assimp/cimport.h b/include/assimp/cimport.h
index c68ca2d53..5b1930b94 100644
--- a/include/assimp/cimport.h
+++ b/include/assimp/cimport.h
@@ -60,7 +60,7 @@ extern "C" {
struct aiScene;
struct aiFileIO;
-typedef void (*aiLogStreamCallback)(const char * /* message */, char * /* user */);
+using aiLogStreamCallback = void (*)(const char * /* message */, char * /* user */);
// --------------------------------------------------------------------------------
/** C-API: Represents a log stream. A log stream receives all log messages and
@@ -93,7 +93,7 @@ struct aiPropertyStore {
};
/** Our own C boolean type */
-typedef int aiBool;
+using aiBool = int;
#define AI_FALSE 0
#define AI_TRUE 1
@@ -706,7 +706,6 @@ ASSIMP_API int aiVector3AreEqualEpsilon(
/** Check if vector \p a is less than vector \p b.
* @param a First vector to compare
* @param b Second vector to compare
- * @param epsilon Epsilon
* @return 1 if \p a is less than \p b
* @return 0 if \p a is equal or greater than \p b
*/
@@ -1031,11 +1030,11 @@ ASSIMP_API void aiMatrix4DecomposeIntoScalingEulerAnglesPosition(
* rotational split into an axis and rotational angle,
* and it's translational components.
*
- * @param mat Matrix to decompose
- * @param rotation Receives the rotational component
- * @param axis Receives the output rotation axis
- * @param angle Receives the output rotation angle
- * @param position Receives the output position for the x,y,z axes.
+ * @param mat Matrix to decompose
+ * @param scaling Receives the scaling component
+ * @param axis Receives the output rotation axis
+ * @param angle Receives the output rotation angle
+ * @param position Receives the output position for the x,y,z axes.
*/
ASSIMP_API void aiMatrix4DecomposeIntoScalingAxisAnglePosition(
const C_STRUCT aiMatrix4x4 *mat,
diff --git a/include/assimp/metadata.h b/include/assimp/metadata.h
index 52121fbf1..fd4f3ce72 100644
--- a/include/assimp/metadata.h
+++ b/include/assimp/metadata.h
@@ -410,11 +410,11 @@ struct aiMetadata {
return Get(aiString(key), value);
}
- /// Return metadata entry for analyzing it by user.
- /// \param [in] pIndex - index of the entry.
- /// \param [out] pKey - pointer to the key value.
- /// \param [out] pEntry - pointer to the entry: type and value.
- /// \return false - if pIndex is out of range, else - true.
+ /// @brief Return metadata entry for analyzing it by user.
+ /// @param index [in] index of the entry.
+ /// @param key [out] pointer to the key value.
+ /// @param entry [out] pointer to the entry: type and value.
+ /// @return false - if pIndex is out of range, else - true.
inline bool Get(size_t index, const aiString *&key, const aiMetadataEntry *&entry) const {
if (index >= mNumProperties) {
return false;
@@ -426,8 +426,8 @@ struct aiMetadata {
return true;
}
- /// Check whether there is a metadata entry for the given key.
- /// \param [in] Key - the key value value to check for.
+ /// @brief Check whether there is a metadata entry for the given key.
+ /// @param key [in] the key value value to check for.
inline bool HasKey(const char *key) {
if (nullptr == key) {
return false;