f35e9f047a 
					 
					
						
						
							
							Merge branch 'master' into blender2.8  
						
						
						
						
					 
					
						2018-09-19 12:14:36 +10:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bb3ec3ebaf 
					 
					
						
						
							
							BLI_utildefines: rename pointer conversion macros  
						
						... 
						
						
						
						Terms get/set don't make much sense when casting values.
Name macros so the conversion is obvious,
use common prefix for easier completion.
- GET_INT_FROM_POINTER  -> POINTER_AS_INT
- SET_INT_IN_POINTER    -> POINTER_FROM_INT
- GET_UINT_FROM_POINTER -> POINTER_AS_UINT
- SET_UINT_IN_POINTER   -> POINTER_FROM_UINT 
						
						
					 
					
						2018-09-19 12:12:21 +10:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7eaf00bfb0 
					 
					
						
						
							
							Cleanup: style  
						
						
						
						
					 
					
						2018-08-22 10:10:12 +10:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aa5a96430e 
					 
					
						
						
							
							Python: Add support for @ infix operator matrix multiplication  
						
						... 
						
						
						
						This differential revision implements the code for T56276
Reviewers: campbellbarton
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D3587  
						
						
					 
					
						2018-08-10 15:18:00 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						96b4e43e8d 
					 
					
						
						
							
							Fix T55527: creating a Quaternion without args should result in identity  
						
						... 
						
						
						
						quaternion
Reviewed By: campbellbarton
Differential Revision: https://developer.blender.org/D3487  
						
						
					 
					
						2018-07-16 15:03:21 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a69f985f40 
					 
					
						
						
							
							PyAPI: move deep-copy args check to py_capi_utils  
						
						
						
						
					 
					
						2018-06-26 09:31:57 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						81e584ed17 
					 
					
						
						
							
							CMake: Use GCC7's -Wimplicit-fallthrough=5  
						
						... 
						
						
						
						Use to avoid accidental missing break statements,
use ATTR_FALLTHROUGH to suppress. 
						
						
					 
					
						2017-05-20 14:01:03 +10:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						21fddf7d1c 
					 
					
						
						
							
							C99/C++11: replace deprecated finite() by isfinite().  
						
						
						
						
					 
					
						2016-05-17 21:39:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c5945ebb2c 
					 
					
						
						
							
							Cleanup: use quat to eul w/ mathutils API  
						
						
						
						
					 
					
						2015-10-24 17:50:20 +11:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fbca69c69a 
					 
					
						
						
							
							BLI_math: add mat3_normalized_to_* functions  
						
						... 
						
						
						
						Many uses of matrices for rotation keep them normalized,
so no need to normalize each time. 
						
						
					 
					
						2015-10-24 07:02:51 +11:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9fa628f35b 
					 
					
						
						
							
							mathutils: added exponential map to Quaternion  
						
						... 
						
						
						
						Added conversion to and from exponential map representation. This
representation is useful for interpolation of > 2 quaternions, or in
PD controllers.
Implementation in C functions quat_to_expmap,
quat_normalized_to_expmap, and expmap_to_quat with Python API, unit
tests and documentation.
Added Quaternion.to_exponential_map() and Quaternion(3-vector) to
Python API.
Reviewers: campbellbarton
Projects: #bf_blender
Differential Revision: https://developer.blender.org/D1049  
						
						
					 
					
						2015-02-01 13:06:00 +01:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8c7e1b648b 
					 
					
						
						
							
							Fix: correctly describing Quaternion.normalize()  
						
						... 
						
						
						
						The original comment seems to suggest that only the rotation vector
