Scene browser progress

 From:  Michael Gibson
2470.82 
Ok, some concepts are starting to come together a lot more.

So the overall idea for the browser is to let you do some common actions like hide, show, select, ... on a set of objects.

This will include groups that you have specifically defined, but also some other kinds of "built in" sets so you can have one place to go (with a common UI) for doing things like:

Select all curves
Hide everything except solids
Hide objects that have style = Red
Etc...

The browser has a few different categories for some of these different kinds of sets:




Groups will be containers that you can define that can hold a list of objects or other sub-groups.

Objects shows named objects - if you assign a name to an object or multiple objects, that name will show up under this section to allow you to hide/show/select it.

Types allows you to target all objects of a specific type, like all curve objects, or all solid objects, again with all the same kind of controls like hide/show/select/whatever:




Styles allows you to target all objects that have been assigned a particular visual style. Like for example if you want to hide all objects that have been assigned the style "Red", you can do that in this section. Again with the exact same controls as the other sections for hide/show/etc...




So the idea overall is that this is a "one stop shopping" place for dealing with management operations on sets of objects, with various different kinds of sets.


There is flexibility so you can work in different ways if you want to, like if you want to primarily base your organization off of the object's visual color, you can work with the Styles section (this will then be fairly similar to traditional CAD layers). If you want to just be able to get back to one particular object easily later on, then give that object a name and use the Objects section. If you want to do some more complex hierarchies, then you can set up groups. You can use any of these strategies by themselves or mix them together.

Then additionally being able to target specific object types like "hide all curves" will also use the same UI for hiding other sets... I think you'll even be able to do things like "hide all the curves that are not currently selected" in a natural way with this.


So anyway, that's where I am at currently with the overall strategy. It seems to be coming together in a coherent way now.


- Michael