[Bf-funboard] Visibility and locking hierarchy

Thorsten Wilms bf-funboard@blender.org
Fri, 16 Jan 2004 15:32:18 +0100


Hi!

A proposal for visibility management and locking in a hierarchical system:


  All 3d Objects are in an hierarchy (treeview). They can be put into groups. 
Objects are allowed to be in multiple groups. Groups can be nested.
  Groups can also function like query folders (example: a group containing 
all aramtures).

  All Objects and Groups have some boolean options regarding visibility 
(3d view), rendering and locking.
  Additionlay there might be wireframe/object colour and exclusive drawtype 
settings (locking plus fixed to wireframe = ghosting).
  Allthough an object can appear several times in the hierarchy, it's still 
only one 'real' object, so that all settings appear to be synced between 
all entries refering to the same object. 

  Optionaly vertice groups are represented as children of their objects.
Of course they have no own rendering or exclusive drawtype settings (but 
do have own visibility and locking).


Now to the logic:

  Visibility on is like locking off! This is important for consistency.

  The boolean options are evaluated from bottom up. If the single object 
is set visible as well as all levels above it, it will show up on 
screen. But if the "chain" is broken on any level with an item with 
visibility off, then not! 
  Now an object is only unlocked, if every level above it up to the root 
is not set to locked!

  One can also think of the positive (vis on, lock off) state of a boolean 
setting of an item in the hierarchy to mean 'bypass', so the individual 
settings of the children come to effect. But negative (vis off, lock on) 
means: overwrite childrens settings (would be shown grayed out)!

  If an object is in one locked group and another not locked group, it's
not locked. Because of one 'chain' transporting 'not locked' up to the 
root, while the other chain is broken. On a rather 'intuitive' level 
this makes not much sense with locking, but is just right with visibility. 
But it's perfectly logical and consistent in both cases. 



I'm willing to create mockups with these ideas (combined with timeline). 
But I hope we can discuss the 'logic' first (I'm not entirely sure I've 
catched all aspects) and I want feedback before I spent more time on this! 
Thanks in advance ;-)


---
Thorsten