Hello Michael.
Thanks for answering my post.
I'm using Visual3D_TransientManager because MyView is a "V3d_View" and the crosshair should follow x and y axis.
I also want to keep default highlights mainly because I'm still not very comfortable using AIS. I still don't know how to highlight just a detected edge.
If I call "MyAISContext->DetectedInteractive()" I get an "AIS_InteractiveObject" (wich is the only object I know how to highlight) but the entire object is highlighted not just the edge even if I call "MyAISContext->ActivateStandardMode(TopAbs_EDGE)".
If I call "MyAISContext->DetectedShape()" I get the edge (I guess if I called "MyAISContext->ActivateStandardMode(TopAbs_SHAPE)" I would get the hole shape?) but there's no method in AISContext to highlight that.
Regarding transient graphics, using "Visual3D_TransientManager" is just the only way I know.
Has you can see I'm just grasping this issues.
Nevertheless I think that if the viewer has the methods to work with AIS and manage the highlighting of entities why not use them.
Here is the code I use:
MyView->Redraw(); MyView->ConvertToGrid(px , py , x, y, z); MyAISContext->MoveTo(px , py, MyView);
MyGroup->Clear(); Visual3d_TransientManager::BeginAddDraw(MyView->View());
Graphic3d_Vertex V1, V2, V3, V4;
V1.SetCoord(x - 1000, y, z);
V2.SetCoord(x + 1000, y, z);
V3.SetCoord(x, y - 1000, z);
V4.SetCoord(x, y + 1000, z);
MyGroup->Polyline(V1, V2);
MyGroup->Polyline(V3, V4);
Visual3d_TransientManager::DrawStructure(MyStructure);
Visual3d_TransientManager::EndAddDraw();
Would you please elucidate this newbee!?
Thanks a lot.