1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-26 10:19:45 +03:00

141 Commits

Author SHA1 Message Date
apn
d76a15bc94 0024347: problem by tolerance of the distance of Face and Vertex
Added test case bugs/modalg_5/bug24347
2014-04-29 10:36:25 +04:00
apn
6a879fe2ee 0024811: Intersection is insufficient
Added test case bugs/modalg_5/bug24811
2014-04-29 10:36:24 +04:00
apn
d2453d6d74 0024496: Crash on BRepAlgoAPI_Section
Added test case bugs/modalg_5/bug24496
2014-04-29 10:36:23 +04:00
jgv
1d1a589b2f 0024842: Crash on change of HLR-algo in top and bottom views of customer's shape
Test cases for issues CR24842
2014-04-23 15:55:27 +04:00
pkv
7e35263b76 0024861: Extra solid is in the result of General Fuse Operation
I. New features:
No new features.

II. Changes:
II.1. class BOPAlgo_ShellSplitter
   - statc function:
void RefineShell(TopoDS_Shell& theShell);
has been addded.
The function provides splitting connexity block of faces when the block begins with
the face that is intended to be internal.

II.2. class BOPAlgo_ShellSplitter
   - statc function:
Standard_Boolean IsClosedShell(const TopoDS_Shell& theShell);
has been modified to process empty shells.

II.3. class BOPAlgo_ShellSplitter
   - method:
void BOPAlgo_ShellSplitter::SplitBlock(BOPTools_ConnexityBlock& aCB);
has been modified to process connexity blocks of faces when the block
begins with the face that is intended to be internal [ II.1 ].

III. Modified entities:
packages:
BOPAlgo

Test case for issue CR24861
2014-04-23 15:54:30 +04:00
emv
40f8a31d70 0024798: Boolean operation CUT produces incorrect result
Face classifier has been used to check adjustment of 2d curve for the face.

Test case for issue CR24798
2014-04-23 15:52:22 +04:00
jgv
2357f3393d 0024840: Exception in BRepOffsetAPI_MakePipe
Test cases for issues CR24840 and CR24849
2014-04-23 15:48:20 +04:00
emv
b99e1b768f 0024823: Hang up in "bopcheck" command
Modifications:
class IntTools_EdgeEdge
 1. method
   Standard_Boolean IntTools_EdgeEdge::FindParameters(
      const BRepAdaptor_Curve& theB
      const Standard_Real aT1,
      const Standard_Real aT2,
      const Standard_Real theRes,
      const Standard_Real thePTol,
      const Bnd_Box& theCBox,
      Standard_Real& aTB1,
      Standard_Real& aTB2)

   Added protection for large values of parameters of the edges.

 2. methods
    static Standard_Boolean BndCommon(const Bnd_Box& theB1,
                                      const Bnd_Box& theB2,
                                      Bnd_Box& theBOut)
   and
    IntTools_EdgeEdge::FindSolutions()

   have been removed as redundant.

Test case for issue CR24823
2014-04-21 19:15:11 +04:00
emv
45671182ca 0024844: Wrong result of Boolean Cut operation.
Small correction in intersection between Cone and Torus with collinear axes.

Test case for issue CR24844
2014-04-21 19:03:31 +04:00
pkv
6b533a89c6 0024851: Extra vertex is in the result of Boolean Fuse Operation
class IntTools_FaceFace
   - statc function:
void CorrectSurfaceBoundaries(const TopoDS_Face&  theFace,
                              const Standard_Real theTolerance,
                              Standard_Real&      theumin,
                              Standard_Real&      theumax,
                              Standard_Real&      thevmin,
                              Standard_Real&      thevmax)
The faces based on cylidrical surface has been added to the list of candidates to extend the boundaries

Test case for issue CR24851
2014-04-21 11:30:43 +04:00
emv
f76b85c4db 0024809: Exception is raised during perform of "bfillds" command on attached shape
On attached shape command "bfillds -s" hangs in Test Harness on the long time. In debug mode exception is raised.
Vectors are normalized before calculation of an angle.
Added test case bugs/modalg_5/bug24809
2014-04-21 07:22:52 +04:00
apn
56a979d205 Update testing cases for current state of OCCT6.7.1 2014-04-10 15:10:00 +04:00
ifv
93c85fddfd 0024766: Wrong result for distmini between a TopoDS_Shell and a TopoDS_Edge on version 6.6.0. 2014-04-09 16:45:40 +04:00
emv
16e15f4ecc 0024656: Exception on current version of OCC libraries during perform of boolean operation (Regression)
Added protection for null vector.
Test case for issue CR24656
2014-04-09 16:38:35 +04:00
jgv
a76ea94c2c 0023892: Missing intersection edge between two faces.
Test case for issue CR23892
2014-04-04 09:02:40 +04:00
pkv
cfdd99315c 0024764: Alien subshapes occured in result of 'bopcheck' operation
class BOPAlgo_ArgumentAnalyzer
   - method:
