Commit Graph

121 Commits

Author SHA1 Message Date
53e046157d fix for a bug where getting ID props would rename the datablock (including its type), then crash.
http://blenderartists.org/forum/showthread.php?p=1228670#post1228670
2008-10-08 09:27:26 +00:00
16f199bda3 one-liner fix for id property duplication bug 2008-10-06 10:24:32 +00:00
2ad7aa100d Fix for bug #17762: id property double type did not get copied correct. 2008-10-05 01:15:58 +00:00
2a331067cc resolve some compiler warnings with intel c/c++ compiler
* subsurf code had a lot of unused variables, removed these where they are obviously not needed. commented if they could be useful later.
* some variables declorations hide existing variables (many of these left), but fixed some that could cause confusion.
* removed unused vars
* obscure python memory leak with colorband.
* make_sample_tables had a loop running wasnt used.
* if 0'd functions in arithb.c that are not used yet.
* made many functions static
2008-09-29 17:08:11 +00:00
0118a82379 added support for doubles to the id property code, and made the python code use them by default 2008-07-24 19:22:17 +00:00
Chris Want
5d0a207ecb Patch from GSR that a) fixes a whole bunch of GPL/BL license
blocks that were previously missed; and b) greatly increase my
ohloh stats!
2008-04-16 22:40:48 +00:00
f312611a92 =ID Property Bugfix=
There was an extraneous line causing ID property groups
to have the wrong length, causing crashes in code that
relied on it.

This commit both fixes that and adds a version check to
fix group lengths for older .blends.  The subversion
was incremented to 15 for this change.
2008-02-23 02:12:50 +00:00
79c0360e88 IDP_CopyGroup wasn't copying the length, thanks Caedes for finding this one 2008-02-11 18:26:19 +00:00
Chris Want
5e3cffc64a Patch to change license to GPL only, from GSR. 2008-01-07 19:13:47 +00:00
c79966be52 Blenkernel for 2.5 project, changes mainly are because of disabling
bad level calls. (which is not finished at all)
2007-12-24 18:38:03 +00:00
4f01085709 =ID Property update=
ID Properties weren't being duplicated (by shift-D or any of the other
duplication functions).  So now ID properties are duplicated in the 
main copy_libblock function, which (as far as I can check) covers all
ID-contained ID properties.

I also updated the constraint system to copy pyconstraint ID properties
on shift-D.

This would probably be a good thing to add to the stable branch, btw.
2007-07-09 20:42:14 +00:00
01e8789f3f == PyConstraints ==
At last! The ability to code constraints in Python. This opens up many interesting rigging possibilities, as well as making prototyping constraints easier.

* A PyConstraint script must begin with the line 
#BPYCONSTRAINT
* It must also define a doConstraint function, which performs the core actions of the constraint.
* PyConstraints use IDProperties to store custom properties for each PyConstraint instance. The scripter can choose which of these ID-Properties to expose to a user to control the behaviour of the constraint. This must be done using the Draw.PupBlock method.

Credits to Joe Eager (joeedh) for coding the original patch on which this is based. I've made heavy revisions to large parts of the patch.

For more detailed information, and some demo scripts, see the following page:
http://aligorith.googlepages.com/pyconstraints2
2007-06-18 07:41:21 +00:00
9ac39d2e99 =ID Properties=
The code for preserving ID properties was apparently not
working.  Fixed that by adding a new function,
IDP_ReplaceInGroup, that automatically handles overriding a
property in a group while preserving the property order.

Its odd though that the previous fix I had wasn't
working :/
2007-05-22 04:41:21 +00:00
9c36683373 =ID Properties bugfix=
The array resizing function, meant to be used with strings, 
didn't work.  This  is because the id property size table 
had the wrong value for strings.
2007-04-19 22:49:48 +00:00
3a84791b53 =IDProperties Python update=
Updated id properties interface as per
discussed in python meeting.  Basically,
id properties are now entirely accessed
through the dict-like interface if IDGroupType.
Also, tp_getsetters are used throughout the code
now.

Using the dict interface allowed for a major cleanup
of the wrapping code.  The biggest change is that ID
properties are no longer wrapped in a structure with 
.type .name and .data members; instead when you get
properties from the group it returns the direct value.
Ints, strings and floats return simple python types,
while arrays and groups return special wrappers though.

This means to detect the type of an ID property, you
have to use type().  For string and int types this is
easy; for group and array types (which of course have
their own wrappers) you use type() with Blender.IDGroupType
or Blender.IDArrayType.

Update of epydocs plus a temporary gui script will be
forthcoming; the gui script will be removed before release
as of course by then we'll have a built-in gui for id
properties.
2006-12-16 23:54:45 +00:00
4d3bafd17d =IDProperties C-API tiny update=
IDP_GroupIterNext returned void* rather then IDProperty*.
Made it IDProperty*.

BTW, any people out there interested in using IDProperties
from the C side, feel free to email me comments and (especially!)
file bugreports assigned to me in the tracker. :)
2006-12-06 19:20:06 +00:00
71da111613 =IDProperties bugfix=
Another bug from the tracker, reported by Mike Stramba.
A duplicated Py_XDECREF in the wrong place made assigning
arrays from Vector objects not work.

Also, fixed nasty bug in C API of idproperties (the function
to look up a property from a group was broken).  Fixed a memory
leak too.

In addition, made "del group['property']" delete properties
from group; previously this would just crash (or at least it
should have).  Added a small addition to the example in the
epydocs for IDGroup.
2006-12-01 03:04:36 +00:00
99d66e1d5e =IDProperties bugfix=
Fixed the bug of "print type(property)" crashed blender;
just needed to add PyType_Ready init code for all ID property
python types; I made a function IDProp_Init_Types and put
code to call it in types_initAll().

Also added GPL/BL headers to idproperty files.
2006-11-29 23:31:46 +00:00
ab141e1439 =ID Properties Python Update=
IDProperties now have a sanity check to prevent different ID properties
in the same group from having the same name.  The appropriate code has been
added to the python bindings to catch this and raise an error.
2006-11-17 08:19:58 +00:00
4c5fcf136b =ID Properties Update=
This commit adds file reading/writing of ID properties to all ID types, 
and also adds python access for NMesh, Mesh, Scene and Image.  Note 
that the file reading code might need some more work for certain 
future/planned features to save right.  Also I updated a few comments in idprop.c.
2006-11-17 06:14:15 +00:00
8768707610 =ID Properties=
This commit adds supports for per-ID properties to blender.
See http://mediawiki.blender.org/index.php/BlenderDev/ID_Property
for more information on how it all works.

ID properties are accesable by python; but note that 
bindings have only been added to Object and Material thus
far.  However adding more bindings is easy and I plan
on adding several more hopefully within an hour of this inital 
commit.

A generic UI panel is also planned, that will go wherever its
needed; for example in the material buttons, editing buttons, etc.
I'll likely submit the initial code for that as a patch, though,
so matt and ton and others can go over it and make sure it's
all good. :)

VERY important, if you intend to use ID properties please
go to http://mediawiki.blender.org/index.php/BlenderDev/PropertyStandards
and start writing the appropriate standards for it.
2006-11-17 04:46:48 +00:00