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

73 Commits

Author SHA1 Message Date
apn
4e3aa6b76e 0024223: Review of unstable test cases
Modified TODOs in unstable test cases
2013-11-01 10:39:46 +04:00
emv
78c66ef1c9 0024286: Wrong result done by General Fuse algorithm.
1. Instead of the tolerance value of the face the resolution of the surface of the face is used in
   the Face Classifier algorithm to define the state of the 2d point relative to that face.
2. Replace the vertices involved in PostTreatFF (treatment of section edges) with their images
   (new vertices created in PostTreatFF) in all pave blocks.
3. New value of the result in the test case boolean bsection L8.

Test cases for issue CR24286
2013-11-01 10:04:04 +04:00
pkv
6699377892 0024266: Wrong result obtained by 'bopargcheck'
- method:IntTools_EdgeFace has been changed
Standard_Boolean IntTools_EdgeFace::IsProjectable(const Standard_Real aT) const
The checking the distance between the point on the curve projected point has been added.

IntTools packages were modified

Test cases for issue CR24266
2013-10-24 16:03:27 +04:00
aml
84f4830127 0024200: Wrong result obtained by Exterma Curve/Curve
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform() function.
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform().
fixed incorrect indexes and Coeff check in Extrema_CurveCache::Extrema_CurveCache added to avoid int overflow.
Added test case bugs/modalg_5/bug24200
Added check if (aNbS[i] * Coeff[i]) too big in Extrema_GExtCC::Perform().
2013-10-24 11:55:23 +04:00
aml
b70bbe5845 0024144: BRepPrimAPI_MakeWedge wrong
fixed direction computing in gp_Lin Primitives_Wedge::Line.
Test cases for issue CR24144
2013-10-17 12:38:07 +04:00
abv
2bc5e8f1e0 0024244: Command bclear in DRAW does not clear all the data required for BOP re-initialization
In BOPTest_Objects::Clear() added clearing of the objects and tools of the operation.

Test cases for issue CR24244
2013-10-17 12:29:37 +04:00
pkv
1da5279e08 0024242: Hang-up during classification a 3D point relative to a solid
v0.0

I. New features:
no new features

II. Changes:
II.1. class BRepClass3d
   - method:
Standard_Integer BRepClass3d_SolidExplorer::OtherSegment(const gp_Pnt& P,
	 gp_Lin& L,  Standard_Real& _Par)
The condition to prevent infinite loop has been added.

III. Modified entities:
packages:
BRepClass3d

Added test case bugs/modalg_5/bug24242
2013-10-17 12:20:17 +04:00
pkv
af4e6dabcb 0024247: Wrong result obtained by General Fuse algorithm
v0.0

I. New features:
no new features

II. Changes:
II.1. class BOPAlgo_PaveFiller
   - method:
void BOPAlgo_PaveFiller::PerformFF()
Prepare data to the filter BOPAlgo_PaveFiller::::CheckPlanes(...).

   - method:
Standard_Boolean
  BOPAlgo_PaveFiller::CheckPlanes(const Standard_Integer nF1,
			  const Standard_Integer nF2)const
1)The contents of the filter has been updated by all vertices of the faces images.
2)The method declared as const

III. Modified entities:
packages:
BOPAlgo

Test cases for issue CR24247
2013-10-17 12:18:23 +04:00
emv
0e09ee8ee5 0024220: bopargcheck returns valid for C0 shape but results of boolean operations are broken with such shapes
Added check for C0 geometries to bopargcheck command.
Test cases for issue CR24220
2013-10-10 14:28:02 +04:00
mkv
830d849f94 0023932: Standard_NoSuchObject thrown computing section between two cylinders - new to 6.6.0
Adding new test cases
2013-10-04 12:43:26 +04:00
bugmaster
f92826ebaa 0024005: Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
Update testing case
2013-10-04 12:39:02 +04:00
gka
4798010403 0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Fix for bug 0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Test script for CR24174
Test cases for issue CR24174
Small correction of test cases for issue CR24174
2013-10-03 16:38:36 +04:00
jgv
b1c5c4e6a6 0024140: Endless loop in BRepAlgoAPI_Section
Test cases for issue CR24140
2013-10-03 15:48:51 +04:00
emv
9d1c5188ae 0024213: bopargcheck complains on sphere
Added check for degenerated edges.
Test case for issue CR24213
2013-10-03 14:23:04 +04:00
azv
b045e6a40b 0024142: Wrong section curve
Modified intersection of two conical surfaces with almost the same axis of revolution
Test cases for issue CR24142
2013-09-26 20:36:30 +04:00
emv
b4109929d6 0023958: Section of shell by plane is incomplete.
Modifications 1
1. To avoid creation of micro edges in the class BOPAlgo_PaveFiller added two new functions ForceInterfVE and
   ForceInterfVF which updates tolerance of Vertex to make it interfere with Edge and Face accordingly.
