Commit Graph

20 Commits

Author SHA1 Message Date
abv f7b6063134 0028112: Exception during offset computation
Methods D0, D1, D2, D3, DN of the class GeomEvaluator_OffsetSurface are extended by additional tweak to compensate failure of normal calculation in degenerated points on triangular surfaces.
If the point where normal has failed to calculate is located on parametric boundary of the base surface, one more attempt is made with the point shifted towards interior by Precision::PConfusion().
2017-08-03 17:52:51 +03:00
mkv 2508ca8e54 Update of tests data base for reproduced issues
Test for 0022602: Improvement in notched healing
Test for 0022750: Boolean operation: Bug in Fuse
Test for 0022821: Crash with BRepFilletAPI_MakeFillet
Test for 0023090: Reading a STEP file produces invalid shape
Test for 0023163: Intersection of tori fails to produce results
Test for 0023343: Crash (ACCESS VIOLATION) in GeomPlate_BuildPlateSurface / MakeApprox if init Surface is set
Test for 0023386: BRepAlgoAPI_Fuse on two disjoint shapes sometimes loses all geometry from one of the shapes
Test for 0023451: FixMissingSeam constructs intersecting wires
Test for 0023497: Units package raises exception for composite units
Test for 0023638: Reading IGES file produced invalid shape
Test for 0023667: checkshape command does not detect problems in the attached shape
Test for 0023671: pload function does not work if DRAWDEFAULT file has win format
Test for 0024185: Wrong projection of a wire to a face
Test for 0024215: Error in offset (bad curve)
Test for 0024251: Command checkshape does not report a problem on first call after fixshape
Test for 0024365: BRepAlgoAPI_Section wrong result, BRepAlgo_Section good result
Test for 0024421: Sewing changes orientations of some subshapes.
Test for 0024429: Cylinder-torus intersection throws an exception and produces no result
2017-07-28 15:16:41 +03:00
apv 1f9eb89082 Test for 0024424: BRepAlgoAPI_Cut throws Standard_ConstructionError with disjoint, but adjacent solids 2017-07-27 14:00:09 +03:00
apv d483647d5d Test for 0024145: OCCT fails to project a wire onto BSplineSurface using BRepAlgo_NormalProjection 2017-07-27 13:59:28 +03:00
mkv 751b10f25b Test for 0028551: Bad result of general fuse 2017-07-27 13:59:05 +03:00
mkv 63bd365eed Test for 0023176: Intersection of cylinder and cone produces open curve 2017-07-21 12:13:05 +03:00
mkv 775530d462 Test for 0023166: Intersection of plane and cone produces wrong result 2017-07-20 11:45:58 +03:00
mkv 7fc0e03544 Test for 0023187: Cut with a compound 2017-07-20 11:40:37 +03:00
mkv efd535aebf Test for 0022886: Bug in boolean 2017-07-13 17:29:44 +03:00
ifv 35dced1c14 0028856: Extrema between two curves gives wrong result
Treatment for large Lipschitz constant is added
Test case is added
2017-07-13 17:29:42 +03:00
mkv e14d870c30 Test for 0022288: checkshape works wrong with attached shape. 2017-07-13 12:36:04 +03:00
emv 33ba856502 0028786: Refactoring of the Warning/Error reporting system of Boolean Operations Algorithm
0. Basic tools for defining classes representing alerts (errors, warnings etc.) and collecting them during execution of algorithms are added in Message package.

1. Refactoring of the Error/Warning reporting system of the algorithms in Boolean Component.
   To dump the description of the Error/Warning status of the algorithm the DumpErrors/DumpWarnings method should be called.
   Also, the methods GerErrorMsg(int Error) and GetWarningMsg(int Warning) have been implemented to get the description for the given Error/Warning.
   All Error/Warning statuses are now listed in the enumeration ErrorStatusEnum/WarningStatusEnum of the algorithm.
   It is also possible to get the shapes for which the warning has been set by using the method GetWarningShapes().

2. The new class BOPAlgo_Options has been created to unify the options of the BOPAlgo_* and BRepAlgoAPI* algorithms.

3. The new checks across the algorithms have been added to detect and report errors and warnings.

4. Test cases
  boolean bopcut_complex B9 E1 E5 E8
  boolean bopfuse_complex B4 B5 C9 D1 D4 D5 D6 D7
have been rewritten to use Cells Builder algorithm instead of Boolean Operations algorithm, because latter always returns error "Unsupported Boolean operation" for these cases.

5. New chapter has been added in the user guide for Boolean Operations - Error / Warning reporting system.

6. Added comment to NCollection_List::Remove(Iterator&)
2017-07-06 12:41:56 +03:00
emv a07cff6957 0028883: Invalid result of Section operation 2017-07-06 12:41:32 +03:00
apv b721c02a6c Test for 0021414: GeomAPI_IntCS fails to find all intersections between line and surface of revolution 2017-06-29 14:24:54 +03:00
apv 6916e17414 Test for 0021413: Pipe fails - very sensitive to spine parameterization 2017-06-29 14:24:31 +03:00
nbv e9a7ec7a2b 0028849: [Regression to 7.1.0] Exception in Boolean operation
The reason of exception has been eliminated.
2017-06-22 12:45:05 +03:00
emv df119b4ed9 0028844: Regression vs 7.1.0: Exception is raised by the solid classification algorithm
Protection from normalization of the null vector.

Test cases for the issue.
2017-06-22 11:34:18 +03:00
msv e57aedeb26 0028830: HalfSpace command chooses the wrong side of the given shell
Improve the algorithm BRepPrimAPI_MakeHalfSpace. Earlier it made projection of the point only on faces. If the nearest point does not conform to normal projection criterion the result is wrong. The fix includes search of projection on edges and vertices. This makes the algorithm robust for half spaces with boundaries.
2017-06-15 11:31:39 +03:00
jgv 1fae7cdaf1 0028784: [HLR] Crash while getting hidden lines for a compound
Method HLRBRep_PolyHLRToShape::InternalCompound is modified: avoid creation an edge with null length.

Add testing Draw command.
2017-06-09 12:58:49 +03:00
apv 3b337f77ed 0023378: BRepAlgoAPI_Cut returns wrong result
Adding test cases only
2017-06-01 13:55:29 +03:00