[Bf-funboard] Visibility and locking hierarchy

Janek Kozicki bf-funboard@blender.org
Fri, 16 Jan 2004 17:29:29 +0100


Thorsten Wilms said:     (by the date of Fri, 16 Jan 2004 15:32:18 +0100)

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

wow! I like the idea *very* much.

whole hierarhy/tree will be shown in its own window, right? (just like
3d view, or OOPS schematics)

>   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).

vertices can have some properties, like color: each vertex may have a 
different color, will this be included too, in the tree view?
 
>   Now an object is only unlocked, if every level above it up to the root 
> is not set to locked!
   <... same goes with visibility ...>

so we will have two options to click near each object (perhaps an icon
drawn right to the object's name?), like:
- left-click will unlock/lock this object *only*, 
- middle-click will unlock this object_and_all_parents_needed_to_make_
  _this_object_truly_unlocked,
            or will lock this object and all parents [*]
- right-click would bring some additional options?

the second icon near the object's name would be for visibility. same functionality.
- left-click toggles visibility (if parents are invisible, and object is 
                                 visible, then it's grayed out)
- middle-click displays object and all parnets to make it actually visible
               or hides this object and all parents [*]
- right-click changes display mode (wireframe, shaded, ....)

[*] to be decided whether all parents will be affected, or only actual
object. I prefer affecting all parents, since it gives symmetry:
lock/hide_chain, unlock/show_chain.

It is yet to be discussed whether LMB,MLM,RMB will do what I suggested,
or will they be swapped to act differently. Nonetheless I think 
that a *TOOLTIP* may appear when the mouse cursor is hovered over 
the icon. And the tooltip will tell everybody what each mouse button does.


>   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)!

I think I just described this above, right?
 
>   If an object is in one locked group and another not locked group, it's
> not locked.

no, I disagree. Each object is only one, no matter how many times it
appears in the tree. So locking this object, or toggling its visibility
affects ALL apperances of the object in the tree.

So you can toggle the visibility icon on the object, see it disappear
from 3d view. And see the visibility_icon_status changing right to the
ALL apperances of the object in the tree.

>   If an object is in one locked group and another not locked group, it's
> not locked.

ahhh I've read this again. You mean that in one chain some prants are
locked, while in another chain all parents are unlocked? So an object
has several parents in different states. Well, then:

depends what we do want to do with an object. If the change affects
object through the locked parent then the object cannot be changed. If
the change affects object through unlocked parent then it can be changed.

so if the parent "position" is unlocked, and parent "texture" is locked,
then the object's position can be changed, and object's texture cannot
be changed. (those are just examples)


-- 
Janek Kozicki                                                         |