2. In the class BOPInt_Tools added new function IsInRange which checks whether two ranges cross each other.
3. In the class BOPTools_AlgoTools added new function IntersectCurves2d which intersects pcurves of the face
   to check it on the self-interference.
4. In the function IntTools_BeanFaceIntersector::FastComputeExactIntersection() the check on the coincidence of the whole
   edge with the face (BOPTools_AlgoTools::IsBlockInOnFace) replaced  with the check on the coincidence of one intermediate point with that face.
5. Test cases bugs modalg_1 bug1255, bug1255_1 has been updated with more correct value of the result.
6. TODO statement has been removed from the test cases boolean bcut_complex B1,B3,B5,C2,C4,C6,C8 as they are correct.

Adding test case for issue CR23958

Modification 2
1. In class BOPAlgo_PaveFiller added new function CheckPlanes(nF1, nF2) that checks whether two planar faces have common or intersecting sub shapes.
If these two faces do not have such sub shapes there is no need to intersect them.
2. In the function BOPAlgo_PaveFiller::MakeBlocks() added block for reducing the tolerance values to the previous state for the vertices
that were put on the section curve (with increasing of its tolerance value) that was rejected by the algorithm.

Modification 3
Back to Extrema_ExtAlgo_Grad algorithm in extrema computations in Boolean Operations algorithm.
2013-09-26 20:26:50 +04:00
pkv
b62b3e079f 0024190: Exception raised during topological operation.
v0.0
I. New features:
no new features

II. Changes:
II.1. class BOPAlgo_CheckerSI
   - method:
void BOPAlgo_CheckerSI::Perform()
The contents of the method is encompassed with "try/catch" block.

III. Modified entities:
packages:
BOPAlgo

Test cases for issue CR24190
2013-09-26 17:19:35 +04:00
emv
c884a2681d 0024187: Wrong result of COMMON operation.
In the function
  void BOPAlgo_Builder::FillInternalShapes()
added treatment for the arguments of type COMPOUND.

