mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0030433: Checkshape: bad solid, created by revolution, is reported as valid.
BRepPrimAPI_MakeRevol.cxx, hxx Insert checking of self-intersecting of generated surfaces in MakeRevol BRepTest_SweepCommands.cxx Adjusting command revol to current behavior of MakeRevol algorithm.
This commit is contained in:
@@ -114,7 +114,7 @@ static Standard_Integer prism(Draw_Interpretor&, Standard_Integer n, const char*
|
||||
//=======================================================================
|
||||
// revol
|
||||
//=======================================================================
|
||||
static Standard_Integer revol(Draw_Interpretor&,
|
||||
static Standard_Integer revol(Draw_Interpretor& di,
|
||||
Standard_Integer n, const char** a)
|
||||
{
|
||||
if (n < 10) return 1;
|
||||
@@ -133,14 +133,21 @@ static Standard_Integer revol(Draw_Interpretor&,
|
||||
|
||||
BRepPrimAPI_MakeRevol Revol(base, A, angle, copy);
|
||||
|
||||
TopoDS_Shape res = Revol.Shape();
|
||||
if (Revol.IsDone())
|
||||
{
|
||||
TopoDS_Shape res = Revol.Shape();
|
||||
|
||||
DBRep::Set(a[1], res);
|
||||
DBRep::Set(a[1], res);
|
||||
|
||||
//History
|
||||
TopTools_ListOfShape anArgs;
|
||||
anArgs.Append(base);
|
||||
BRepTest_Objects::SetHistory(anArgs, Revol);
|
||||
//History
|
||||
TopTools_ListOfShape anArgs;
|
||||
anArgs.Append(base);
|
||||
BRepTest_Objects::SetHistory(anArgs, Revol);
|
||||
}
|
||||
else
|
||||
{
|
||||
di << "Revol not done \n";
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user