1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-04 18:06:22 +03:00

389 Commits

Author SHA1 Message Date
ifv
f998596a10 0028909: Algorithm of BO is stuck while fusing shell and edges
Approximation parameters: degmin, degmax, max number of segments, boundary condition, maximal distance of projecting are added in interface of classes ProjLib_ProjectedCurve, ProjLib_ComputeApprox,
ProjLib_ComputeApproxOnPolarSurface
Algorithm of Approx/Approx_ComputeCLine is modified in order to treat maximal number of segments allowed for cutting.
Algorithm of method BOPTools_AlgoTools2D::MakePCurveOnFace(...) is modified in order to manage cases with big edge tolerances.
Test case added
Some test cases were modified according to new behavior of algorithms
2017-10-06 10:28:17 +03:00
nbv
23e8067c74 0029176: Exception while projection 2D-point on 2D-line
DRAW-command "2dproj" has been changed. Now, it can return not only 2D-line as extrema but 2D-point.

Test case has been updated.
2017-10-06 10:28:14 +03:00
apv
cba287d62a Update of tests database
Test for 0025930: thickness of spherical cap is invalid
Test for 0025939: SIGSEGV in MakeThickSolid
Test for 0025940: MakeThickSolid creates C0 continuous edges
Test for 0026604: GeomFill_Pipe doesn't fit given bounds
Test for 0026655: ChFi3d_Builder algorithm fails to build fillets if some input edges connect with seam edges
Test for 0026697: BRepFeat_MakePrism returns empty compound
Test for 0026716: Mesher cannot create a mesh of brep model due to ShapeFix_Wire::FixShifted()
Test for 0026735: Adjacent perpendicular edges are detected as overlapped by DRAW command checkoverlap.
Test for 0026793: General Fuse algorithm produces incorrect result
Test for 0026795: Unable to perform General Fuse operation on the attached faces
Test for 0026842: bopsection result does not contain any edges.
Test for 0026882: Edge/Edge intersection algorithm produces incorrect result
Test for 0026883: Wrong result of Boolean Operation
Test for 0026889: Very poor mesh result from shape
Test for 0026928: Edges are meshed too coarsly
Test for 0026933: Section works unstably due to incorrect work of the method IsExistingPaveBlock
Test for 0026943: Wrong projection of helix on cylinder by ShapeConstruct_ProjectCurveOnSurface
Test for 0026957: Unify same domain operation is slow for multiple shells
Test for 0026978: Interactive selection is insensitive to swept shell
Test for 0027004: ShapeUpgrade_UnifySameDomain produces invalid result
Test for 0026280: Mechanism 'ShapeFix' is unable to heal a shape
Test for 0026282: Mechanism 'ShapeFix' has errors revealed by wire tool 'FixTails'
Test for 0026291: BRepMesh produces mesh with gap on the attached shape
Test for 0026382: BRepMesh produces internal nodes outside the face interior
Test for 0027453: Wrongly meshed surface
Test for 0027524: The command checkshape does not find the maximal deviation between curves representations
Test for 0026225: Wrong result of chamfer in case of coinciding bound of chamfer's surface with bound of a face
Test for 0026295: Sweep fails with BRepFill_ContactOnBorder
Test for 0026374: GeomFill_Profiler fails to unify BSplines if one has knot distance less than PConf
Test for 0026558: Failing to build isoline for offset surface
Test for 0026563: Boolean cut operation in new API multi-tool mode performs fuse instead of cut
Test for 0026568: Exception when creating pipe
Test for 0027419: Incorrect result of Edge/Face intersection
Test for 0027469: Regression vs 6.9.1: Wrong result of Edge/Face intersection
Test for 0027471: Wrong result of pipe
Test for 0027472: Wrong result of cut
Test for 0027614: Sewing returns result with too high tolerance
Test for 0026154: Visualization - v3d viewer grid disappears due to automatic z-fit
Test for 0026174: Loss of color after the second write of file (iges).
2017-08-18 12:13:40 +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
ifv
f24f542856 0028490: Point located outside the solid is classified as inside
New method for building surface polyhedron (class IntCurveSurface_Polyhedron), which takes in account intervals of discontinuity of surface is added for constructor IntCurvesFace_Intersector.