Adding test case for issue CR24187
2013-09-26 17:17:30 +04:00
nbv
788cbaf4c4 0024005: Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
Checking of possibility of bad result.
Adding test case for issue CR24005
Correction of test case for issue CR24005
2013-09-20 12:09:50 +04:00
emv
bb58e462ad 0024154: Wrong result of CUT operation
Rebuild normal for the face if the method FindPointInFace fails (unable to find point in the face in bi-normal direction).
Adding test case for issue CR24154
2013-09-20 12:09:49 +04:00
apn
3cdfdc9a2b 0024156: It's necessary to add TODO in test cases to avoid known regressions on MacOS 2013-09-12 14:18:28 +04:00
emv
6dc54e56bf 0024143: bopcheck command throws an exception
Use the tolerance value of the face instead of sum of tolerance values of face and edge to compute grid points on the surface of the face.
Adding test case for issue CR24143
2013-09-12 14:15:03 +04:00
gka
5a29f57e9b 0024036: Regression: sewing is not correct
Adding test case for issue CR24036
Loading Draw plugin containing command "freebounds"
Loading plugin XDEDRDRW was changed on loading plugin XSDRAW
2013-09-12 14:04:59 +04:00
apn
b58dfc5e92 0024121: It's necessary to add TODO in test cases to avoid known regressions in debug mode 2013-09-05 13:43:39 +04:00
vro
22774b6295 0024083: BRepCheck_Wire crashes processing a wire consisting of many edges
A check on 0 is added.
A recursive method Propagate() is replaced by a non-recursive implementation.
Adding test case for issue CR24083
2013-08-22 13:40:52 +04:00
skv
6f005d2afc 0024107: BRepAlgo::ConcatenateWireC0 method doesn't work on a translated wire
Adding test case for issue CR24107
Correction test case for issue CR24107
2013-08-22 12:29:02 +04:00
pkv
1da6ad3265 0024089: Missing section edge
Added test case bugs/modalg_5/bug24089
Small correction of test case buc60462_2
2013-08-15 17:23:37 +04:00
pkv
128dba6fb7 0024092: Boolean fuse fails
Adding test cases for issue CR24092
2013-08-15 17:23:30 +04:00
mkv
92a4955951 0024075: Boolean Section between two faces fails 2013-07-18 13:06:06 +04:00
jgv
ee9451aba5 0023839: Projection algorithm produces wrong results for set of data
Added test cases bugs/modalg_5/bug23839_1 bug23839_2 bug23839_3 bug23839_4 bug23839_5 bug23839_6 bug23839_7
2013-07-18 12:54:38 +04:00
emv
c1746a0ac9 0024060: Wrong result done by general fuse algorithm.
Added treatment of the vertex as a single object.
Added test case bugs/modalg_5/bug24060
Modified shape's extension in test cases bugs/moddata_3/bug23943_3 bug23943_4
Modified test cases in group de according to new reference data in issue 24035
2013-07-12 12:42:42 +04:00
jgv
bda8360543 0023625: New functionality building reflect lines on a shape
Adding test case for this fix; Small corrections
2013-07-12 12:24:21 +04:00
emv
97acf541ac 0023782: Intersection algorithm produces wrong section curves for the attached faces
The fix is to keep the correlation between numbers of segments in U and V parametric directions (nbu and nbv).
When minimal of these numbers (f.e. nbu) is set to default minimal value (10), other (nbv) is set to Min(30, nbv*(default/nbu)). 30 is used to avoid too small segments.
Added test case bugs/modalg_5/bug23782
2013-07-12 12:23:01 +04:00
emv
c1fe53c64e 0024029: Add a flag to bopcheck command to provide possibility to disable Face/Face intersection
Added new parameter to bopcheck command that defines which interferences to check:
bopcheck shape [level of check: 0 - 5]
Examples:
1. bopcheck shape 1
    #The level of check is set to V/E, i.e. intersections #E/E, V/F, E/F, F/F will not be checked.
2. bopcheck shape 4
    #The level of check is set to E/F, i.e. intersection F/F is disabled.
3. bopcheck shape 5
    #All intersections will be checked. It is the same as bopcheck shape.
Added test case bugs/modalg_5/bug24029
2013-07-12 12:21:38 +04:00
emv
9c9a29ea5c 0024053: Section between plane and sphere is not correct
Small correction in splitting into intervals.
Adding test case for this fix
2013-07-04 14:26:05 +04:00
emv
093bfc493b 0024033: All the orientation as a result of BRepAlgoAPI_Common is set to INTERNAL
Dimension of the shapes is used in the condition of choosing the shape to take parts of it in the common.
Adding test case for this fix
2013-07-04 14:23:22 +04:00
emv
b20eeb13fe 0024037: Wrong result done by General Fuse algorithm
Do not calculate the angle between same edges in WireSplitter algorithm and set it to 2*PI.
Adding test cases for this fix
Correction of test case
2013-07-04 14:21:44 +04:00
emv
e656bcbe59 0024040: The result of CUT operation is not correct
Changed the way of getting point inside face for detecting same domain faces.
Adding test case for this fix
2013-07-04 14:19:17 +04:00
ika
404d419daa 0024035: Intersector is not symmetrical
asymmetrical check in  Standard_Boolean IntCurve_IntPolyPolyGen::findIntersect was changed to symmetrical.
fix wrong calculation of approx parameter on curve for last polygon segment
Added test case bugs/modalg_5/bug24035
Modified TODO in "de" test cases because there are small differences with old behaviour
Modified test case heal/split_closed_faces/G5 because of corrections in intersector's behavior, which lead to changes in checkshape
2013-06-27 13:56:52 +04:00
apn
3f4689a163 Adding test cases
for following issues:

0023823: The result of section operation contains redundant vertex
0023826: Boolean Common between two solids fails
0023884: Boolean Fuse between two faces fails
0023892: Missing intersection curve between two surfaces
0023976: Extremely high memory consumption on boolean operation on 64 bits
0023991: Missing section edge between two faces
0024003: Exception reaised during intersection between two faces
2013-06-20 17:03:56 +04:00
jgv
d42d186778 0023998: Bad result of intersection of two faces: curve has a loop
Add test case for this fix
2013-06-20 15:46:20 +04:00
nbv
32ca7a5106 0023706: Cannot project point on curve
1.   Approximation of derivative (by Taylor-series and by three points).
2.   Some methods (Degree(), GetType(), D0(), D3(), DN()) are added.
3.   Getting of subInterval's boundaries.
4.   Algorithm for checking if 1st derivative is equal to zero is amended.
5.   Cases are controlled when extrema or Project point do not exist.
6.   GetNormal() function for gp_Vec2d was added.
7.   Computing of Value, D0, D1, D2 and D3 for offset curves was changed.
8.   Limitation of tolerance for derivative computing was added.
9.   Methods for computing trihedron in singularity point are added.
10. Test tests/bugs/moddata_3/bug23706 is added.
11. Restriction on the LastParameter for visualization of 3-D curves. Calling PlotCurve(...) function for last interval.
12. LProp package is modified for tangent computing in singularity point (LProp_CLProps, LProp_SLProps).
13. Added test cases for issue.
Deleting bad test cases for this fix
2013-06-13 15:12:06 +04:00
apn
85c44a05a0 0023952: Improving thread-safety of intersections, approximations and other modeling algorithms
Modified QAcommands OCC23952sweep and OCC23952intersect to prevent exception in appropriate test cases
2013-06-06 11:06:26 +04:00
apn
c6df241cea Adjusting testing cases for current state of OCCT 2013-06-03 14:45:39 +04:00
emv
04cbc9d384 0023985: There is no section between attached faces.
Added new parameter for checking whether the plane and cylinder are parallel - the height of the cylinder.
This parameter is needed for the cases when angle between AXIS and plane's normal is very close to PI,
but the "height" is big enough that point, translated from intersection point between cylinder's axis and plane
on the "height" distance in the direction of cylinder's axis, does not belong to the plane.
Such plane and cylinder cannot be considered as parallel.
Add test case for this fix
2013-05-31 17:17:34 +04:00
Roman Lygin
1ef32e96ee 0023952: Improving thread-safety of intersections, approximations and other modeling algorithms
AdvApp2Var_SysBase::mcrgene_ size reduced from 1000 to 32 elements, and each element reworked into typed structure.
fixed IntAna_Curve.cxx to prevent access to #NAN# SigneSqrtDis
fixed alignment of doubles by 8 bytes, and minor corrections
Minor correction: static const N given more specific name (MAX_ALLOC_NB)
Added QAcommands OCC23952sweep and OCC23952intersect
Added test cases bugs/modalg_5/bug23952_1 bug23952_2
2013-05-31 17:04:58 +04:00
abv
8fd76287f8 0022831: Regression in boolean Cut - wrong result ( 6.5.2).
Adding testing case
2013-05-23 14:57:11 +04:00
emv
f14190252b 0023933: Self intersection reported after Fuse operation.
Additional check has been added in IntTools_BeanFaceIntersector::FastComputeExactIntersection() to prevent
creating an Edge/Face intersection for the case when edge lies on the surface of the face, but not on the face itself.
Adding test case for this fix
2013-05-23 11:55:08 +04:00
emv
d633fd7069 0023906: Performance of the projection algorithm in some cases became lower after integration of the fix for the bug 0022610.
New search algorithm Extrema_ExtAlgo_Tree used in projection algorithm in Boolean Operations.
Extrema is set to search only min distance.
Add test case for this fix
Draw command projponf has been modified to provide possibility to change the default parameters of Extrema_ExtPS algorithm:
projponf f pnt [extrema flag: -min/-max/-minmax] [extrema algo: -g(grad)/-t(tree)]
-min - Extrema_ExtFlag_MIN;
-max - Extrema_ExtFlag_MAX;
-minmax - Extrema_ExtFlag_MINMAX (default);
-g - Extrema_ExtAlgo_Grad (default);
-t - Extrema_ExtAlgo_Tree;
Examples:
projponf f pnt -min  - the parameters are Extrema_ExtFlag_MIN and Extrema_ExtAlgo_Grad;
projponf f pnt -t  - the parameters are Extrema_ExtFlag_MINMAX and Extrema_ExtAlgo_Tree;
projponf f pnt -min -t  - the parameters are Extrema_ExtFlag_MIN and Extrema_ExtAlgo_Tree;
2013-05-16 17:55:09 +04:00
ifv
12f139fde8 0022766: Wrong results done by several algorithms for the case of intersection between a surface of revolution and a plane
Add test case for this fix
2013-05-16 11:38:13 +04:00