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

0028661: BRepOffsetAPI_MakePipeShell throws an exception Standard_NoSuchObject: NCollection_DataMap::Find

1. Clearance of fields of class has been added to the method BRepFill_PipeShell::Prepare().
2. Calculation of error on surfaces has been corrected in the method GeomFill_Sweep::BuildKPart().
3. New Draw command "errorsweep" has been added to check the error reached on the surfaces built by BRepOffsetAPI_MakePipeShell algorithm.
This commit is contained in:
jgv
2017-04-20 14:08:07 +03:00
committed by bugmaster
parent 505e241c8a
commit 107f794fc9
6 changed files with 102 additions and 37 deletions

View File

@@ -835,21 +835,14 @@ static Standard_Boolean IsSweepParallelSpine (const Handle(GeomFill_LocationLaw)
error *= C.Radius();
if (error <= Tol) {
SError = error;
error += Radius + Abs(RotRadius - C.Radius())/2;
if (error <= Tol || Radius <= Tol) {
error += Radius;
if (Radius <= Tol) {
// (2.1.a) Sphere
Standard_Real f = UFirst , l = ULast, aRadius = 0.0;
SError = error;
Centre.BaryCenter(1.0, C.Location(), 1.0);
gp_Ax3 AxisOfSphere(Centre, DN, DS);
if (Radius <= Tol)
{
aRadius = C.Radius();
}
else
{
aRadius = (RotRadius + C.Radius()) / 2;
}
aRadius = C.Radius();
gp_Sphere theSphere( AxisOfSphere, aRadius );
S = new Geom_SphericalSurface(theSphere);
// Pour les spheres on ne peut pas controler le parametre