The following changes were tested against building with a master copy.
For a more detailed report, please read the followings below:
The flags that were checked were the ones checked by default + the following:
ASSIMP_BUILD_ASSIMP_VIEW
ASSIMP_BUILD_SAMPLES
The list of compilable projects in Visual Studio were the following:
- assimp
- assimp_cmd
- assimp_simpleogl
- assimp_simpletextureddirectx11
- assimp_simpletexturedogl
- assimp_viewer
- INSTALL
- IrrXML
- uninstall
- unit
- UpdateAssimpLibsDebugSymbolsAndDLLs
- ZERO_CHECK
- zlib
- zlibstatic
The solution that was generated with the new changes comprised the same number of projects as the one from the master, unmodified. All projects except UpdateAssimpLibsDebugSymbolsAndDLLs were built without any error. All tests were run.
UpdateAssimpLibsDebugSymbolsAndDLLs could not be built because of the reasons explained in issue #3004.
Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, assimp team".
Changed copyright end year to 2020 in every reference "Copyright (c) 2006-XXXX, ASSIMP Development Team".
Changed copyright end year to 2020 in LICENCE.rtf.
Changed copyright end year in CMakeFiles.txt files and any other places referencing Assimp with a copyright start and end year.
Actually, both OpenGL and DirectX specify a matrix layout where the base vectors and the translational
part is consecutive in memory.
OpenGL uses post-multiplication of column-vectors and stores the matrix in column-major storage format:
| X1 Y1 Z1 T1 | | a |
| X2 Y2 Z2 T2 | | b |
| X3 Y3 Z3 T3 | | c |
| 0 0 0 1 | | 1 |
DirectX on the other hand uses row-major storage format but also pre-multiplication of
row-vectors
| a b c 1 | | X1 X2 X3 0 |
| Y1 Y2 Y3 0 |
| Z1 Z2 Z3 0 |
| T1 T2 T3 1 |
So a matrix is stored the same way in both frameworks and both times the translational part is consecutive,
which is not the format that Assimp uses.
The columns of the matrix are the images of the standard base vectors rather than the base vectors themselves. Added some
description of the row-major storage format.
Some are doxy comments, some are just trivial source comment typos.
Found using `codespell -q 3 --skip="./contrib" -I ../assimp-whitelist.txt`
whereby whitelist contained:
```
childs
iff
lod
nto
ot
whitespaces
```
check on doc/CMakeLists since is already checked on main CMakeLists.
At same time, Doxygen becomes required as no documentation can be built
without it.
Output directory now uses the user defined HTML_OUTPUT instead of
forced dir.
- Added included GNUInstallDirs on same UNIX check, avoiding duplication
of checks
Current documentation lacks a proper directory handling and switch for
Unix like systems.
The option BUILD_DOCS are added as disable by default, even so the
Doxyfile file is generated for a manual build.
Option HTML_OUTPUT are made cached to be properly replaced, as usually
done by some Linux distributions
Microsoft CHM option is enabled if MSVC is detected.