MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #24224 All Revisions ] Back to Issue ]
Summary 0024224: Suspicious logics in changing clipping planes at OpenGl_Structure
Revision 2013-10-17 11:18 by apl
Description The following piece of code seems to produce bugs for crossing lists of clippings between view and structure:

void OpenGl_Structure::Render(..)
{
..

  // Collect planes which should be turned on for structure
  Graphic3d_SetOfHClipPlane aPlanesOn;
  Graphic3d_SetOfHClipPlane::Iterator aPlaneIt (myClipPlanes);
  for (; aPlaneIt.More(); aPlaneIt.Next())
  {
    const Handle(Graphic3d_ClipPlane)& aUserPln = aPlaneIt.Value();
    if (aUserPln->IsOn())
      aPlanesOn.Add (aUserPln);
  }

  // Set structure clipping planes
  if (aPlanesOn.Size() > 0)
  {
    aContext->ChangeClipping().Set (aPlanesOn, AWorkspace->ViewMatrix());
  }

 ... unset would remove the planes in case of crossing lists

  // unset structure clipping planes
  if (aPlanesOn.Size() > 0)
  {
    aContext->ChangeClipping().Unset (aPlanesOn);
  }

...

}

Provide stencil buffer for 3D viewer image dump functionality.
Revision 2013-10-04 19:04 by dbp
Description The following piece of code seems to produce bugs for crossing lists of clippings between view and structure:

void OpenGl_Structure::Render(..)
{
..

  // Collect planes which should be turned on for structure
  Graphic3d_SetOfHClipPlane aPlanesOn;
  Graphic3d_SetOfHClipPlane::Iterator aPlaneIt (myClipPlanes);
  for (; aPlaneIt.More(); aPlaneIt.Next())
  {
    const Handle(Graphic3d_ClipPlane)& aUserPln = aPlaneIt.Value();
    if (aUserPln->IsOn())
      aPlanesOn.Add (aUserPln);
  }

  // Set structure clipping planes
  if (aPlanesOn.Size() > 0)
  {
    aContext->ChangeClipping().Set (aPlanesOn, AWorkspace->ViewMatrix());
  }

 ... unset would remove the planes in case of crossing lists

  // unset structure clipping planes
  if (aPlanesOn.Size() > 0)
  {
    aContext->ChangeClipping().Unset (aPlanesOn);
  }

...

}
 
Draw scenario is to be provided to check this issue.


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker