I have followed the recommendations in the link

in order to use NIS objects in the DRAWEXE environment.

The presentation is really much faster than with AIS context and now I would like to add some functions used with the AIS services. I would like to change the color to some of the objects but if the NIS_Surface::SetColor is used the color is changed to all the objects instead the selected ones.

Looking at the code, it seems as if the NIS presentation has four layers :draw_normal, draw_transparent, Draw_Hilighted and Draw_DynHilighted set in NIS_DRAWER.hxx and each "standard” object must be drawn as draw_normal.

Is it necessary to create additional customized Draw_types to display different colors in the same presentation?. I think this would require a several changes on the TKNIS fileas and I do not think that is the way the OpenCascade Team.

The other possibility I have seen is to use additional NIS_interactivecontext in the same view as the help documentation says that it is possible. I do not have tried yet and I'm not sure as I do not fully understand if the NIS_Drawer object belongs to the NIS_Interactivecontext or to the View.

Has anybody solved this problem?. Any help will be welcomed.



Carlos's picture


It was my fault. The color changes properly using SetColor. The only thing is that it must be called after the Object has been displayed.

By the way, it is possible to use different interactive context attached to the same view. The Interactive Context can be AIS or NIS.