Archived issue #0033215

In OCCT 7.7.0, when using clip view and the model is complex, same internal subfaces can not be detected correctly.

CommunityOCCT:VISnew1 public note

Search issues

Description

In OCCT 7.7.0, when using clip view and the model is complex, same internal subfaces can not be detected correctly. gcc 8.5.0, QT 5.15.2, cmake 3.23.2d

Public activity

1 archived note

Participants are labeled by their role within this record.

01Author
In the function GetSensitiveForFace in the file StdSelect_BRepSelectionTool.cxx, if the following codes are commented out, for a body of revolution generated by rotating one polygon, we can complete the selection operation correctly.

    else if (Handle(Geom_CylindricalSurface) aGeomCyl = Handle(Geom_CylindricalSurface)::DownCast (aSurf))
    {
      const gp_Cylinder aCyl = BRepAdaptor_Surface (theFace).Cylinder();
      gp_Ax3 aPos = aCyl.Position();
      gp_Dir aDirection = aPos.Direction();

      if (isCylinderOrCone (theFace, aPos.Location(), aDirection))
      {
        const Standard_Real aRad = aCyl.Radius();
        const Standard_Real aHeight = getCylinderHeight (aTriangulation, aLoc);

        gp_Trsf aTrsf;
        aPos.SetDirection (aDirection);
        aTrsf.SetTransformation (aPos, gp::XOY());

        Handle(Select3D_SensitiveCylinder) aSensSCyl = new Select3D_SensitiveCylinder (theOwner, aRad, aRad, aHeight, aTrsf, true);
        theSensitiveList.Append (aSensSCyl);
        return Standard_True;
      }
    }
Attachment 1 (BREP) (599,908 bytes)