Commit Graph

265 Commits

Author SHA1 Message Date
rdb 9e87af9dd7 linmath: Fix compiler warning with gcc 14 2024-08-14 19:09:20 +02:00
rdb 8c8cbeea98 linmath: For repr, use as much precision as needed for roundtrip
Will use as few digits as is necessary to ensure that round-tripping the same number with pstrtod will result in the same vector.  This prevents eg. 3.3 formatting as 3.29999995 while still ensuring that two floats that are not equal (other than nan) are guaranteed to have a different string representation.

Uses a hacky pftoa function that can be abandoned as soon as we adopt C++17, which has to_chars that does what we need

Fixes #1671
2024-08-07 17:24:11 +02:00
rdb 0b7c694f10 linmath: Make mat.rows[n] and mat.cols[n] assignable to 2022-10-19 16:04:57 +02:00
rdb fbea0056f5 general: Allow compiling Panda headers on Windows without NOMINMAX 2022-05-10 15:58:33 +02:00
rdb 8f9d23ff29 linmath: Remove redundant sin() calculation in LQuaternion 2021-11-28 13:58:13 +01:00
rdb 2386e80448 linmath: Backport support for floor division to 1.10
Backport of 8944737844

(Also fixes return type of `__pow__` to always be derived class)
2021-06-01 10:45:56 +02:00
rdb 4e0e945279 linmath: Backport round(), floor(), ceil() support for vectors
See #821
2021-06-01 10:23:58 +02:00
rdb 59ab828098 linmath: Fix typo in Mat4 isub docstring
Fixes panda3d/panda3d-docs#96
2021-02-11 03:28:34 +01:00
rdb 3daf1ae1b1 general: Assorted API reference fixes 2020-09-09 18:03:49 +02:00
rdb 05ed918d63 general: mark deprecated methods with the @deprecated tag
This makes them easier to find and, if necessary, automatically generate deprecation warnings for.
2019-09-08 09:50:28 +02:00
rdb 818ed57894 linmath: work around obscure MSVC optimization bug with Eigen 2019-08-18 18:07:00 +02:00
rdb cc4d5259cc linmath: fix mat4.get_col3() and mat4.get_row3() when using Eigen 2019-05-02 19:40:23 +02:00
Sam Edwards 4695557a5d general: Don't require BUILDING_* for static builds 2018-08-31 23:54:32 -06:00
rdb 371c34d13b linmath: allow constructing matrix from rows
This also enables using mat[n] wherever an LVecBase4 is accepted, as well as Mat4(*mat).
2018-08-19 16:42:36 +02:00
Mitchell Stokes 247575df62 CoordinateSystem: Document enumerators 2018-07-30 21:26:50 -07:00
rdb 886e1c2f16 general: fix many compilation warnings in GCC 8 2018-06-19 00:37:28 +02:00
Sam Edwards b2bfb31114 general: Remove `using std::*` from headers
Also remove most `using namespace std;` statements. The only one that remains is in py_panda.h.

