A question about Hide

Next
 From:  d^^b (DAVID)
3919.1 
Hello:

I´m sorry if this question has been discussed yet.

If I am working with one layer, and I hide any object from that, when I unhide pressing shift + Hide, all the objects from the no-active layers are unhidden, and then I must to desactivate the layers again.

Are there any option for unhide only the objects from the active layer?

Thank you
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3919.2 In reply to 3919.1 
Hi David, it sounds like you are currently using the Hide button under the Edit menu?

If you want to work on objects by layers rather than just all objects, you can do that by using the Scene Browser to do some hiding and showing stuff rather than the Edit > Hide button.

So say for instance you want to show all objects that have Layer (in MoI called a "Style") of Red - to do that go to the Scene browser, and click on this spot right here:



When you click there you'll see an eye icon that will turn on or off:



When the eye is showing it means that all objects that belong to that style are shown right then.

When the spot is blank with no eye showing at all, that means that all the objects that belong to that style are currently hidden, but clicking on that area will then show them.

Also if there is some mix of some objects that belong to that style are shown and some others are hidden, it will show a half eye and if you click on that it will show them all and you'll get a full eye displayed.

You can also do some other things like right-click on that spot to hide everything else other than that layer (a kind of "isolate" function), and also Ctrl+click to lock or unlock just stuff for that layer. See here for some more details on all the different actions:
http://moi3d.com/2.0/docs/moi_command_reference11.htm#scenebrowser

Hope this helps!

- Michael

EDITED: 17 Dec 2010 by MICHAEL GIBSON


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  d^^b (DAVID)
3919.3 In reply to 3919.2 
Hi Michael:

Thank you for your answer, but it isn't exactly what I was looking for.

First of all, yes, I am talking about the Hide command from Edit.

Imagine a very complex model (and a old computer like mine), and, actually, I am working with layers.

But, in any moment, I need to hide any object from the active layer (because it is over other objects when I want to do a selection, or something similar), and after that, I want to unhide it. Then, all the objects from all the layers appears, and then -in my computer- the hard disk begin to write, the memory is full and it spends any minutes until I can to desactivate all the layers again.

And I think that if unhide command only unhide the previous hidden objects (not all included in no active layers) it was better. At least in my case. What do you think?

Cheers ;-)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3919.4 In reply to 3919.3 
Hi David,

> Then, all the objects from all the layers appears, and then
> -in my computer- the hard disk begin to write, the memory
> is full and it spends any minutes until I can to desactivate
> all the layers again.

This basically means that your model is too complex for what your computer can actually handle. In such situations you probably need to break the model up into completely separate models rather than just separate layers, and only work on one piece of the model loaded into MoI at one time.


> And I think that if unhide command only unhide the previous
> hidden objects (not all included in no active layers) it was better.
> At least in my case. What do you think?

There are a couple of things you can do for this - one is if you know you want to show a particular object later on you can assign that object a name. That will then make that object show up on the Objects part of the Scene Browser and you can then show or hide that individual object by clicking on the eye icon there.

There is also a "Show subset" function of the Hide command, which you can activate by holding down the Ctrl key while you click on the Edit>Hide button. That will temporarily show all the hidden objects and let you pick just some of them and then push "Done" or right-click, at which point only those objects will be shown and all the other ones will go back to being hidden. This is the normal way that you would control only showing one particular object with the Edit>Hide button rather than just showing everything.

There is also an "Isolate" mode for Edit>Hide which you can activate by right-clicking on the Edit>Hide button. That will hide everything else except the selected objects, and this mode does keep a memory of what was hidden and shown at the time of the isolation so that when you do it a second time the original state is restored.

Note that for this isolate mode you select what objects you want to keep visible, instead of selecting what objects you want to hide.


So currently any one of those methods could help you - for the right-click isolate mode you could do something like this - select the object you want to hide, then invert the selection, then right-click on hide. Then later on right-click on hide again to restore the previous state.

It can be handy to put invert selection as a keyboard shortcut on the I key, to do that put the following as the command:
script:moi.geometryDatabase.invertSelection();

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3919.5 In reply to 3919.3 
Hi David, also you asked:

> And I think that if unhide command only unhide the
> previous hidden objects (not all included in no active layers)
> it was better. At least in my case. What do you think?

I don't think that this would work, it would be too easy for some objects to have no way of being shown easily if it worked like you describe.

Here's the kind of situation where it would not work - say you have 3 objects, and you select one of them and hide it. Now after a little bit you select a second object and hide it as well. Now later on you go to show objects - if it worked the way you are describing only one of the hidden objects would be shown and the one hidden before that would not be shown. But what if you wanted that first one to be shown, now there is a problem...

So to keep things simple, when you use the show function (clicking on the Edit>Hide button with nothing selected), it just shows all objects to ensure that you can have a simple way to get everything showing.

But that's also why there are some supplemental functions like Isolate (right-click) or "Show subset" (Ctrl+click) to help do some more selective operations.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
3919.6 In reply to 3919.3 
Hi David, also if you want to use that Invert selection + Isolate method, it's possible to combine those 2 things together in just one keyboard shortcut.

For that, put the following on a shortcut key:

script:var gd = moi.geometryDatabase; gd.invertSelection(); gd.isolate();

That shortcut key will then work like a kind of "hide with memory". Select an object and use the shortcut key to hide it, and then later on trigger the shortcut key a second time to restore the object to visible again.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  d^^b (DAVID)
3919.7 
Michael:

You don´t know what so lucky are MoI´s users!

Definitively, this script is exactly the thing I was looking for! (I must admit that I couldn´t see that all I need was a combination of Invert selection + Isolate but it is easiest)

Thank you, thank you, thank you! :-)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
 From:  Michael Gibson
3919.8 In reply to 3919.7 
You're welcome David, I'm glad that script will help you!

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All