Trouble migrating Custom Grips to Rhino 6 C++

Hello,

After migrating my custom grips plug-in into Rhino 6, I find the following problems:

  1. When enabling grips, the owner object keeps being on the scene, which makes it difficult to select grips as there’s continuously interference with it when picking. In Rhino 5 there was no issue with this as the owner object somehow “disappeared” as a pick option when enabling grips.

  2. When moving grips, the owner object is never transformed (I think m_bNewLocation flag is always set to false).

  1. From time to time there’s a crash when moving a grip.

I have these very same 3 problems in @dale 's example SampleCustomGrips. Still, cannot find the real change from 5 to 6 that causes the issue. Any idea?

Many thanks,
Pablo

Hi @pagarcia,

The sample you reference seems to work as expected here. I guess I’ll need more information in order to be helpful - sorry.

– Dale

Hi @dale,

This is odd… Could you please try my sample project? Maybe I’m making a mistake somewhere.

PlugIn1.zip (37.8 KB)

I’m using Version 6 SR8
(6.8.18240.20051, 8/28/2018)

Many thanks,
Pablo

Hi @dale, I updated the SDK (redownloaded and installed) and it works! So no issue now.

Just one thing, point 1 above

When enabling grips, the owner object keeps being on the scene, which makes it difficult to select grips as there’s continuously interference with it when picking. In Rhino 5 there was no issue with this as the owner object somehow “disappeared” as a pick option when enabling grips

Is there a way to prevent this in R6? In R5 this didn’t happen.

Thanks,
Pablo

Hi @pagarcia,

I have no idea what you are describing. When you turn an object’s grip on, the object does remain visible.

I guess I’ll (still) need more info, screen shots, or something…

– Dale

Sure @dale : In Rhino 5, when you turn points on, if you make a window selection of the whole scene, you get this:

The selection includes the 8 grips. I.e. the owner object (the rectangle) is not included in the selection (though it remains visible).

In Rhino 6 this changes: the owner object remains selectable, so if I make a window selection it’ll include the 8 grips + the owner object.
This is a bit messy sometimes when you precisely want to select grips and not the owner object. Is there a way to prevent the owner object from being selectable once the grips are on?

Pablo

Actually every object with grips in Rhino has this issue, see:

Rhino 5 (sphere, 26 surface points added to selection):

Rhino 6 (sphere, 26 surface points + 1 surface added to selection):

You can see in the last picture that this makes the selection process a bit painful, as the mouse has to distinguish between the owner object and the grip the user wants.

Pablo

Hi @pagarcia,

Tools > Options > Mouse > Allow selecting objects with points on

– Dale

Awesome! Many thanks :+1:

Pablo