Commit Graph

40 Commits

Author SHA1 Message Date
Sam Edwards 7790f8429d general: Fully qualify header references into the std namespace
Closes #341
2018-06-07 10:35:12 +02: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
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 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 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 8ecf6a7b9f Fix getattr() and hasattr() of vector classes when invalid attribute name is used 2015-06-21 15:33:42 +02:00
rdb 3371df8403 Fix tp_compare, better __repr__/__str__ handling 2015-03-25 19:36:35 +01:00
rdb 6db5d0dc11 Huge cppparser and interrogate overhaul, bringing:
* Better support for typedefs
* Same code should compile for both 32-bit and 64-bit
* C++11 typed enum support
* Synthesize __setitem__ when operator [] returns reference
* Rewrite coerce system to have better performance
* Change semantics of __getattr__ and __setattr__ to match
  Python's, add __getattribute__, __delattr__ and __delitem__
* Improve performance of slot functions a bit more
* Reduce memory overhead of type system
* Some support for wrapping arrays of numeric types
* C++11 character type support in cppparser
* Chars are handled as strings of length 1
* Template functions for CreatePyInstance that use runtime type map
* More functions from dtool as extension functions
* Code cleanup
2014-12-30 16:43:52 +01:00
rdb cb66a51bbc fmin and fmax should be const methods 2014-12-18 16:58:03 -05:00
David Rose 5d5150c5aa componentwise_mult() 2014-10-28 21:46:15 +00:00
rdb 5dae464394 Add integer vectors. Also add __pow__ operator to vectors. 2014-06-11 18:01:50 +00:00
rdb cc3bae7e76 Big interrogate cleanup, new extension system, add __iter__ support, add buffer protocol support 2013-09-17 10:11:43 +00:00
David Rose 42e8f806f1 leave lvecbase2/3 and lmatrix3 unaligned; it's so much cleaner 2011-12-19 14:17:26 +00:00
David Rose c5c21a566a UnalignedLVecBase etc, remove lerp etc, moving towards Eigen on win32 2011-12-18 16:30:31 +00:00
David Rose fd75c89949 whoops, overloaded LINMATH_ALIGN by mistake 2011-12-18 02:03:58 +00:00
David Rose 33b9a1e1cf integrate Eigen 2011-12-16 14:17:48 +00:00
David Rose 8ebd82fbcc support cross-compatibility of 32-bit and 64-bit bam files 2011-10-31 22:24:35 +00:00
rdb c32b599370 Port linmath classes to the new extension system 2011-01-03 09:02:23 +00:00
rdb defc9bf266 Add swizzling/write masks to the Point classes. Also, use the PySequence interface for write masks. Although totally pointless, I can now do v.xy = ['inf', 'nan'] or v.wxzyw = range(5) . 2010-12-23 21:48:50 +00:00
rdb 8cd721b150 Write masks and swizzle masks for all vecbase and vector classes (e.g. ability to do v.xy *= 1.5 or v.wz = Vec2(1, 2) and stuff) 2010-12-21 11:09:43 +00:00
rdb e1347210f6 Swizzle masks for LVecBase* (ability to access components as properties like vec.x, but also like vec.xyz or vec.zyxw in any order). I'll do write masks tomorrow or so 2010-12-20 21:49:29 +00:00
David Rose 816ddc0387 low-level support for python copy and pickle modules 2009-12-10 01:09:06 +00:00
David Rose 12cc0232fc add LVecBase3::project, etc., suggested by nik 2009-04-10 18:32:38 +00:00
David Rose 26d832b486 fix compiler warnings 2008-11-10 20:23:40 +00:00
David Rose 58e0537e3c wide interrogate improvements: sequence protocol, MAKE_SEQ, __setitem__, and parameter coercion 2008-11-07 21:12:42 +00:00
David Rose fb9c56432a we are now using the modified BSD license 2008-05-28 18:37:20 +00:00
Zachary Pavlov 220d33e006 okay, this is going to be a big commit. The basic idea here is to add transparent defines to allow for directory based dlls later. This will let us build tau again. ugggg 2007-07-20 23:02:51 +00:00
David Rose 8a78fffd8f multithreading optimizations, tau profiler, related changes 2006-04-05 19:36:05 +00:00
Josh Yelon 947294fe99 Added fmax and fmin operators to vector 2006-02-07 20:18:07 +00:00
David Rose 09878b64b0 use python_repr() to make linmath pickleable 2005-09-14 00:09:18 +00:00
David Rose dbb24d9cc9 phash_map, etc. 2004-10-02 05:07:16 +00:00
David Rose 843c0331ae update license, change remaining local #includes to use quotation marks 2004-02-13 19:27:33 +00:00
Dave Schuyler 078f4c50c5 small changes and added add_x() to vectors 2003-09-05 04:31:19 +00:00
cxgeorge da9b315099 avoid name collisions with stlport 2001-12-10 02:52:47 +00:00
David Rose 2f4e207edb Update copyright header 2001-05-25 21:27:38 +00:00
David Rose fcb24f02ef remove tab characters 2001-05-25 15:56:49 +00:00
David Rose 57b4db99c5 *** empty log message *** 2001-05-14 22:10:12 +00:00
cxgeorge 23c5d85166 hand-optimize linmath, force inlining 2001-04-28 02:58:58 +00:00
David Rose ee8db5b5b5 *** empty log message *** 2001-04-04 21:40:58 +00:00