I'm trying to draw some transient graphics (in this case it's just a crosshair) in my view without affecting the default highlights.
I'm using "Visual3d_TransientManager" to do this but I'm still a little confused.
I don't really understand the difference between "BeginDraw" and "BeginAddDraw".
I guess there's a kind of redrawing with "BeginDraw"?
I managed to keep default highlights using "BeginAddDraw" and making the View Update myself.
Here's the piece of code I use (the crosshair is still a simple marker):
MyView->ConvertToGrid(px , py , x, y, z); ////grid echo is turned of
MyAISContext->MoveTo(event->win_x , event->win_y, MyView);
aVertex.SetCoord(x, y, z);
Visual3d_TransientManager::DrawStructure (MyStructure); ///// MyStructure contains MyGroup
This works almost fine but the highlight flickers just a little due to the redraws.
Even stranger is that the default grid echo marker also interferes with the highlighting.
This code doesn't show highlights (or just shows them for a split of a second):
MyView->ConvertToGrid(px , py , x, y, z); //// grid echo is turned on
MyAISContext->MoveTo(px , py, MyView);
In this case redrawing the View doesn't seem to help.
Does anyone know a better way to do this?
I'm using Cascade release 3.1. Did this methods improved in latter versions? Thanks.