View Issue Details

IDProjectCategoryView StatusLast Update
0023812Open CASCADEOCCT:Visualizationpublic2014-05-03 13:56
ReporteraplAssigned Toapl 
PrioritynormalSeverityminor 
Status closedResolutionno change required 
PlatformAOSL 
Target Version6.8.0 
Summary0023812: Grid Echo: multiple markers displayed
DescriptionV3D Viewer has a Grid Echo display mechanism. One can use SetGridEcho(Standard_True) and take advantage of ConvertToGrid(...) method to display marker.

The problem is that the markers are drawn in transient mode and no automatic viewer update is done. That leads to display of numerous markers until the application's code call Update(...) method.
If Update(...) is called after the marker is drawn - it will be eventually erase the marker transient presentation. Thus, the markers are shown only for a short period of time.

The simple solution is to implement valid update mechanism at viewer's level. The possibility to display persistent markers should be also considered, if possible.

Semantic of ConvertToGrid(..) seems to be confusing. It could a better idea to add more appropriate method for grid echo.
Steps To ReproduceCode sample:

void CustomViewer::MouseMove(Standard_Real theX, Standard_Real theY)
{
  if (Viewer()->Grid()->IsActive())
  {
    Quantity_Length aHitX = 0;
    Quantity_Length aHitY = 0;
    Quantity_Length aHitZ = 0;
  
    // marker is shown here
    Viewer()->ConvertToGrid (theX, theY, aHitX, aHitY, aHitZ);

    // update is expected here to avoid numerous markers...
  }
}
TagsNo tags attached.
Test case number

Activities

apl

2014-03-28 13:01

developer   ~0028536

Dear bugmaster,

Please close this issue.

It is not relevant anymore. The logic of GridEcho was changed in #0024637. For now on, the Viewer()->ConvertToGrid does not display grid echoes - the applications are responsible for implementing appropriate code instead.

E.g:

ViewerTest_EventManager::MoveTo (...)
{
  ...

  myView->ConvertToGrid (theXPix, theYPix, aPnt3d[0], aPnt3d[1], aPnt3d[2]);
  myView->Viewer()->ShowGridEcho (myView, Graphic3d_Vertex (aPnt3d[0], aPnt3d[1], aPnt3d[2]));
  myView->RedrawImmediate();
 
  ...
}

bugmaster

2014-04-01 13:29

administrator   ~0028584

Solution was implemented if framework of 0024637.

Issue History

Date Modified Username Field Change
2013-03-04 19:30 apl New Issue
2013-03-04 19:30 apl Assigned To => san
2014-03-28 13:01 apl Note Added: 0028536
2014-03-28 13:01 apl Assigned To san => bugmaster
2014-03-28 13:01 apl Status new => feedback
2014-04-01 13:29 bugmaster Note Added: 0028584
2014-04-01 13:29 bugmaster Status feedback => closed
2014-04-01 13:29 bugmaster Resolution open => no change required
2014-04-01 13:29 bugmaster Assigned To bugmaster => apl
2014-05-03 13:56 abv Target Version Unscheduled => 6.8.0