Bug in methods NbU(V)Intervals and U(V)Intervals for Offset surfaces is fixed.
2017-06-22 11:31:00 +03:00
jgv
2c26a53d85 0027079: Bad approximation of intersection curves with variable curvature
1. Method Approx_ComputeLine::Perform is modified: now it contains also recursive calls after new line computation made by new method ApproxInt_MultiLine::MakeMLOneMorePoint.
    2. New method MakeMLOneMorePoint is added to ApproxInt_MultiLine: it builds new sub-line as a part of main line with new point added into the middle of the longest interval between existing points.
    3. Method ShapeConstruct_ProjectCurveOnSurface::ApproxPCurve is modified to avoid regressions: now it takes care of the set of initial points to be enough close to each other so that an interval between two adjacent points is less than half-period of the surface.
    4. Modification in ShapeConstruct_ProjectCurveOnSurface: correction of pcurves of edges which extremities are in the singularities of surface.
2017-06-16 14:24:53 +03:00
jgv
bdae3beb87 0028802: The tolerance reached by approximator is used in creation of an edge, it is incorrect
Method IntTools_FaceFace::MakeCurve is modified: reached tolerances 2d and 3d of approximator are not used for edges.
2017-06-15 15:27:34 +03:00
emv
8ae442a8cb 0028775: Code duplication removal across the BOPAlgo_PaveFiller algorithm
The methods PerformVerticesEE() and PerformVerticesEF() of the class BOPAlgo_PaveFiller have been replaced with the new PerformNewVertices() method.

While splitting the Pave Blocks with extra paves, check that the new Pave Blocks have the valid intersection range. If the new Pave Block does not have such range do not create it and unify its vertices making SD vertex.

Re-computation of the Shrunk Data for the modified Pave Blocks. The new method BOPDS_DS::IsValidShrunkData(const Handle(BOPDS_PaveBlock)& thePB) has been implemented to check that the Shrunk Data of the Pave Block is still valid. It may become invalid in case the tolerance values of the vertices of the Pave Block have been modified.

The test case bugs/modalg_6/bug27448_2 has been marked as BAD, because it uses the invalid shapes as inputs for BOP.

Test cases for the issue 0028690.
2017-06-09 13:01:32 +03:00
nbv
b7a71e36aa 0028795: Boolean operations corrupt the p-curve of the source planar face if "non-destructive" option is switched off
Now, the range of BRep_CurveRepresentation of the edge is updated if at least one of its boundary is not infinite (earlier, it was updated if all two boundaries are not infinite only).
2017-06-02 11:47:42 +03:00
bugmaster
4f0ba168fb 0028773: BRepAlgoAPI_Cut invalid result
Adding test case only
2017-06-01 13:55:24 +03:00
ifv
f6b08ecf71 0028346: Function ProjectOnSegments of ShapeAnalysis_Curve returns only single solution leading to projection result far from optimal
Subdivision of curve parametric interval based on deflection criteria is added for curve type OtherCurve in
Extrema_GExtPC.gxx. Algorithm of subdivision is implemented in Extrema_Curve(2d)Tool.cxx

New Draw command projpcurve for projection of point on CurveOnSurface is added in SWDRAW_ShapeAnalysis.cxx
projpcurve is modified to reflect "start parameter" in usage message and Draw help.
2017-06-01 13:55:22 +03:00
nbv
75b9688a9f 0023177: Intersection of plane and torus misses a result and never produces analytical result
Creation of the test case.
2017-06-01 13:55:20 +03:00
msv
3f5aa017e7 0028782: Shape sewing behavior not consistent for the same CAD file
Get rid of iterations on maps with shape key by replacing simple maps with indexed maps. So iteration is done on integer key.

The map containers have been updated to insert into them type definitions of key and value.

The new methods RemoveKey() and RemoveFromIndex() have been added to indexed [data] map to be able to remove an arbitrary key from the map.

