c439d14a9a
missed this second last commit
2015-02-15 14:11:05 +11:00
fa2f7c69ac
mathutils: Implement __hash__() functions
...
- all mathutils types
- only works on frozen data (so vectors can be used in sets/dict keys)
- uses same method as CPython, (matches hashing a tuple)
D1104 by @juicyfruit with own modifications
2015-02-15 14:02:08 +11:00
a9d979c8ef
mathutils: add freeze() method, is_frozen attr
...
This allows you to make any mathutils object immutable.
2015-02-15 14:01:59 +11:00
baa8b63111
Documentation: updated mathutils documentation
...
Added descriptions of the constructors, and improved the module-level
documentation.
2015-02-01 18:16:12 +01:00
9fd569a654
PyAPI: add utilities PyTuple_SET_ITEMS, Py_INCREF_RET
...
Setting all values of a tuple is such a common operation that it deserves its own macro.
Also added Py_INCREF_RET to avoid confusing use of comma operator.
2015-01-06 19:09:11 +11:00
8106a6b75d
mathutils: refactor instantiation
...
remove 'type' argument, very few mathutils objects are wrapped,
add new function for creating wrapped objects.
also fixes unlikely memory leak if the data-array can't be allocated.
2015-01-04 17:43:57 +11:00
e182d43d3e
cleanup: avoid ref-counting None for a new matrix
2014-12-28 15:13:01 +11:00
27b58f0eb2
Fix mathutils docstring typos.
2014-12-19 00:43:41 +09:00
9c81833430
Fix T42885: We still had a few wrong doc in mathutils about methods returning
...
instance of self while actually returning None...
2014-12-13 14:07:46 +01:00
4e732b9860
Fix building as Python module (manpage-generation)
2014-09-08 11:22:40 +10:00
e44c49d89d
Py Mathutils: add invert_safe()
and inverted_safe()
to Matrix
.
...
Those two mimic our BLI invert_m4_m4_safe - they add a small offset to diagonal values,
in case org matrix is degenerated, and if still non-invertible, return identity matrix.
Org patch by me, final enhanced version by ideasman42, many thanks!
2014-09-06 14:58:38 +02:00
671f75a12a
Math Lib: Add copy_m2_m2, unit_m2, zero_m2
2014-09-06 11:29:27 +10:00
92a380d0b2
Minor changes for standalone mathutils
2014-05-17 12:06:29 +10:00
c034a252bb
Code cleanup: quiet warnings
2014-04-29 22:37:44 +10:00
94bf67b78e
Error in last commit
2014-04-29 20:41:28 +10:00
232f19f0c2
PyAPI: Matrix.invert(ed): accept an optional fallback argument
...
This avoids try/except when its possible the matrix has no inverse.
2014-04-29 20:12:07 +10:00
409fb4da0c
Code cleanup: remove redundant matrix initialization
2014-04-29 18:13:20 +10:00
7199e2288f
Code cleanup: use sqrtf when input and output are float
2014-03-28 14:53:37 +11:00
63ccb26303
Code Cleanup: spelling
2014-01-17 17:35:03 +11:00
da6bc87b57
Fix T38138: incorrect API docs
2014-01-09 21:49:11 +11:00
3e49787b01
Python API: give a better error message when creating a Matrix fails
2013-11-29 09:48:42 +11:00
ab8d88ac18
add angle_to_mat2 utility function.
2013-09-10 20:45:47 +00:00
7db1d6556d
code cleanup: add break statements in switch ()'s, (even at the last case).
2013-07-21 08:16:37 +00:00
418011907c
remove nan copyrights from code added since blender become opensource (copy paste errors), also remove BKE_script.h
2013-07-02 10:14:59 +00:00
f9f7070336
add STREQ macro (commonly used macro like CLAMP, MAX2, STRINGIFY). Use for some areas of the python api, bmesh.
2013-03-10 06:18:03 +00:00
dc7a138830
correct bad comment
2012-12-16 10:28:52 +00:00
950fb66c38
replace TypeError with Value error for matrix operations where the type is right but it can't succeed because of a property of the instance (normally the wrong col/row size).
2012-12-16 04:10:57 +00:00
1886ae38b4
add Matrix.normalized(), handy for transforming normals.
2012-12-16 04:05:16 +00:00
adf7bfa8bb
ifdef out dynstr so mathutils can be compiled as an external module again.
2012-12-08 01:16:59 +00:00
004f8d78ed
default to Python3.3 on Linux for SCons and CMake, warn when building with python 3.2x or older.
...
also remove casts to keep Python3.2 warning quiet.
2012-11-05 13:48:42 +00:00
fae6c35ca7
code cleanup: quiet -Wdouble-promotion, disabled this warnings for a few files since its done throughout the code in some places.
2012-11-04 07:18:29 +00:00
e8a70d4b90
fix for crash in python matrix utility functions .inverted/adjugated/transposed if the matrix has a read callback and fails.
...
also replace DM_get_poly_data_layer with dm->getPolyDataArray() since this is the convention in subsurf code and the functions now added.
2012-10-31 03:21:13 +00:00
dbb40e805d
py api: add mathutils.Matrix adjugate(d) methods, also add adjoint_m2_m2() to BLI_math_matrix
2012-10-29 03:36:55 +00:00
9fc95bd7ee
use min/max inline functions where MIN2/MAX2 were doing type conversion.
2012-10-27 11:18:54 +00:00
fec81d9b56
use min_ max_ functions in more places.
...
also fix minor error in MOD decimate when the modifier did nothing the reported face count would be wrong.
2012-10-23 16:21:55 +00:00
c56a911cd9
style cleanup: comments
2012-10-20 20:20:02 +00:00
aa49ca25d5
incorrect spelling in comments
2012-09-26 20:05:38 +00:00
71d1b09708
minor code cleanup
2012-08-25 12:55:14 +00:00
32cf7fcdb1
code cleanup: spelling
2012-07-16 23:23:33 +00:00
84bf3e48c0
style cleanup: use c style comments in C code
2012-07-06 23:56:59 +00:00
81a509fa40
fix error in node template and quiet warning.
2012-07-03 21:03:39 +00:00
112162e09e
code cleanup: header cleanup
2012-04-30 14:24:11 +00:00
6520aa97a9
add 'idprop' module so we can document idprop.types.*, currently doc generator has no access to ID Property types.
2012-04-15 14:54:15 +00:00
b07f9446c7
Hopefully last change to matrix orthogonal check, touches Py API only
...
- is_orthogonal now checks matrix in the same way as it's defined
by linear algebra, meaning that it'll use is_orhonormal C check
- Added is_orthogonal_axis_vectors to check if vectors which defines
axises are orthogonal
2012-04-02 12:36:00 +00:00
26b0255049
Fix for is_orthogonal check which in fact was checking for orthonormal matrix.
...
Separated it into two functions so now it'll be clear if check happens for
orthonormal or just orthogonal.
2012-04-01 00:14:41 +00:00
89b83f0060
patch to add __deepcopy__ to mathutils types, this is no different to __copy__, except some py utilities expect __deepcopy__ to exist, so better have them.
2012-03-30 11:35:58 +00:00
11d12d945e
style cleanup: python api
2012-03-26 06:55:09 +00:00
05612c0419
code cleanup: not all mathutils callback creation functions tool unsigned char for type & subtype args.
2012-03-17 22:31:57 +00:00
02f707e9da
minor mathutils code cleanup - use mathutils callbacks as unsigned chars everywhere.
2012-03-17 10:46:02 +00:00
70d3d1aca6
style cleanup: py/capi
2012-03-16 21:39:56 +00:00