[Bf-committers] per vertex properties and property sets: second proposal

Ton Roosendaal bf-committers@blender.org
Mon, 25 Aug 2003 14:55:08 +0200


Hi Gregor,

First, I would like to separate the two topics. One is the new =20
PropertySet, the other is per-vertex stuff.

1.
PropertySets are potentially an interesting feature for easier =20
integrating Blender with other programs, such as Yafray. For that =20
reason, I'd like to see feedback from them on this issue. And from the =20=

python team!
For example; a Material in Blender can have a property-set =20
"YafrayShader", with a load of relevant variables in it.

By putting Property Sets as 'Library Block' in the database, it can =20
offer users preset files with all relevant sets for an exporter (i.e. =20=

Yafray), or offer to append it in Blender with SHIFT+F1. Nice.
There's the danger however of 'doubles'. For example; a python script =20=

that needs a couple of Property Sets for export, should not create new =20=

ones all the time. The ID name of the Set should be the name to talk to =20=

it... would make it more clear and transparant. It also automatically =20=

forbids two sets with identical names.

You didn't put in your proposal who the struct Property would look like =20=

with a property-set in it, and how the API talks to such situations.

I'd propose to at least extend each current Library Block in Blender =20
(available in struct Main, and starting with an ID struct) with a =20
Property ListBase.

To be solved:
- how to present interface for properties. (we can take this into =20
account with UI makeover)
- where is the interface to add new PropertySets, how does it look?
- is there a good way to have recursive PropertySets too (sets in =20
sets)? Or how to  anticipate this for a later coding stage...

I can help implementing the database side of Sets, alloc/free/load/safe =20=

etc.

2.
Extending Mesh vertices with Properties should derive out of a clear =20
agreement and general understanding of the first point.
Apart from vertices, I can imagine people want it for faces, or curves =20=

in a Nurbs, etcetera. Something to look at. Also how it works with =20
current Vertex Groups.
I propose to discuss that later on.

-Ton-




On Sunday, Aug 24, 2003, at 18:23 Europe/Amsterdam, Gregor M=FCckl =
wrote:

> Hi!
>
> Although I've started with implementing global property sets I'm =20
> posting a
> massively updated version of the original proposal. The majority of =
the
> changes aims at easier implementation and easier reuse of global =20
> property
> sets in other situations (like object properties).
>
> See the appendix for details.
>
> I'm posting this to funboard as well as to the developers because I =20=

> belive
> that this is interesting to everyone, although more than half of the =20=

> document
> is on the technical side of things.
>
> Regards,
> Gregor
> <pvpdesign.txt>
------------------------------------------------------------------------=20=

--
Ton Roosendaal  Blender Foundation ton@blender.org =20
http://www.blender.org