Bug : ShiftSelect function in AIS_InteractiveContext

Hi:
I am trying to using ShiftSelect to do selecting and deselecting object with shift key on the screen. But, it can't be done. In Opencascade3.1, the ShiftSelect function is Ok.
I have tested the sampleImportExport and SampleHLR on version 4.0. It is same. Is it bug for Opencascade4.0? How can I do now? thanks a lot.

PS. I saw there is another function named "ShifSelect". It doesn't work, neither.

Best regards,
Shawn

DU's picture

Hi, Shawn,

I don't know why your program doesn't work, but I test the samples from OpenCasCade, It works well!

maybe you can give the detailed codes!

Du

Shawn Yang's picture

Hi:
Which sample do you test? And, Are you on Opencascade4.0? Thanks a lot.

Best regards,
Shawn

DU's picture

Hi,

SampleTopologyBuilding!!!

Du

Shawn Yang's picture

Dear Mr. Du:
I have tested the SampleTopologyBuilding that is same, as well. Let me make more clearly description about my question. If I pick several objects with shift key on the screen. It is no problem. But, I want to take off some of the being selected objects. How? In V3.1, I only need use the shift key and pick the object(I don't want). It works. But, not for V4.0.

So far, I don't know What is going on. Thanks a lot.

Best regards,
Shawn

Serge's picture

Hi, Shawn!
This is definitely a bug of OCC v4.0.
Dunno the easy way out. You can try to merge AIS of 3.1 and 4.0 but it can be a headache.
Regards,
Serge

angel's picture

Hi Serge,
I found the problem is "BUC60953" in the method of Select of AIS_Selection.cxx. Code as following,

Handle(SelectMgr_EntityOwner) owner =
Handle(SelectMgr_EntityOwner)::DownCast( anObject ); // Even anObject is AIS_Shape, owner still is null.

Standard_Boolean selected = Standard_False;
if ( !owner.IsNull() )
{
selected = owner->State() != 0;
}

Sincerely,
Angel

Agnes Mendel's picture

Dear everyone reading this thread!
I have a detection/selection-problem, too. Maybe someone can tell me, if the reason for this is the same bug as it is in Shawn's case:
In my program, after using ShiftSelect to select exactly two objects (in this case: curves on which I call my methods), I have to click a "CONFIRM"-button in the childframe-toolbar. On the way to this button, the cursor passes by further curves and highlights them - but I definitely don't click on them = I don't select them. In spite of this, these highlighted objects are automatically coloured grey = selected right after clicking on "CONFIRM". Of course this makes it is practically impossible to select exactly two objects. But worst is: sometimes objects are set selected, which aren't even in my viewport!
If anyone has an idea what might be the reason for these problems, please tell me. Thanks a lot in advance!
Agnes Mendel