Age | Commit message (Collapse) | Author |
|
if 2 pyrna structs used the same pointer they could incorrectly compare as true, this caused an error in theme saving because an item could match its parent and stop writing (to prevent recursive writing of same data).
eg:
context.user_preferences.themes[0].user_interface.wcol_regular == context.user_preferences.themes[0].user_interface
|
|
|
|
lookup and py api to de-duplicate some checks
|
|
to add a second version of the function which takes the property rather then its name.
|
|
This commit extends limit of ID and objects to 64 (it means 63 meaning
characters and 1 for zero-terminator). CustomData layers names are also
extended.
Changed DNA structures and all places where length constants were hardcoded.
All names which are "generating" from ID block should be limited by MAX_ID_NAME-2,
all non-id names now has got own define called MAX_NAME which should be used all
over for non-id names to make further name migration stuff easier.
All name fields in DNA now have comment with constant which corresponds to
hardcoded numeric value which should make it easier to further update this
limits or even switch to non-hardcoded values in DNA.
Special thanks to Campbell who helped figuring out some issues and helped a lot
in finding all cases where hardcoded valued were still used in code.
Both of forwards and backwards compatibility is stored with blender versions newer
than January 5, 2011. Older versions had issue with placing null-terminator to
DNA strings on file load which will lead to some unpredictable behavior or even
crashes.
|
|
The rendering device is now set in User Preferences > System, where you can
choose between OpenCL/CUDA and devices. Per scene you can then still choose
to use CPU or GPU rendering.
Load balancing still needs to be improved, now it just splits the entire
render in two, that will be done in a separate commit.
|
|
a collection, -1 if not found.
use this to replace bge text ui py function.
|
|
- docstring edits
- normalize ignores W axis as its supposed to.
|
|
a, b = mat.col[0:2]
and...
for a in mat.col: ...
|
|
named, but its more clear to use len().
mat.col_size --> len(mat.row)
mat.row_size --> len(mat.col)
|
|
string types
|
|
called a lot, only defined for gcc at the moment.
also some cmake formatting edits.
|
|
* Fixing compile error, ffmpeg include was missing.
|
|
|
|
|
|
attribute name rather than an empty string.
|
|
|
|
|
|
matrix size increased, future access too the vector would write past the allocated bounds. now raise an exception.
|
|
functional changes.
|
|
|
|
row/col swap a lot easier to deal with, since
now you can still use column access
previously...
mat[2] = 1, 2, 3
needed to be converted into...
mat[0][2] = 1
mat[1][2] = 2
mat[2][2] = 3
but with column access you can do...
mat.col[2] = 1, 2, 3
Having 'row' attribute is a bit redundant since direct indexing on a matrix uses row but included for completeness.
|
|
|
|
functional changes)
|
|
- rename 'bcycles' --> '_cycles', since this is the python convention when a py module uses a C module internally.
- use macros for returning None
- make with_osl an attribute rather then a function.
- changes methods METH_VARARGS --> METH_O when single args are used.
|
|
|
|
was adding the Buffer type to the module without increffing
|
|
ob.matrix_world = matrix
|
|
with Standard Notation
from Andrew Hale
Scripts which access matrix row/columns directly and scripts that create new matrices with elements defined will need updating.
For more info see...
* Guide for updating scripts
http://wiki.blender.org/index.php/User:TrumanBlending/Matrix_Indexing
* Discussion thread
http://markmail.org/message/4bpqpxkcvq4wjyfu
|
|
this is a part of patch 29534, being applied separately
from patch [#29534] Change Matrix Representation and Access in Python to Conform with Standard Notation
by Andrew Hale (trumanblending)
|
|
|
|
* 1. Resize 4x4, code was ridiculously complex (cleanup only)
* 2. matrix * matrix checking for compatibility wasn't working right (bug in last release)
* 3. fix for result size for matrix * vector if matrix is 4x4 and vector size 3 (bug in recent patch)
* 4. fix for result size vector * matrix if matrix is 4x4 and vector size 3 (bug in recent patch)
|
|
|
|
breaking matrix*vector.
|
|
Commit 42752
from Andrew Hale
|
|
Matrix.contigPtr --> matrix
Matrix.row_size --> num_col
Matrix.col_size --> num_row
|
|
|
|
Shows Columns as Columns
from Andrew Hale
converted from python string formatting to using BLI_dynstr
|
|
|
|
row/col individually.
- creating a new non-square matrix would use uninitialized memory.
|
|
instead use macros to access row/column's.
also add an assert so invalid index access will raise an error in debug mode, without this it was quite easy to access invalid memory without meaning to.
no functional change.
|
|
|
|
patch http://codereview.appspot.com/5482043
from Andrew Hale
* Text from the submission *
This patch adds the ability to use arbitrary sized vectors from mathutils.
Currently vectors are only of size 2, 3 or 4 since they are generally restricted
to geometric applications. However, we can use arbitrary sized vectors for
efficient calculations and data manipulation.
|
|
(in keeping with most of blenders code)
also split some long lines in own code.
|
|
|
|
exception.
|
|
|
|
|
|
|
|
("Cube", "//lib.blend") in bpy.data.objects
|