void BOPAlgo_ArgumentAnalyzer::TestSelfInterferences()
The new shapes has been excluded from the treatment

void BOPAlgo_CheckerSI::PostTreat()
The new shapes has been excluded from the treatment

Standard_Integer bopcheck
  (Draw_Interpretor& di, Standard_Integer n,  const char** a )
The new shapes has been excluded from the treatment.
The interferences of the type */Solid has been included in the treatment.

Test case for issue CR24764
2014-04-04 08:56:38 +04:00
emv
e02a6a7242 0024751: Performance improvements in the Edge/Edge intersection algorithm
Added new static method PointBoxDistance() to compute distance between point and bounding box.
Removed method IntTools_EdgeEdge::FindRoughRanges().
Test cases for issue CR24751
2014-04-04 08:53:45 +04:00
jgv
f74388470f 0024738: BRepOffsetAPI_MakePipe algorithm fails on circular path and section (the case where result is part of sphere)
Test case for issue CR24738
2014-04-04 08:53:44 +04:00
nbv
18b15698f2 0024684: Command fixshape hangs up on the attached shape
Algorithm of seeking of any internal point into given face is corrected.
Test case for issue CR24684
2014-04-04 08:53:43 +04:00
apn
4f93d2bea6 Update testing case for issue 0024499
Added XSDRAW instead of XDE
2014-03-26 09:20:15 +04:00
emv
95b76cb166 0024706: Solids produced by BOP do not have flag Closed set in shells
Flag CLOSED is set for closed shells created during perform of Boolean Operation.
Test cases for issue CR24706
2014-03-25 17:01:45 +04:00
mkv
c69d58d816 0024493: Partition algorithm produces not valid shape(splt of 10 faces)
Test cases for issue CR24493
2014-03-25 17:00:52 +04:00
emv
ce544c1225 0024696: Lower performance of the new Edge/Edge intersection algorithm
Performance improvements in IntTools_EdgeEdge algorithm:
1. Added check for common box between edges: if common box between edges is thin,
   find exact solutions at once, without looking for rough ranges first;
2. Improved methods IntTools_EdgeEdge::FindBestSolution() and
   IntTools_EdgeEdge::CheckCoincidence(...) by using method SplitRangeOnSegments
   with resolution of the curve as a criteria for size of the ranges.

Test cases for issue CR24696
2014-03-25 17:00:51 +04:00
bugmaster
00a4cf6aac Update cpulimit due to issue 24596 2014-03-25 16:58:24 +04:00
skv
8697074c63 0024667: BRepOffsetAPI_MakePipe::FirstShape() and LastShape() return shapes not from result
Test case for issue CR24667
2014-03-25 16:55:58 +04:00
ifv
76b95c9043 0024650: Wrong intersection curves obtained for a surface of revolution and a plane.
Test case for issue CR24650
2014-03-25 16:53:16 +04:00
pkv
924f9d6515 0024639: Parallelization FillDS part of BO
Edge/Edge Interferences

Changes:
1. class BOPAlgo_PaveFiller
  - method:
void BOPAlgo_PaveFiller::PerformEE()
the chages provides the parallel computations of
Edge/Edge interferences.

   - auxiliary classes:
    BOPAlgo_EdgeEdge
    BOPAlgo_EdgeEdgeFunctor
    BOPAlgo_EdgeEdgeCnt
have been added.
The classes are auxiliary classes to provide the parallel computations
of Edge/Edge interferences.

2. class BOPTest
-method:
void BOPTest::PartitionCommands(Draw_Interpretor& theCommands)
- static function:
Standard_Integer bfillds(Draw_Interpretor& di,
                         Standard_Integer n,
                         const char** a)
The syntax of the command "bfillds" has been changed.
> bfillds [-s -t]
options:
-s - launch the algorithm in sequential mode
-t - display CPU time

Test case for issue CR24639
2014-03-25 16:53:14 +04:00
emv
a42c17966f 0024628: Intersection result is unfixed
The map for collecting pave blocks of two faces has been replaced with indexed map
to ensure the constant order of pave blocks when checking section curves for existents.

Test case for issue CR24628
2014-03-25 16:53:13 +04:00
nbv
db71978148 0024612: Wrong pcurve of the section curve
Main changes are in "IntWalk_IWalking::TestDeflection(...)" function (IntWalk_IWalking_5.gxx).