All the code in OCCT has been updated where RemoveLast() and Substitute() methods were used to remove a key from indexed [data] map.
2017-06-01 13:55:15 +03:00
emv
edfa30deef 0028259: Method MakeBlocksCnx is duplicated in two different places in BOPAlgo
The methods BOPAlgo_Tools::MakeBlocksCnx(), BOPAlgo_Tools::MakeBlocks() and static method MakeBlocksCnx in BOPAlgo_Builder_2.cxx have been replaced with the new template method BOPAlgo_Tools::MakeBlocks(). The blocks of connected elements are now stored into the list of list instead of data map.
All methods BOPAlgo_Tools::FillMap() have been replaced with the new template method BOPAlgo_Tools::FillMap().

Making the Pave Block with the smallest index of original edge to be the first in the Common Block (i.e. the representing Pave Block).

The following improvements have been made in Boolean Operations algorithm to avoid regressions:
- When updating the existing common block update its pave blocks in a way that the parameters of the paves should be valid for the original edge (bugs/modalg_5/bug24809);
- When trying to reduce the tolerance of the section edge check the tolerance of all Face/Face interferences that created this edge (boolean/volumemaker/C4,D2);
- Avoid producing the different Pave Blocks for the same section edge (boolean/volumemaker/D6);

Adjustment of the test cases.
2017-06-01 10:20:25 +03:00
ifv
4560c05480 0028771: BRepOffset_MakeOffset incorrect result
Correction of tolerance of new edges, which belongs planar faces is improved
Test case added.
2017-06-01 10:10:46 +03:00
nbv
261b7d9e8a 0028222: Intersection of two cylinders fails
1. The reason of exception has been eliminated.

2. Algorithm in IntPatch_WLineTool::JoinWLines(...) method has been modified in order to forbid join curves in the point where more than two intersection lines meet. More over, joining is forbidden if local curvature in the connection point is too big (see function CheckArgumentsToJoin(...) in the file IntPatch_WLineTool.cxx).

3. Interface of IntPatch_WLineTool::JoinWLines(...) method has been modified in order to reduce number of arguments.

