Commit Graph

3387 Commits

Author SHA1 Message Date
4e0b1d9177 Merged changes in the trunk up to revision 39368.
Conflicts resolved:
release/scripts/startup/bl_ui/properties_render.py
2011-08-13 23:29:16 +00:00
165e6dbc07 Adding a readonly length_squared property to mathutils.Vector. This is simply vector.dot(vector), so nothing new is really added, but it's nice for writing more intent revealing code. In other words:
if vec.dot(vec) > some_distance*some_distance:
    do_something()

might not be quite as obvious looking as:

if vec.length_squared > some_distance*some_distance:
    do_something()

As to why you'd want to use length_squared over length is that length uses a square root, which isn't always necessary for simple distance checks (e.g., closest object, checks like the ones above, ect).
2011-08-11 09:40:14 +00:00
a7663cc377 use ghash for operator and menu types, was doing string lookup in the operator list (containing over 1000 items) for each button draw.
gives small speedup for UI drawing and overall startup time.
2011-08-11 06:06:17 +00:00
4262bd2906 fix [#28196] Unwrap tris in lightmap pack 2011-08-09 20:00:53 +00:00
820ced18b9 Merged changes in the trunk up to revision 39117. 2011-08-07 11:13:56 +00:00
3a82a690ab ifdef out support for for python owning and freeing BPy_StructRNA because this is only used for doc generation and it makes _every_ blender/python instance 4 bytes bigger - vertex/bezier point/object/scene/group etc. 2011-08-05 16:29:38 +00:00
85fe36ab61 pyrna - add own callable function type rather then using a standard python method, gives small speedup drawing buttons since every layout.prop/col/operator/menu etc creates and throws away one of these. 2011-08-05 16:21:37 +00:00
f77af0a8ce change BLO_library_append_begin to take a main argument rather then a context, means the BGE doesnt need to make a new empty context just to pass as an arg.
added doxygen description too.

this quiets the print when the BGE does linking.
2011-08-05 05:26:19 +00:00
e5e6f91856 fix [#28114] Render Crash
existing check for driver to use GIL was not thread safe and could cause, details in the report.

This bug was caused by a check to avoid hanging, a fix for [#27683] that worked in 2.4x because the UI didn't use python to draw while rendering.

Apply a different fix for [#27683], when calling an operator, call PyEval_SaveThread(), then PyEval_RestoreThread() so the GIL can be aquired by threads started by the operator - in this case bake starting a thread that evaluates drivers.
2011-08-04 01:56:36 +00:00
de0db6c8da unit arg for FloatVectorProeprty 2011-08-02 10:56:09 +00:00
9a0b816416 Merged changes in the trunk up to revision 38893. 2011-08-01 20:18:02 +00:00
f4293067c1 py api: sphinx doc corrections, pep8 cleanup and style edits, also added __all__ to some modules which were missing it. 2011-07-31 03:15:37 +00:00
d163ce5595 bpy fix for crash/assert on running dir() on a non collection property + some other minor corrections. 2011-07-30 13:18:04 +00:00
ced8f1dffc deprecate multiplication orders:
vector * matrix
 vector *= matrix
 vector * quaternion
 vector *= quaternion 

Use the reverse order instead, enable WITH_ASSERT_ABORT in cmake to promote the warnings into errors.
2011-07-25 01:44:19 +00:00
46db54c805 Merged changes in the trunk up to revision 38663. 2011-07-24 23:42:20 +00:00
314fdb941e revert recent matrix multiplication patch:
[#28032] Python Mathutils: Matrix Multiplication Error

Since they ended up reversing the order we better keep old code unless its proven to be incorrect.
also change Matrix.__repr__ function args to evaluate correctly (need to be inside a tuple).
2011-07-21 02:00:29 +00:00
ce03ec4b86 Merged changes in the trunk up to revision 38543.
Conflicts resolved:
doc/python_api/sphinx_doc_gen.py
source/blender/blenkernel/CMakeLists.txt
source/blender/makesdna/DNA_material_types.h
source/blender/render/intern/source/pipeline.c
source/creator/CMakeLists.txt
2011-07-20 23:33:10 +00:00
8b5e7f2650 patch [#28032] swapped matrix multiplication order, reverse it back, tested with FBX, BVH import/export which are very sensitive to changes in matrix rotation. 2011-07-20 06:41:51 +00:00
0ed523a8dd patch [#28032] Python Mathutils: Matrix Multiplication Error
from Scott Giese (sgiese)
2011-07-20 05:57:38 +00:00
35ce13562d script to report deprecated functions of text and their age in days. 2011-07-18 09:49:26 +00:00
7f850ff25d 'bgl' python module.
- add back slicing for buffers, (was previously in 2.4x but not working in py3):
  buf = bgl.Buffer(...)
  ls = buf[:]

- fix for crash with negative index access not being clamped.

- improve repr() function for multi dimensional buffers.

- add back 'list' attribute, but print deprecation warning.
2011-07-17 12:30:23 +00:00
5792bd7cc7 cmake: cleanup include paths, some duplicates and going up some unneeded dirs. 2011-07-17 09:11:13 +00:00
410c5e3cd2 cmake source definitions:
remove missing includes and use more strict formatting.
2011-07-16 23:01:14 +00:00
7984e338db fix for linking on mingw/scons with recent changes to mathutils 2011-07-15 10:10:25 +00:00
3a6158a8bf move mathutils into its own lib. 2011-07-15 04:01:47 +00:00
b028cba0e4 many mathutils exception types were wrong, went over all exceptions in mathutils and double checked the're correct. 2011-07-14 09:54:03 +00:00
Nathan Letwory
f70f167237 Shuffle code so it compiles with MSVC too. (Array of unknown size otherwise). 2011-07-14 08:20:19 +00:00
4da4943b5c formatting changes for python mathutils module. 2011-07-14 01:25:05 +00:00
0a46f9a737 rename bgl.Buffer attribute list to a method, to_list() as used for IDProps, also made repr function nicer. 2011-07-13 23:45:47 +00:00
aef6f15b49 minor changes to bgl.Buffer py class
- use getset rather then getattr
- remove verbose Buffer docstring, better use sphinx docs for this
- replace bge.Buffer with the Buffer class and add a __new__ function to the class so it can be called.
- improve error messages
2011-07-13 23:24:21 +00:00
80eb1eae42 run WM_exit(C) when blender as a python module exits 2011-07-10 18:54:02 +00:00
7370ba1839 fix for NULL pointer usages 2011-07-09 19:59:32 +00:00
d5984b2d50 fix [#27683] Blender hangs when baking a particle system when a driver is present 2011-07-09 17:41:39 +00:00
aa1668c6f8 fix for own error in intersect_line_sphere_2d(), using 3d function on 2d vectors 2011-07-04 08:13:27 +00:00
d29d3a89e4 fix for building WITH_PYTHON_MODULE 2011-07-03 19:15:46 +00:00
33e554799b Minor warning cleanup & fix
- comment/remove assignments from values to themselves.
- add case break statements (no functional change but some source code checkers notice).
- fix python errors when the sculpt brush is None.
2011-06-27 03:36:14 +00:00
31f0b6639a more compact code for recent sphere/line intersection functions. 2011-06-26 17:16:06 +00:00
933a65a76f 2d version of line/circle intersec function. 2011-06-26 11:08:12 +00:00
8eb119a5cd renamed math functions and made public
lambda_cp_line --> line_point_factor_v3
 lambda_cp_line2 --> line_point_factor_v2

correction to previous commit function name
 isect_seg_sphere_v3 --> isect_line_sphere_v3
 ... since its not clipped.

added a clip argument to the python version of the function.
2011-06-26 08:07:09 +00:00
540c2eee56 math func to find the intersection(s) between a segment and a sphere for C/python.
from python:
  i1, i2 = mathutils.geometry.intersect_line_sphere(l1, l2, sphere, radius)
2011-06-26 07:21:19 +00:00
d65ebf8c84 Merged changes in the trunk up to revision 37799.
Note for VS2008 plus CMake users:
I had to remove OpenEXR debug libs from the "blender" project properties >
Linker > Additional Dependencies.  Otherwise I got a number of linker errors
concerning duplicated symbols between libcmt.lib and libcmtd.lib.
2011-06-25 00:49:53 +00:00
a03707d408 SVN maintenance. 2011-06-24 23:14:26 +00:00
12e02fd474 own patch [#27752] Python Callback (Scriptlink functionality)
Python:
 * adds bpy.app.handlers which contains lists, each for an event type:
   render_pre, render_post, load_pre, load_post, save_pre, save_post
 * each list item needs to be a callable object which takes 1 argument (the ID).
 * callbacks are cleared on file load.

Example:
 def MyFunc(scene): print("Callback:", data)
 bpy.app.handlers.render_post.append(MyFunc)

C:
 * This patch adds a generic C callback api which is currently only used by python.
 * Unlike python callbacks these are not cleared on file load.
2011-06-24 16:54:30 +00:00
2023db70a8 cmake option to build without an audio library. 2011-06-23 09:27:56 +00:00
eaae38551f pep8 compliance 2011-06-21 17:17:51 +00:00
d33b63c5d8 update cmake checker to ignore file list and add some headers to the source list. 2011-06-21 17:00:34 +00:00
a50aa13fac py api: make all classes __init__ functions in a readonly state, except for operators.
In bug [#27701], the panels __init__ function (which runs on every draw), was adding new rna properties.
2011-06-21 08:09:42 +00:00
ccc112a857 fix for error in swizzle assignment leaving an unhandled exception. 2011-06-21 02:15:07 +00:00
31093223cd SVN maintenance. 2011-06-18 23:22:55 +00:00
82216030e9 py-api: store frequently used strings as unicode PyObject's to avoid creating/distroying every time.
also fix for cmake warning
2011-06-18 08:45:45 +00:00