irrlicht/include
cutealien 9f9d22ca33 Fix some problems with CMatrix4::getRotationDegrees
- Only the getRotationDegrees without parameter is allowed to try fixing scale.
  My fault when I added a new function which takes scale parameter, that one is
  not allowed to be changed.
  On the up-side - we know have for the first time an option which works in cases only
  scale and rotation had been used and the user still has the correct scale.
  Before any solution for that was broken
- getRotationDegrees fixes 2 places which caused wrong results due to floating point inaccuracies
  New test for that got added
- Document the current restrains and problems of getRotationDegrees and getScale some more.
- Improve docs for other matrix4 functions.
- Add some comments about further improvements (I'll try if I find time)

Note: Irrlicht still assumes in at least 2 places (getting bone animations and Collada loader) that matrix
decomposing works. Which it doesn't yet for matrices which switch handedness (or have further transformations like skewing axes)
The bone animation is mostly fine for now with recent workaround (but that might cause other problems as it may be used too often), haven't checked Collada yet in detail.

TL/DR: This improves things with getRotationDegrees, but does not yet fix all troubles.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6439 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
..
aabbox3d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
CIndexBuffer.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
CMeshBuffer.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
coreutil.h Remove unused locale-like code, utf8 functions and headers 2021-08-30 22:42:13 +02:00
CVertexBuffer.h CVertexBuffer no longer re-allocates stuff when type doesn't change 2023-03-24 17:09:11 +01:00
dimension2d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EAttributes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
ECullingTypes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EDebugSceneTypes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EDeviceTypes.h Remove all mentions of iOS 2023-03-14 17:54:08 +01:00
EDriverFeatures.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EDriverTypes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EFocusFlags.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EGUIAlignment.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
EGUIElementTypes.h Delete profiler 2023-01-02 21:05:07 +01:00
EHardwareBufferFlags.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EMaterialFlags.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EMaterialTypes.h Remove more unused code (#87) 2021-12-29 13:12:09 +01:00
EMeshWriterEnums.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EPrimitiveTypes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EReadFileType.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
ESceneNodeTypes.h Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
EShaderTypes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
EVertexAttributes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
exampleHelper.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
fast_atof.h Remove unused locale-like code, utf8 functions and headers 2021-08-30 22:42:13 +02:00
IAnimatedMesh.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
IAnimatedMeshSceneNode.h Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
IAttributes.h Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
IBillboardSceneNode.h IBillboardSceneNode got functions to access meshbuffers. 2022-02-09 19:09:04 +01:00
IBoneSceneNode.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
ICameraSceneNode.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
IContextManager.h Add a unified cross platform OpenGL core profile binding (#52) 2021-08-07 21:56:00 +02:00
ICursorControl.h Add setRelativeMode for SDL driver (#123) 2022-10-24 21:19:11 +02:00
IDummyTransformationSceneNode.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IEventReceiver.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
IFileArchive.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IFileList.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IFileSystem.h Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
IGPUProgrammingServices.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIButton.h Merging r6145 through r6171 from trunk to ogl-es branch 2020-12-19 15:03:11 +00:00
IGUICheckBox.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIComboBox.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIEditBox.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIElement.h Fix IGUIElements not getting a tab order because of invisible or disabled parents. 2023-03-24 17:09:11 +01:00
IGUIEnvironment.h Remove more dead code (#108) 2022-06-01 15:03:52 +02:00
IGUIFileOpenDialog.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIFont.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIFontBitmap.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
IGUIImage.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIImageList.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIListBox.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIScrollBar.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUISkin.h Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
IGUISpriteBank.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIStaticText.h Merging r6145 through r6171 from trunk to ogl-es branch 2020-12-19 15:03:11 +00:00
IGUITabControl.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IGUIToolbar.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IImage.h Completely remove irrAllocator 2022-12-23 19:56:21 +01:00
IImageLoader.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IImageWriter.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IIndexBuffer.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
ILogger.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IMaterialRenderer.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IMaterialRendererServices.h Merging r6073 through r6074 from trunk to ogl-es branch. 2020-06-11 20:27:29 +00:00
IMemoryReadFile.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IMesh.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IMeshBuffer.h Replace HWBufferMap with a list and back pointers (#99) 2022-04-29 12:04:22 +02:00
IMeshCache.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IMeshLoader.h Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
IMeshManipulator.h Remove more dead code (#108) 2022-06-01 15:03:52 +02:00
IMeshSceneNode.h Delete lots of unused features (#48) 2021-07-23 16:23:44 +02:00
IMeshWriter.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IOSOperator.h Fix COSOperator::getSystemMemory 2022-03-09 22:52:11 +01:00
IReadFile.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IReferenceCounted.h Delete leak hunter 2023-01-02 20:37:18 +01:00
IRenderTarget.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
irrArray.h Replace std::min in irrArray.h 2022-07-20 22:09:07 +02:00
IrrCompileConfig.h Bump revision early 2023-03-11 15:12:05 +01:00
irrlicht.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
IrrlichtDevice.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
irrMath.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
irrpack.h Get rid of various old compiler and platform checks 2022-02-26 12:11:27 +01:00
irrString.h Replace core::string implementation with std::basic_string 2022-12-23 19:17:08 +01:00
irrTypes.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
irrunpack.h Get rid of various old compiler and platform checks 2022-02-26 12:11:27 +01:00
irrUString.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
ISceneCollisionManager.h Readd CSceneCollisionManager with only the method we need 2021-08-26 22:17:35 +02:00
ISceneManager.h Drop dependency on FileSystem from SceneManager 2023-03-19 19:47:43 +01:00
ISceneNode.h Remove core::list and replace uses with std::list (#105) 2022-05-22 00:00:32 +02:00
IShaderConstantSetCallBack.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
ISkinnedMesh.h Make irrArray backed by std::vector (#101) 2022-05-21 23:56:36 +02:00
ITexture.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
ITimer.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
IVertexBuffer.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
IVideoDriver.h Add documentation that sourceRect of draw2dImage is based on the OriginalSize 2023-03-24 17:09:11 +01:00
IWriteFile.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
Keycodes.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
line2d.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
line3d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
matrix4.h Fix some problems with CMatrix4::getRotationDegrees 2023-03-24 17:09:11 +01:00
mt_opengl.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
path.h Merging r6196 through r6248 from trunk to ogl-es branch 2021-08-27 10:59:31 +02:00
plane3d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
position2d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
quaternion.h Remove trivial copy constructors and operators 2021-03-09 12:47:54 +01:00
rect.h Merging r6186 through r6192 from trunk to ogl-es branch 2021-02-21 16:37:56 +00:00
S3DVertex.h Avoid ambigious conversions when compiling with c++20 2023-03-24 17:09:11 +01:00
SAnimatedMesh.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
SceneParameters.h Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
SColor.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
SExposedVideoData.h Remove all mentions of iOS 2023-03-14 17:54:08 +01:00
SIrrCreationParameters.h Remove all mentions of iOS 2023-03-14 17:54:08 +01:00
SMaterial.h Drop IrrCompileConfig (#163) 2023-03-11 15:04:09 +01:00
SMaterialLayer.h Completely remove irrAllocator 2022-12-23 19:56:21 +01:00
SMesh.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
SMeshBuffer.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
SOverrideMaterial.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
SSkinMeshBuffer.h Replace _IRR_OVERRIDE_ macro with override keyword 2022-10-15 01:09:09 +02:00
SVertexIndex.h Remove unused locale-like code, utf8 functions and headers 2021-08-30 22:42:13 +02:00
SVertexManipulator.h Remove more dead code (#108) 2022-06-01 15:03:52 +02:00
SViewFrustum.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
triangle3d.h Merging r5975 through r6036 from trunk to ogl-es branch. 2020-01-03 19:05:16 +00:00
vector2d.h Add hash for vector2d and vector3d (#93) 2022-05-10 19:26:24 +02:00
vector3d.h Add hash for vector2d and vector3d (#93) 2022-05-10 19:26:24 +02:00