Closes #350
Closes #335
2018-06-14 16:04:49 +02:00
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02:00
Sam Edwards e2b4353800 general: Replace NULL (and 0 as pointer) with C++11 nullptr
Exceptions to this replacement are:
- .c files
- Headers included by a .c file
- stb_image.h
- dr_flac.h
- Strings
- Comments
2018-06-03 16:35:13 -06:00
rdb 9fad3dba60 general: remove macros for compatibility with non-C++11 compilers
Now that we require MSVC 2015, we no longer need all this nonsense, so we can write cleaner code.
2018-05-23 23:33:05 +02:00
Sam Edwards 9dd37e9dbc general: Add guards to ensure proper BUILDING_ macros defined
This is designed to sanity-check the buildsystem, ensuring that the
expected BUILDING_ macros are defined at the expected time. It
also helps catch cases where the wrong BUILDING_/EXPCL_ macros
are used.
2018-03-25 13:17:52 -06:00
rdb a6f737d4eb linmath: make raising quaternion to power more meaningful
Fixes #160
2017-12-31 09:30:32 +01:00
rdb 0281f306e1 express: add PointerToArray.count() 2017-12-24 15:09:21 +01:00
rdb 8ed85c80c8 linmath: permit single-argument/fill value for UnalignedLVecBase4 2017-10-06 23:59:17 +02:00
rdb 8c914a2855 Work towards ABI stability wrt allocation. Let MemoryHook take advantage of dlmalloc's internal bookkeeping. 2017-02-17 13:02:01 +01:00
rdb 41d26284d7 Fix various compilation issues on Mac.
Work around bugs in Apple Clang that ships with XCode 4 with C++11 by disabling constexpr
Use move() instead of std::move()
It also looks like we'll have to continue using pystub for tools that use libp3interrogatedb for now.
2017-01-08 17:17:56 -05:00
rdb cf105f276c More alignment fixes for 32-byte AVX 2016-12-28 20:23:27 +01:00
rdb 6728e5ecbe Merge remote-tracking branch 'origin/release/1.9.x' 2016-06-23 16:14:18 +02:00
rdb bf26cecb32 Fix some compile warnings 2016-06-22 13:44:16 +02:00
rdb ce29ae490d Interrogate improvements, more properties, MAKE_SEQ_PROPERTY 2016-05-11 00:16:53 +02:00
rdb fb78fe6e2a Interrogate enum class support (maps to Python 3.4 enums), sanify wrapper code 2016-05-07 00:45:26 +02:00
rdb 245d1241c9 Restore assign() for vector classes 2016-03-28 22:36:31 +02:00
tobspr 0fcfb8e372 New file headers, new comment style 2016-02-17 17:47:48 +01:00
tobspr 8dfef99915 Fix swizzle masks on vector types 2016-02-07 19:45:01 +01:00
rdb 090e912ce6 Cleanup of comments and whitespace 2016-02-01 22:30:43 +01:00
tobspr a9e18f9d24 Improve Vector implementations: - Remove unecessary assignment operators - Add normalize() method - Use properties for certain swizzle masks - Add constexpr where appropriate 2016-01-03 22:02:00 +01:00
rdb 62cdb5cac5 Remove temp-hpr-fix 2015-12-26 13:26:10 +01:00
rdb db3ab953e4 Remove ppremake, genPyCode, and all hacks created to support them 2015-11-09 19:06:49 +01:00
rdb 6ccd64d99e Fix ordering of methods relative to MAKE_SEQ 2015-11-09 18:13:29 +01:00
rdb 920210c999 Fix the vast majority of Interrogate parse issues and warnings, add support for inline namespace and constexpr 2015-10-16 14:57:40 +02:00
rdb 18ad6d1543 Replace many int params with size_t params where appropriate, and work towards fixing type conversion warnings 2015-10-07 18:58:26 +02:00
rdb bae5c195af Merge branch 'release/1.9.x'
Conflicts:
	dtool/src/dtoolbase/dtoolbase.h
2015-10-07 15:54:02 +02:00
rdb 706f6f7de5 Squelch some of the type conversion warnings in MSVC 2015-10-06 17:05:40 +02:00
rdb 57e5c8fb25 Wrap TypeHandle and ButtonHandle as ints in C wrappers 2015-09-10 15:29:31 +02:00
rdb d569e2ab6f Merge branch 'release/1.9.x' 2015-08-16 13:55:42 +02:00
rdb f161ce82cc Add argument names to quaternion classes so they show up in the API ref 2015-08-12 18:29:54 +02:00
rdb 7a836cbbd9 Merge branch 'release/1.9.x' 2015-06-21 17:46:34 +02:00
rdb 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb a70878c4ef Merge branch 'release/1.9.x' 2015-06-03 20:26:22 +02:00
rdb 141c7a9c35 Improve build performance on Windows slightly 2015-06-02 21:02:35 +02:00