1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-04 13:13:25 +03:00

0027272: FixMissingSeam function creates G1 seam curves

Method BRepLib::EncodeRegularity() is improved to set regularity GeomAbs_CN for edges lying on the same-domain surfaces (where derivatives on both surfaces are equal in all points).

DRAW command getedgeregularity is added to query regularity of the edge on specified faces.
DRAW command edgeregul is removed (this functionality is provided by command encoderegularity).

Added tests: bugs modalg_6 bug27272, bug27383_1, bug27383_2

Correction of shape name in test case for issue CR27272
This commit is contained in:
gka
2016-04-12 16:34:34 +03:00
committed by bugmaster
parent 46bd680a25
commit a0bb29e79e
8 changed files with 173 additions and 67 deletions

View File

@@ -182,31 +182,6 @@ static Standard_Integer XSHAPE_ssolid
return 0; // Done
}
static Standard_Integer XSHAPE_edgeregul
(Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
//cky/rln 03.02.99 To eliminate dependence of SWDRAW on TKXSBase (to use only ShapeHealing)
Standard_Real tolang = Precision::Angular(); // = Interface_Static::RVal("XSTEP.encoderegularity.angle");
// if (argc < 3) di<<"Current value for regularity angle : "<<tolang<<"\n";
if (argc < 3) {
di<<"Donner nom de shape.\n + option : angle en radian, sinon la valeur courante est prise\n";
return 0;
}
Standard_CString arg1 = argv[1];
Standard_CString arg2 = argv[2];
if (argc > 2) tolang = Draw::Atof (arg2);
if (tolang <= 0) {
di<<"Not a suitable value : "<<tolang<<"\n";
return 1 /* Error */;
}
TopoDS_Shape Shape = DBRep::Get(arg1);
if (Shape.IsNull()) { di<<"Shape unknown : "<<arg1<<"\n"; return 1 /* Error */; }
BRepLib::EncodeRegularity (Shape,tolang);
return 0; // Done
}
static Standard_Integer samerange (Draw_Interpretor& di, Standard_Integer argc, const char** argv)
{
if ( argc ==2 ) {
@@ -263,9 +238,6 @@ void SWDRAW_ShapeTool::InitCommands (Draw_Interpretor& theCommands)
theCommands.Add ("ssolid","nom shell + nouveau nom solid",
__FILE__,XSHAPE_ssolid,g);
theCommands.Add ("edgeregul","shape val",
__FILE__,XSHAPE_edgeregul,g);
theCommands.Add ("samerange","{ shape | result curve2d first last newfirst newlast }",
__FILE__,samerange,g);
}