Some test cases were corrected according to their new behavior.
2014-03-25 16:53:12 +04:00
emv
04270abac2 0024673: Test cases for the new Edge/Edge intersection algorithm
New test cases for 0024673
Corrected names of shapes in test cases bugs/modalg_5/bug24208_1 - bug24208_14.
2014-03-25 16:53:11 +04:00
pkv
0f293ebab3 0024654: Result of Boolean operation is invalid for bopargcheck if rotated
class  BndLib
   - method:
void BndLib::Add(const gp_Hypr& H,
                 const Standard_Real P1,
                 const Standard_Real P2,
                 const Standard_Real Tol,
                 Bnd_Box& B)
  - static function:
Standard_Integer ComputeBox(const gp_Hypr& aHypr,
                            const Standard_Real aT1,
                            const Standard_Real aT2,
                            Bnd_Box& aBox)
The function computes bounding box for bounded hyperbola

Test case for issue CR24654
2014-03-25 16:48:38 +04:00
nbv
5945660865 0024575: Exception is raised during 'checkshape' operation.
Recursion calling of "Propagate(...)" function is replaced with cycle.
Test case for issue CR24575
2014-03-25 16:43:22 +04:00
pkv
71d986b3bd 0024655: Boolean common produces incorrect result
class BOPAlgo_WireSplitter
   - method:
void BOPAlgo_WireSplitter::SplitBlock
                 (const TopoDS_Face& myFace,
                   BOPTools_ConnexityBlock& aCB);

 - static functions:
void RefineAngles(const TopoDS_Face& myFace,
                  const BOPCol_ListOfShape& myEdges,
                  BOPAlgo_IndexedDataMapOfShapeListOfEdgeInfo& mySmartMap);

void RefineAngles(const TopoDS_Vertex& aV,
                  const TopoDS_Face& myFace,
                  const BOPCol_MapOfShape& aMBE,
                  BOPAlgo_ListOfEdgeInfo& aLEI);

Standard_Boolean RefineAngle2D(const TopoDS_Vertex& aV,
                               const TopoDS_Edge& aE,
                               const TopoDS_Face& myFace,
                               const Standard_Real aA1,
                               const Standard_Real aA2,
                               Standard_Real& aA);

The treatment p-curves convergent in node.
The refining the angles of p-curves taking into account
bounging curves if exist.

Test case for issue CR24655
2014-03-25 16:43:16 +04:00
emv
16ab9a2a05 0024648: Different types of intersection curves between Cone and Torus with a different order of arguments
Correct treatment of the cases with Cone and Torus.
Test cases for issue CR24648
2014-03-25 16:40:54 +04:00
pkv
27eaa70718 0024620: BOPAlgo_CheckerSI returns interferences that are not sub-shapes of the source shape
void BOPAlgo_CheckerSI::PrepareCopy()
has been added.
Purpose:
   - provides the copy of the argument
   - provides links between the copy and the original
- protected method:
void BOPAlgo_CheckerSI::PostTreatCopy()
has been added.
Purpose: provides post treat actions wit the copy.

void BOPAlgo_PaveFiller::Perform()
The try/catch mechanism is used inside the method

Standard_Integer bopcheck
  (Draw_Interpretor& di, Standard_Integer n,  const char** a )
The redundant copying is removed.

Standard_Integer bopargcheck
  (Draw_Interpretor& di, Standard_Integer n,  const char** a )
The redundant copying is removed.

packages:
BOPAlgo
BOPTest

Test cases for issue CR24620
Small correction of text case for issue CR24620
2014-03-25 16:40:53 +04:00
pkv
9df27a0ff6 0024618: Embedding vertex in BOP depends on the order of arguments
Changes: class BOPDS_DS
   - method:
void BOPDS_DS::AloneVertices(const Standard_Integer theI,
                             BOPCol_ListOfInteger& theLI)const
The condition for DS-index of a vertex has been corrected

class BOPTools_AlgoTools3D
   - static function:
Standard_Boolean HasGeometry(const TopoDS_Shape& aS)
The returnig value  has been corrected for shapes of vertex type

Modified entities:
packages:
BOPDS
BOPTools

Test cases for issue CR24618
2014-03-25 16:40:51 +04:00
emv
c4ffe7690d 0024558: Boolean operation can not create all results solids which should be built.
Corrections in checking 2d distances when splitting wires.
Test case for the issue.
2014-03-25 16:39:50 +04:00
nbv
6eaa828401 0024585: Wrong pcurve of the section curve
PCurve is extended to surface boundary forcefully.
It is made by finding some additional points (if it is possibly).
"bopcurves" DRAW-command returns number of found 3D-curves and (as an option) 2D-curve (see help for more detail information).

