Commit Graph

53 Commits

Author SHA1 Message Date
SirLynix 99471e8e65 Remove useless includes 2023-07-23 13:06:09 +02:00
SirLynix caf8446707 Math: Remove Algorithm file and move string functions to StringExt 2023-06-06 08:59:58 +02:00
Jérôme Leclercq 1a55b550fb
Improve math module (#396)
* Improve math module

- Mark almost everything constexpr
- Equality (a == b) is now exact, down to the bit level. If you want approximate equality use the new ApproxEqual method/static method
- Rename Nz::Extend to Nz::Extent
- Removed Make[] and Set[] methods in favor of their static counterpart and operator=
2023-06-02 22:30:51 +02:00
SirLynix 99c8027fd0 Remove .inl inclusion of their .hpp files
It has no real purpose and is breaking Clang parsing
2023-03-10 13:33:10 +01:00
SirLynix f98cbcd00a Copyright year update 2023-01-22 17:41:18 +01:00
SirLynix 2243d0b1a7 Move free operator overloads inside Nz namespace 2022-12-29 12:15:22 +01:00
SirLynix 5ca7b398c2 More Math cleanup 2022-12-18 16:33:05 +01:00
SirLynix 830eee78a8 Math: Rework Box and Rect classes 2022-12-18 14:57:14 +01:00
SirLynix 45d4195527 Math/Box|Rect: Fix Intersect method with zero-sized boxes 2022-11-05 00:49:38 +01:00
SirLynix 89c7bbf197 Update copyright date 2022-01-01 15:30:09 +01:00
Jérôme Leclercq f491ee1e38 Apply inclusion fix 2021-10-27 18:09:19 +02:00
Jérôme Leclercq ed7ab31933 Apply copyright fix to all files 2021-10-26 14:31:35 +02:00
Jérôme Leclercq 8db8533300 Fixes a lot of warnings and move math enums to enum classes 2021-08-19 20:27:20 +02:00
Jérôme Leclercq 2b6a463a45 Remove Nz::String and Nz::StringStream 2020-09-25 19:31:01 +02:00
Lynix c23b6dfa01 Copyright year update
I can't wait to see the conflicts this will cause
2020-03-05 17:27:26 +01:00
Lynix be8e89b228 Math: Remove all Set(class) methods 2019-12-10 09:49:40 +01:00
Lynix 69f079fcc8 Core/Serialization: Add type tag parameters 2018-03-20 20:56:06 +01:00
Jérôme Leclercq 4f1d52b395 Fix [Box|Rect]::Contains including outer border points 2017-06-01 17:24:28 +02:00
Lynix 06038a4d81 Cleanup pass 2017-04-22 15:08:05 +02:00
DrLynix f383eca19a Update copyright year 2017-01-20 12:58:35 +01:00
Gawaboumga 4c1c8dd2a9 Various fixes
Former-commit-id: bc799bb6b028f94a57c30dad8563367ab8a89973 [formerly 6c3e07c34170a8df0a4465d80cdfe9e5b8e04087]
Former-commit-id: e685bae1b31f698856efaf66d7bab8d96cb047f8
2016-07-28 19:22:41 +02:00
Lynix 300dc82806 Math: Fix missing includes
Former-commit-id: 21ff7a6db4beb9fc7968e9bf1ba7478ca2f55e21
2016-03-06 14:54:56 +01:00
Lynix e9d126b3a4 Math: Add serialization specialization for all types
Former-commit-id: 7e45c50d3b4eabfc581736f290fc208592d3d46c
2016-03-06 01:54:13 +01:00
Lynix 1c4135fc09 Improve documentation
Former-commit-id: 08d70f6a53a7f12d2748d145d1fe139595a1b39e
2016-03-01 15:37:05 +01:00
Gawaboumga d733a9c5d1 Documentation for Rect
Former-commit-id: 4cb6ff983f7f01611847d29699dab5ca06e17d4a
2015-12-30 15:34:36 +01:00
Lynix df8da275c4 Switch from Nz prefix to namespace Nz
What a huge commit


Former-commit-id: 38ac5eebf70adc1180f571f6006192d28fb99897
2015-09-25 19:20:05 +02:00
Gawaboumga 89e0f631d6 No problems
No problems found in Rect, Sphere, Vector2, Vector3 and Vector4


Former-commit-id: 6688608a2beaa9cf5328daf7e5108b6cfebd843d
2015-08-21 12:05:46 +02:00
Lynix 0363a1a8fa (Box|Rect) Fixed Contains method excluding edge vectors
Former-commit-id: f3281ad9f7af268fceccfdb9d4f67ac0ac76b445
2015-03-19 12:49:08 +01:00
Lynix ea8d683624 Updated copyright year
(532 files, wow)


Former-commit-id: cbb31f1124a86720bd3a54fe589a0f849a87b434
2015-01-21 20:53:01 +01:00
Lynix 7c47a93a72 Renamed Corner enum to BoxCorner
Added RectCorner and Rect::GetCorner method


Former-commit-id: dc99823ceb17f6e91cdf12779c982ab7e024ec24
2015-01-03 22:31:25 +01:00
Lynix a1624af969 Improved [Box|Rect]::Intersect performances
Allowed early returns


Former-commit-id: 59001afdd9734666640d440cb8b87b5a426973ce
2015-01-03 22:15:15 +01:00
Lynix 60d5c09c18 Renamed Basic.hpp to Algorithm.hpp
Former-commit-id: ba2858d26fb55069313fafc3e4464dc2e9224b7d
2014-07-28 15:18:39 +02:00
Lynix eceabcd241 Fixed some of the pull request code in order to merge it
Former-commit-id: 76d71f15b335535e7dfcaf986440a00e85e45c1b
2014-06-15 01:55:07 +02:00
Gawaboumga 676ed6c9d8 Correction of mathematical functions.
BoundingVolume: Add of constructor and setter OrientedBox. Extend is now
up to date.
Box: Use of <T>. Return this
Frustrum: Use of <T>
Matrix: Use of <T>
OrientedBox: m_corners is up to date
Rect: Add of operators /= and /. Return this
Sphere: Add of Intersect and Contains with box. Little corrections.
Vector2: Return

TaskSchedulerImpl: Add of include header cstdlib to compile because of
std::div
HardwareInfo/main: use of accentAigu

Former-commit-id: a5a7f8e8c45448e5683eb13bff453d6f67478d03
2014-06-14 22:10:37 +02:00
Lynix c096756dab Happy thousandth commit Nazara
Updated copyright year (Yay, 515 file updated)
Regenerated global headers
Fixed some typo
Improved some shaders
-Blah blah blah-

Thank you all for supporting my project !
-Lynix


Former-commit-id: e4e741b318ba4f203da5ffd265bd5e516e7ffd7d
2014-01-12 20:16:21 +01:00
Lynix 6b2af70f1d Cleaned interface
Former-commit-id: cdd284de8396d5988853c84d5db17bfa6fa0ba51
2013-06-09 22:05:05 +02:00
Lynix 7a7cfc3092 Added [Box|Rect]::Translate
Former-commit-id: 72b4cd351a7233df89709366fbe7ce59e4ba94e7
2013-06-09 15:50:56 +02:00
Lynix bb31a1666f Added [Box|Rect]::Get[Maximum|Minimum]()
Former-commit-id: 5226f2dfd2beaec2bc9075543f555cc48a457e3a
2013-06-09 15:41:57 +02:00
Lynix c940abdb75 Renamed [Box|Rect]::GetSize() to GetLengths()
Former-commit-id: 3c122057634a6472034b284bfe7091acbb41d004
2013-06-09 15:34:36 +02:00
Lynix c99ab36ebe Made Cube/Rect more user-friendly
Former-commit-id: 13ac0b9f6428059596c98f636caf61afd2a436b7
2013-05-30 03:02:43 +02:00
Lynix 32b1d02cec Updated copyright texts
Former-commit-id: 81483f7a94935c925e53b7f450e42635b1357833
2013-03-13 23:23:41 +01:00
Lynix 49cdbc3c47 Added [Cube|Rect]::ExtendTo(X, Y[, Z]);
Former-commit-id: 6f3a92644acd818f94088347cc6f1be939adb7f9
2013-02-19 01:10:47 +01:00
Lynix ee7a9c572b Added [Cube/Rect]::Get[Negative/Positive]Vertex
Former-commit-id: 66e4851be7751402077ea67df0554a51f3d28df2
2013-02-17 23:41:43 +01:00
Lynix 2e4c27188f Fixed math not including some headers
Former-commit-id: a0da804f710d2decf84cd2429d1fedc0df5e49f7
2013-02-17 02:09:10 +01:00
Lynix cdf632ac96 Minor changes to math module
-Fixed missing Set method: "X::Set(const X&)"
-Removed operator String


Former-commit-id: 690f161704ed85fc57a62b812af7933e390572b5
2013-02-16 19:21:14 +01:00
Lynix 962c330390 (Rect|Cube) Fixed ExtendTo method (Close #6)
Former-commit-id: 066d87f52361d1c30ec6521b637308ee4541bba1
2013-01-03 19:17:04 +01:00
Lynix 70ef422950 Big skeletal animation update
Added MeshInfos demo
Added MD5Mesh/MD5Anim loader support
Added Node class
Fixed ResourceParams not being exported
Added support for skeletal animation
(Animation/Mesh/Joint/SkeletalMesh/Skeleton)
Meshes are now only stored with VertexStruct_XYZ_Normal_UV_Tangent type
Moved Sequence declaration to Sequence.hpp

-Animation:
Renamed Create to Create[Keyframe|Skeletal]

-AxisAlignedBox:
Added Contains method
Added GetCorner method
Added GetCube method
Added Transform method

-Cube/Rect:
Added GetPosition method
Added GetSize method
(Almost) Fixed ExtendTo method
Fixed GetCenter method

-File:
Added GetDirectory static function
Added GetPath method
Renamed GetDirectoryPath method to GetDirectory

-Math module:
Fixed constructor/methods taking a non-const array
GetNormal/Normalize methods now takes an optionnal integer pointer
(returning length)
Made all classes default constructor trivial
Inverse, MakeIdentity, MakeZero, Normalize, Set methods now returns
reference to object

-Matrix4:
Modified methods to avoid copies
Removed COW (Too much overhead)
Removed Concatenate[Affine] static function

-Mesh:
Renamed Create to Create[Keyframe|Skeletal|Static]
Renamed Skin to Material

-MeshParams:
No longer takes declaration argument
Renamed loadAnimations to animated
Storage default to BufferStorage_Hardware if supported and
BufferStorage_Software otherwise

-OpenGL:
Added glGetBooleanv function
Added glIsEnabled function

-Quaternion:
Added ComputeW method
Added Conjugate method

-Renderer:
Added IsEnabled static function
Fixed GetLineWidth function not being static
Removed SetVertexDeclaration

-RenderWindow:
Made CopyTo[Image|Texture] method constant

-Resource
Fixed RemoveResourceListener crash

-ResourceLoader:
Loaders are now used in a LIFO context

-Stream:
Renamed GetLine method to ReadLine

-String:
Fixed Simplified

-Utility module
Added configuration define for strict resource parsing

-VertexBuffer
Now takes a VertexDeclaration pointer

-VertexDeclaration
No longer throw an error when getting a non-existing element


Former-commit-id: f7358c1231d6af48b799d2f24f077a001e16785b
2012-11-21 19:20:32 +01:00
Lynix 5bbc8d0fa4 Fixed debug-mode compilation
-Also added multiplication operator and equality comparison to Cube and
Rect


Former-commit-id: b4194a50fbe3025d3be1fc25d48a85d5a05fc5ac
2012-10-08 23:08:46 +02:00
Lynix cfd54b859d Added linear interpolation (Lerp) to math module
Former-commit-id: 5920e21f25d42701a1895734eca492fdf5351669
2012-10-08 14:45:29 +02:00
Lynix 5619ddb0b1 Changed all the files encoding to UTF-8
Named modules in licence informations
2012-08-10 03:21:37 +02:00