View Issue Details

IDProjectCategoryView StatusLast Update
0033215CommunityOCCT:VISpublic2023-05-05 06:17
Reporterid_wangyue Assigned Tossv 
PrioritynormalSeverityminor 
Status newResolutionopen 
PlatformlinuxOSubuntu 
Summary0033215: In OCCT 7.7.0, when using clip view and the model is complex, same internal subfaces can not be detected correctly.
DescriptionIn 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
TagsNo tags attached.
Test case number

Attached Files

  • MILO.brep (599,908 bytes)

Activities

id_wangyue

2023-05-05 06:17

reporter   ~0113438

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;
      }
    }
MILO.brep (599,908 bytes)

Issue History

Date Modified Username Field Change
2022-11-18 06:23 id_wangyue New Issue
2022-11-18 06:23 id_wangyue Assigned To => ssv
2023-05-05 06:17 id_wangyue Note Added: 0113438
2023-05-05 06:17 id_wangyue File Added: MILO.brep