Test cases for issue CR24585
2014-03-25 16:24:48 +04:00
apn
58343d7cef 0024499: fixshape produces inverted solid
Bug is not reproduced in current master IR-2014-02-06.
Test bugs/modalg_5/bug24499 was added.
2014-03-25 16:22:47 +04:00
jgv
69e3c5419b 0024586: Pipe construction is failed
Test case for issue CR24586
2014-03-25 16:22:46 +04:00
pkv
8849da168a 0024597: Missing internal vertex in the result of General Fuse Operation
Changes:
class BOPDS_DS
   - method:
void BOPDS_DS::Init()
   - method:
void BOPDS_DS::FaceInfoIn
  (const Standard_Integer theF,
   BOPDS_IndexedMapOfPaveBlock& theMPB,
   BOPCol_MapOfInteger& theMI)
Add the information about internal vertices on faces to the Data Structure

Test case for issue CR24597
2014-03-25 16:20:57 +04:00
pkv
a6b634c30a 0023884: Boolean Fuse between two faces fails
fix for the bug v1
fix for the bug v1.1
Test case for issue CR23884
2014-03-25 16:20:56 +04:00
nbv
d48f15113e 0024472: Wrong section curves
1. Checking, if intersection curve is collapsed, is added. (file GeomInt_LineConstructor.cxx)
2. Earlier, intersection line was considered as valid if only mid-point of every interval of this line is into two intersected surfaces (with given tolerance). That's no good because after inserting of new points, old points, which is considered as valid only because they are into beginning or into end of interval (therefore, they was not checked), moved to mid of interval and became invalid. Therefore, checking for first and last points was added. (file GeomInt_LineConstructor.cxx)
3. Intersection line became valid (see bug description) after adding of new additional points into it (file IntPatch_PrmPrmIntersection.cxx). Methods for finding and adding of new points were added. (file IntWalk_PWalking_1.gxx)
Some test cases were changed.
Test cases for issue CR24472
2014-03-25 16:20:18 +04:00
jgv
de76a20cc8 0024573: Wrong result of 2d-offset algorithm on customer's shape
Test cases for issue CR24573
2014-03-25 16:10:13 +04:00
jgv
5d531b8303 0024481: Test "Perform Infinite Point" provides wrong result for a solid
Test cases for issue CR24481
2014-03-25 16:10:06 +04:00
nbv
4401e4e8ff 0024203: Command "sameparameter" in DRAW on attached edge set tolerance equal to 116.
Main problem:
Algorithm of locale extrema, which is called by "sameparameter" command, cannot find extrema because extremal point is far from initial point. Therefore, reparametrization of edge's curve (for same-parameter) cannot be made properly.

Solve:
Using of global extrema (see Approx_SameParameter.cxx).

As the given edge contains two 2d-curves and the second from them is problem, for select needed curve, an interface of "mk2dcurve" DRAW-command is changed. Now there can be used an index of curve (by default, index = 1, as earlier), see help for more detail information.

Test "heal advanced Z3":
Now checkshape finds only two invalid subshapes. Earlier, it found four subshapes. I think it is not regression. Therefore, test case was changed.

Tolerance reducing.

test
2014-03-25 16:07:37 +04:00
Roman Lygin
8db1c1c0d9 0023855: Old BOPs fail on Win7 64bit when using TBB
Minor code refactoring (readability)

Test case for issue CR23855
2014-03-25 16:07:10 +04:00
jgv
561ea68e96 0024532: BRepOffsetAPI_MakePipeShell raises an exception in a case with auxiliary guide
Test case for issue CR24532
2014-01-20 14:45:29 +04:00
emv
18d25b93a6 0024505: Wrong section curves between Cone and Cylinder with collinear axes.
The intersection between Cone and one of the following surfaces: Cylinder, Sphere, Cone and Torus
is treated as analytical when the axes of the surfaces are collinear.

Test case for issue CR24505
2014-01-16 21:05:24 +04:00
jgv
c8ea5b8e3f 0024204: The algorithm BRepOffsetAPI_MakePipeShell produces resulting shape with unwarrantably big tolerance
Added test case bugs/modalg_5/bug24204

Modified following test cases:
bugs modalg_3 bug605 - case with bad input data, command "settolerance w1 1.e-7" was added;
bugs modalg_4 bug629 - wrong case, now the algorithm can not build pipes on such profiles, test case was removed;
bugs modalg_4 bug13595_1, bug13595_1 - number of subshapes was has changed;
bugs modalg_5 bug23706_2 - square of resulting face was changed;
bugs modalg_5 bug23870_1, bug23870_2, bug23870_3, bug23870_4, bug23870_5 - the number of subshapes was changed.
2014-01-16 12:20:52 +04:00