is normalized, leaving the rotation angle alone. This is not what happens,
though. The new comment matches the actual implementation, and the
implementation matches what is commonly understood as quaternion
normalization. 
						
						
					 
					
						2015-02-01 10:34:49 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3a40aed3d5 
					 
					
						
						
							
							Cleanup: use float versions of functions when in/output are floats  
						
						
						
						
					 
					
						2014-09-24 14:55:02 +10:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bd697dd4d7 
					 
					
						
						
							
							Fix T38402: invalid message for bad type assignments (Quat, Vector)  
						
						
						
						
					 
					
						2014-01-30 16:45:20 +11:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b6db417ee4 
					 
					
						
						
							
							code cleanup: use const's for vector args.  
						
						
						
						
					 
					
						2013-10-12 02:19:37 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						858ff6b696 
					 
					
						
						
							
							Fix for [ #34898 ] Typo in error message of mathutils.Vector  
						
						... 
						
						
						
						* Also fixed some more cases of "more then" -> "more than". 
						
						
					 
					
						2013-04-07 15:09:06 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						77f0be7fec 
					 
					
						
						
							
							support unary positive operators for vectors (same as numpy), so you can do 'vector_a = +vector_b', this makes a copy.  
						
						
						
						
					 
					
						2012-08-27 13:40:19 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						41ee294618 
					 
					
						
						
							
							don't pass the same value to axis_angle_to_quat() for axis & quat.  
						
						... 
						
						
						
						-/-This line, and those below, will be ignored--
M    mathutils_Quaternion.c 
						
						
					 
					
						2012-07-25 16:46:46 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2d2d36fe3b 
					 
					
						
						
							
							code cleanup:  
						
						... 
						
						
						
						- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace. 
						
						
					 
					
						2012-05-20 19:49:27 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						5935ff3aaa 
					 
					
						
						
							
							fix for Quaternion.to_axis_angle() returning a zero axis vector.  
						
						
						
						
					 
					
						2012-03-20 23:37:54 +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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						70d3d1aca6 
					 
					
						
						
							
							style cleanup: py/capi  
						
						
						
						
					 
					
						2012-03-16 21:39:56 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8646bb4464 
					 
					
						
						
							
							workaround [ #30480 ] Knife tool flicker  
						
						... 
						
						
						
						the problem was numeric precision when in ortho mode the start/end points for the view vector would be 2000 apart which caused trouble for the intersection test. 
						
						
					 
					
						2012-03-13 01:11:08 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3590076193 
					 
					
						
						
							
							style cleanup - comment formatting  
						
						
						
						
					 
					
						2012-03-03 20:36:09 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1fbd91b8a1 
					 
					
						
						
							
							typo cleanup, no functional changes.  
						
						
						
						
					 
					
						2012-02-24 06:44:04 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f48fb385ea 
					 
					
						
						
							
							formatting edits & minor corrections  
						
						
						
						
					 
					
						2011-12-26 00:42:35 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						67effc8aef 
					 
					
						
						
							
							use docstrings for mathutils getset's, also some formatting edits, no functional changes.  
						
						
						
						
					 
					
						2011-12-25 11:36:26 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						f3ac865cc0 
					 
					
						
						
							
							picky formatting of mathutils  
						
						
						
						
					 
					
						2011-12-24 13:26:30 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b42497b460 
					 
					
						
						
							
							mathutils get/set function rename + minor changes to matrix functions (no functional changes)  
						
						
						
						
					 
					
						2011-12-24 04:58:01 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a8ed803b66 
					 
					
						
						
							
							rename internal matrix struct member vars to avoid confusion  
						
						... 
						
						
						
						Matrix.contigPtr --> matrix
Matrix.row_size --> num_col
Matrix.col_size --> num_row 
						
						
					 
					
						2011-12-20 04:11:23 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3d8ee28750 
					 
					
						
						
							
							__str__ functions for other mathutils types  
						
						
						
						
					 
					
						2011-12-20 03:37:55 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9c9099a805 
					 
					
						
						
							
							formatting edits in py api, no functional changes  
						
						
						
						
					 
					
						2011-12-18 08:50:06 +00:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						083297fbf1 
					 
					
						
						
							
							formatting edits (120 width max) and remove some redundant casts  
						
						
						
						
					 
					
						2011-11-29 20:22:35 +00:00