4. Small corrections in IsSeamOrBound(...) static function has been made. Namely, check has been added if two boundaries are in the same period region but are too far each to other (see IntPatch_WLineTool.cxx, IsSeamOrBound(...) function, line # 532).

5. "Reversed" flag has been made local. Now, it is pure local characteristic: the algorithm decides itself, shall we reverse the argument order. This correction makes the algorithm more commutative (see issue #25404). However, IntPatch_WLineTool::JoinWLines(...) method can return non-commutative result.

6. Algorithm of searching small intersection curves has been improved.

7. New methods have been added in Bnd_Range class.

Some test cases have been adjusted according to their new behavior.

1. tests\bugs\modalg_6\bug26310_3
   tests\bugs\modalg_6\bug26310_4
   tests\bugs\moddata_2\bug235
   tests\perf\modalg\bug26310_1
   tests\bugs\modalg_5\bug24915

Logic of these cases has been changed. Mover over, additional check has been added in "bug26310_1" test case. Therefore, its performance will be slower than on the current MASTER.

2. tests\bugs\modalg_5\bug25292*

Scripts have been rewritten in order to make it more readable. Logic of these cases has not been changed.
2017-05-26 14:48:59 +03:00
emv
b18a83d4a7 0028776: Extend the field BOPAlgo_Builder::myOrigins so that the shape could have multiple origins
Change the type of the field BOPAlgo_Builder::myOrigins so that the new shape could have multiple origins in case of overlapping.
2017-05-26 14:48:40 +03:00
nbv
c8425f03ff 0028718: Section result has a break 2017-05-25 11:48:27 +03:00
ifv
8c745be5e0 0028692: Projection failed (projponf)
Tolerance criterion is improved:
P.SquareDistance(p1) < Tol -> P.SquareDistance(p1) < Tol*Tol
2017-05-25 11:37:04 +03:00
ifv
b493028765 0028637: [regression] Extrema curve - curve can not find correct solution between edge based on the line and BSpline edge
Adding condition for preventing decreasing Lipschitz constant if derivative are too small
Test case is created
2017-05-25 11:35:53 +03:00
nbv
ff3f03870b 0028724: Extrema between circle and plane cannot be found
The main reason of the regression is that the Extrema algorithm finds the truth extrema point but cannot adjust it to the range of given circle. It is connected with the fact that Geom(2d)Adaptor_Curve::IsPeriodic() method returns false for given circle because adaptor contains a piece of the circle which is not closed.

New algorithm of IsPeriodic() method will return the information about periodicity of the curve itself (independently of first and last parameter of adaptor).

The documentation about Geom(2d)_TrimmedCurve and Geom_RectangularTrimmedSurface has been updated in frame of the information about IsPeriodic-methods.
2017-05-18 16:56:42 +03:00
emv
1709b02450 0028745: Wrong results of Boolean operations on hemisphere solids
Test cases for the issue.
2017-05-18 16:49:10 +03:00
emv
6769ec6b34 0028683: Wrong result of CUT operation
Avoid creation of the small section edges in the Boolean Operations algorithm.
2017-05-05 12:11:23 +03:00
nbv
b608f6a564 0028677: Avoid change of wire orientation in BRepLib_MakeFace if the wire is open
Method BRepLib_MakeFace::CheckInside() is not called for open wire. So, if the input wire is open its orientation is not changed in the result face.
2017-05-05 11:27:53 +03:00
emv
752f9d7201 0028675: Invalid result of Boolean Cut operation when running with fuzzy value
Avoid small edges with empty list of PaveBlocks (removed edges) in the result (BOPAlgo_Builder::FillImagesEdges()).
2017-05-05 11:27:51 +03:00
ifv
5be09a153b 0027981: BRepExtrema_DistShapeShape returns not null distance on interfered shapes
The reason of the bug is bad start points on surfaces, which are used by searching roots algorithm as start points for iteration process. Starting with these points algorithm for searching roots of set of equations cannot reach correct root. To find correct start points increasing number of sampling points is applied.
2017-05-05 11:27:38 +03:00
jgv
107f794fc9 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.
2017-04-28 12:44:54 +03:00
imn
0af424c23c 0028601: ShapeFix_Shape increases tolerance of sub-shapes of a valid shape
- Avoid increase of edge/vertex tolerance if the distance between 3D curve and p-curve is within old tolerance.
2017-04-28 12:44:51 +03:00
emv
6fd4ffd9eb 0028474: Boolean operations - General Fuse operator breaks validity of resulting shape
1. Re-orienting the shell before making solid from it (MakeShell in BOPAlgo_ShellSplitter);

2. The implementation of the BOPTools_AlgoTools::IsSplitToReverse() method has been changed to
   make the usage of the Hatcher for looking for the point in the face default.

3. Test cases for the issue.
2017-04-20 12:35:45 +03:00
jgv
1406e955b3 0028626: Boolean CUT operation fails due to exception while intersecting two conical faces
1. Modification in static function IntersectionWithAnArc of IntPatch_ImpImpIntersection :
  small offset <du> was hardcoded as 1.e-9, now it is adapted to parametric step.

2. Removal of duplicated points of IntPatch_WLine is corrected.
2017-04-12 17:54:45 +03:00
emv
5652dc6272 0028591: BOP Cut creates wrong result
The Face/Face intersection procedure has been changed in Boolean Operations algorithm.
Previously, the intersection tolerance for all section curves between pair of faces has been calculated
as the maximal tolerance among all curves. Now, each curve has its own valid tolerance calculated
as the maximal deviation of the 3D curve from its 2D curves on faces or surfaces in case there are no 2D curves.

Thus, such methods of IntTools_FaceFace algorithm as TolReached3d(), TolReal() and TolReached2d() have been removed.
Now the tolerances of the curve can be obtained from the curve itself (IntTools_Curve - result of intersection):
- IntTools_Curve::Tolerance() - returns the valid tolerance for the curve;
- IntTools_Curve::TangentialTolerance() - returns the tangential tolerance, which depends on the size of the common
  between faces. Currently, this tolerance is computed for Plane/Plane cases only. For other case, the value
  of the tangential tolerance is the maximal tolerance of faces.

2D intersection tolerance (IntTools_FaceFace::TolReached2d()) has been completely removed from the algorithm as unused.
2017-04-12 17:53:03 +03:00
imn
353e6fa0cf 0028594: Geom2dAPI_Interpolate generated curve is not the same as proe
Boolean flag "Scale" has been added for methods "Load" in "Geom2dAPI_Interpolate" class
2017-04-12 17:52:43 +03:00
imn
90271a9003 0028207: Unexpected result of the unify same domain algorithm
- Now algorithm of merging edges uses angular tolerance
2017-04-12 17:52:17 +03:00
nbv
bbdf3b5c66 0028585: Wrong value of area computation
Adding new test case.
2017-03-30 12:49:05 +03:00
emv
7868210dbc 0028574: Get rid of the TestTopOpe* packages
1. The TestTopOpe* packages have been removed.

2. The commands *compare*, *issubshape* and *projponf* have been moved to BRepTest package.

3. The possibility to change the Extrema options has been added to projection algorithm (GeomAPI_ProjectPointOnSurf).

4. Documentation has been updated.
2017-03-30 12:46:01 +03:00
nbv
3b6ffeaca7 0028492: Boolean common does not produce expected result
Generation of 3D-steps shorter than 3D tolerance has been allowed in the fix to build Walking-line.

Now, 3D-step is limited by Precision::Confusion value.
2017-03-16 13:31:01 +03:00
emv
093a3fe5bb 0028501: Incomplete result of offset operation in mode Complete with Join type intersection
1. The algorithm BOPAlgo_ShellSplitter has been improved for the cases with multi-connected edges
to produce as many shells as possible from the given input faces.

2. Building tool prism in BRepFeat_MakePrism has been changed in order to avoid self-intersections
in the cases when the limiting faces are intersecting.

3. Test cases for the issue.

4. Test cases boolean/bcut_complex/N9 and boolean/gdml_private/ZH3 are improvements.

5. Test cases boolean/volumemaker/C5 and boolean/volumemaker/C6 has been marked as BAD due to found problem in intersection algorithm.
The results in these cases obtained on the branch are better than on master, but still not complete.

Adjusting test case bugs/moddata_2/bug469 for its current behavior.
2017-03-16 10:54:35 +03:00
nbv
7581b642af 0028535: BOP Fuse reports "ErrorStatus : 11" on two attached faces
The reason of exception has been eliminated.
2017-03-16 10:53:09 +03:00
jgv
6c4c45b0f9 0028468: Sweep with different sections raises Standard_NoSuchObject: BRep_Tool:: no parameter on edge
Method BRepFill_SectionPlacement::Perform is modified to operate vertices and edges of path correct.

Add two test cases.

Minor correction.
2017-03-16 10:51:54 +03:00
emv
32e849ebc9 0028486: Fuse of several solids fails due to presence of common zones between faces
1. Exception in intersection of two analytical faces has been fixed by adding a simple check on number of vertices
in the resulting analytical curve;

2. Projection of the Circle on the Cone now checks if the Circle's normal direction is parallel to the Cone direction.
If it is not, the different, more advanced, algorithm will be used for projection - ProjLib_ComputeApprox;

3. Intersection of the Edge with the Face (IntTools_EdgeFace algorithm) in QuickCoincidenceCheck mode has been fixed to
avoid the checking of the type of the intersection result if the coincidence check gives the positive result;

4. All common IN edges of the intersecting faces has been added for intersection with section edges to avoid self-intersection in the result;

5. Post treatment of the section edges in Boolean operations has been improved with the new stage which treats the possible
common zones, not detected by the intersection algorithm, between faces by intersecting each section edge with all faces,
not participated in its creation, and in case of coincidence putting it as IN edge into FaceInfo structure of the face.
The new function has been implemented for that - BOPAlgo_PaveFiller::PutSEInOtherFaces().

6. Checking for the SameDomain splits of faces in Boolean Operations has been modified to process the pairs of faces in
which both the section curves and common zones are present.

7. Adjustment of the test case boolean gdml_private ZH3 as improvement.

8. Test cases for the issue.

9. Test cases for the parent issue - 0026789.
2017-03-16 10:47:51 +03:00
emv
7a280da946 0028496: BOP Cut failed on two attached faces with error "ErrorStatus : 191"
While checking the SurfaceOfExtrusion on closeness (GeomLib::IsClosed())
it is necessary to take into account that the basis curve may be not trimmed.

Test case for the issue.
2017-03-16 10:44:27 +03:00
nbv
370101f340 0028491: Incomplete section curve
The main idea of the fix is to forbid check if intersection curve lies in the some face (with input tolerance) if we have 2D-intersection curve on this face (we consider that necessary tolerance has been computed in intersection algorithm honestly). If we do not have 2D-curve on this face then we need check as before.

New algorithm is implemented in IntTools_Context::IsValidBlockForFaces(...) method.

------
src\Extrema\Extrema_GenExtPS.cxx
No principled changes have been made.
2017-03-03 16:11:27 +03:00
jgv
50258e776a 0026150: BRepOffsetAPI_ThruSections doesn't implement history method Generated().
Virtual method Generated is redefined. Now it returns:

- chain of generated faces for sub-edge of a profile;
- chain of generated edges for sub-vertex of a profile;
- bunch of chains of generated edges for start or end vertex if it is degenerated section.

Correction according to the remarks.

Fix compiler's warnings and add 4 new test cases.

Correction of mistake.

Compilation warnings are gone.
2017-03-03 16:11:24 +03:00
bugmaster
e6afb53983 0021750: Intersection of two cylindrical surfaces fails
Adding test case
2017-03-02 12:32:01 +03:00
bugmaster
0d0c99de4d 0026796: The result of General Fuse operation is self-intersecting shape
Adding test case
2017-03-02 12:32:00 +03:00
bugmaster
7a033414d5 0027615: [regression] Boolean operation returns invalid shape in 64 bit mode and valid shape in 32 bit mode
Adding test case
2017-03-02 12:31:59 +03:00
jgv
f48cb55d33 0027998: Self-intersection is not detected
New method CheckFaceSelfIntersection has been added to BOPAlgo_CheckerSI: now self-intersection of each face is found as well as pairs of intersecting faces;

-method IntPatch_Intersection::Perform(S1,D1,TolArc,TolTang) is modified for more effective search of self-interasections in case of Surface Of Extrusion;

-method IntCurve_IntPolyPolyGen::Perform(C1,D1,TolConf,Tol,NbIter) is modified to detect segments of intersections.

Small correction.

Test cases are corrected.

Correction of compiler error

Fix of regressions

Names of shapes correction
2017-03-02 12:31:55 +03:00
emv
18c066908f 0027182: Wrong result of General Fuse operation for two spheres
1. The static method Standard_Real MinStep3D(...) in the class BOPTools_AlgoTools is
now checks if the computed 3D step is too big (relatively UV range of the faces)
for any of the faces.

2. The method PointInFace(...) of the class BOPTools_AlgoTools3D has been redesigned.
The new PointInFace(...) methods have been implemented to add possibility for looking the point
inside the face in necessary direction and distance from the edge of the face.
Note: old implementation is also functional.

3. Make methods for finding points near edges and computing normal directions on faces
return error status (0 in case of success).

4. Test case for the issue.

5. Test cases offset shape_type_i_c XJ2,XJ4,XJ5,XJ6 are improvements.

Removing useless file
2017-02-27 15:09:44 +03:00
msv
d76b39abf1 0028326: Checking invariant shapes in revolve is incomplete
Check for bspline and bezier curves coinciding with the axis of rotation.
Minor correction of test case bugs/modalg_6/bug28003
2017-02-09 16:16:11 +03:00
nbv
8cc8a6925d 0028394: Not precise extrema solution of line and circle lying in the same plane
If the line is in the circle-plane completely (or parallel to the circle-plane) then extremas and intersections in 2D-space are looked for. These case are pure analytical and solutions will be found precisely.
2017-02-02 16:09:03 +03:00