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

31 Commits

Author SHA1 Message Date
abv
42cf5bc1ca 0024002: Overall code and build procedure refactoring -- automatic
Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
2015-07-12 07:42:38 +03:00
abv
ec357c5cbb 0024947: Redesign OCCT legacy type system -- automatic
Automatic upgrade with command "occt_upgdare . -rtti"
2015-07-11 11:06:11 +03:00
abv
9d1b116ff0 0026341: Uninitialized field in ShapeFix_Face
Parameter RemoveSmallAreaFaceMode in ShapeFix_Face is properly initialized; some other minor corrections
2015-07-02 14:35:05 +03:00
abk
fbf3becf65 0026261: Create a tool to remove tails from any wire
A tool to remove tails from the wires of a shape was created.
The tool is based on mechanism 'ShapeFix',
is located in types 'ShapeFix_Wire' and 'ShapeAnalysis_Wire',
is enabled through method 'ShapeFix_Wire::FixTailMode' and
is initialized by methods 'ShapeFix_Wire::SetMaxTailAngle' and 'ShapeFix_Wire::SetMaxTailWidth' and
is called through method 'ShapeFix_Wire::FixTails'.
The status of any performing of the last method is accessible through method 'ShapeFix_Wire::StatusFixTails'.
The tail angle is checked only at the tail start.

Mechanism 'ShapeFix' was modified:
- the tool is disabled by default;
- algorithm 'Fix notched edges' is disabled then the tool is enabled;
- the tool and the last algorithm work in turns then the tool works on the request.

'Draw' command 'fixshape' was extended by options '-maxtaila' and '-maxtailw' to test the tool.

'Draw' tests to test the tool were created.

Algorithm 'fixshape' was changed in type 'ShapeProcess_OperLibrary' to
- use new parameters named 'FixTailMode', 'MaxTailAngle' (in degrees) and 'MaxTailWidth' from the algorithm context;
- apply the tool after the shape will be fully fixed if the tool was enabled.

Place holders for the new parameters were created in the resource file of mechsnism 'STEPControl_Reader'.

Test cases for issue CR26261
2015-05-28 15:18:44 +03:00
azv
94f71cad33 0024682: Move out B-spline cache from curves and surfaces to dedicated classes BSplCLib_Cache and BSplSLib_Cache
1. B-spline cache was moved into separated classes: BSplCLib_Cache for 2D and 3D curves and BSplSLib_Cache for surfaces.

2. The cache is used now in corresponding adaptor classes (Geom2dAdaptor_Curve, GeomAdaptor_Curve and GeomAdaptor_Surface) when the curve or surface is a B-spline.

3. Algorithms were changed to use adaptors for B-spline calculations instead of curves or surfaces.

4. Precised calculation of derivatives of surface of revolution is implemented for the points of surface placed on the axis of revolution (Geom_SurfaceOfRevolution.cxx)

5. Small modifications are made to adjust algorithms to new behavior of B-spline calculation.

6. Test cases were modified according to the modern behavior.

7. Changes in BOPAlgo_WireSplitter, BOPTools_AlgoTools, BRepLib_CheckCurveOnSurface and ShapeAnalysis_Wire to use adaptors instead of geometric entities

8. Allow Geom2dAdaptor and GeomAdaptor in case of offset curve to use corresponding adaptor for basis curve

Modification of test-cases according to the new behavior.
2015-05-28 13:38:22 +03:00
azn
56a9db93fe 0025923: Remove small wires on face read from STEP
The analysis of small area in the method ShapeAnalysis_Wire::CheckSmallArea is performed the following way:
- On the fisrt step algorithm produces a rough estimation of part of surface area.
- In a case if obtained estimation is less than tolerance then evaluate real area and comapre this value with tolerance.
- New flag has been added to XSTEPResource/IGES. In a case if flag is true the faces with small 3d area is removed from ShapeFix context.

Test-case for issue #25923 and update test-cases in de group according to the new behavior.
2015-05-21 14:47:03 +03:00
abv
0797d9d30a 0025418: Debug output to be limited to OCC development environment
Macros ending on "DEB" are replaced by OCCT_DEBUG across OCCT code; new macros described in documentation.
Macros starting with DEB are changed to start with "OCCT_DEBUG_".
Some code cleaned.
2014-11-05 16:55:24 +03:00
abv
aefdc31bf0 0025266: Debug statements in the source are getting flushed on to the console
Suppress remaining couts in packages explicitly mentioned in the original bug description

Correction of test cases for issue CR25266
2014-10-16 16:45:55 +04:00
dbv
63c629aa3a 0025266: Debug statements in the source are getting flushed on to the console
Output to cout activated previously in Debug mode by #ifdef DEB is suppressed by using macro <PACKAGE>_DEB instead of DEB
2014-10-16 16:44:56 +04:00
razmyslovich
0d4e350159 0024983: For the incorrect seam edge in STEP file no fix is provided
fix the notched edges twice per face - before checking for missing seam and after
Test case correction for issue CR24983
Add check for invalid Surface of linear extrusion (with basis curve - line and extrusion direction parallel to this line) during converting STEP surface
Small corrections of test cases for issue CR24983
2014-07-03 17:16:39 +04:00
ika
16c7b64236 0024055: Reading a STEP file produces invalid shape
Add checks for cone-like surfaces during seam fixing
Delete check for missing degenerated edge for cones in FixMissingSeam() function, because this check is exist in FixPeriodicDegenerated(). Check for uniqueness of wire is unnecessary after this.
Update of test-cases
2014-05-29 16:44:57 +04:00
nbv
59495dbe8a 0023511: The function BRepTools::UVBounds provides icorrect result for a face
Range of changing of some analytic curves is computed by other methods. It allows computing face's boundaries with more precise.
Tolerance was increased to provide successful work of some algorithms.
Functions BRepOffsetAPI_MiddlePath::Build() and ApproxWithPCurves(...) (file IntTools_FaceFace.cxx) were changed according to new result of algorithm's work.
It is possibly for "outboundaried faces" (see bug#23675) to compute incorrect UV-Bounds, when first parameter is more than last. To avoid it, extended control of computed bounds was added.
Function for fail sameparameter fixing was added to HLRAppli_ReflectLines to avoid creation bad shapes after algorithm's work.

In file ShapeFix_ComposeShell.cxx only text formatting was changed.

Some test cases are changed according to their new behavior.
Added test case bugs/moddata_3/bug23511
2014-05-22 17:55:31 +04:00
ika
1ee621b661 0024024: Slow import of specific STEP data
Add using bounding boxes to accelerating of import
Replace Map of bounding boxes with array.
fix cosmetic mistake
Improving check for periodic cases.
2014-05-22 17:10:55 +04:00
ika
7719318359 0024218: ShapeFix_Face requires double execution to produce valid shape when FixSplitFaceMode is in effect
Test case for issues CR24218
2014-04-24 16:50:20 +04:00
ibs
46aed280cc 0024249: Crash on ShapeFix_Shape
MAIN CHANGES:
FixAddNaturalBound: the boundaries of "natural bound addition" are restricted: a face, that does not contains an outer wire, should not have any infinite UV boundaries due to new face building (with using a surface) requires specified UV boundaries.
FixAddNaturalBound: myResult is updated in FixAddNaturalBound when the method creates a new face with natural boundary. myResult is required to be updated for next "fix small-area wires" algorithm
IsPeriodicConicalLoop: incorrect working BRepTools_WireExplorer was replaced on TopoDS_Iterator.
a natural bound is added to all the faces are constructed with UV-periodical surfaces (not only sphere and torus; e.g., closed b-splines)

other:
ShapeAnalysis: ReverceSeq renamed to ReverseSeq
BRep_Tool Pnt and Tolerance has the check for null TShape
Test cases for issue CR24249

required null checks were added
test cases were corrected according to their new behavior
Correction test case for issue CR24249
2014-04-17 16:17:16 +04:00
abv
d5f74e42d6 0024624: Lost word in license statement in source files
License statement text corrected; compiler warnings caused by Bison 2.41 disabled for MSVC; a few other compiler warnings on 54-bit Windows eliminated by appropriate type cast
Wrong license statements corrected in several files.
Copyright and license statements added in XSD and GLSL files.
Copyright year updated in some files.
Obsolete documentation files removed from DrawResources.
2014-02-20 16:15:17 +04:00
bugmster
973c2be1e1 0024428: Implementation of LGPL license
The copying permission statements at the beginning of source files updated to refer to LGPL.
Copyright dates extended till 2014 in advance.
2013-12-17 12:42:41 +04:00
omy
eafb234bf1 0024171: Eliminate CLang compiler warning -Wreorder
Got rid of -Wreorder warning (wrong fields' initialization order); some warnings -Wdangling-else are also fixed
2013-09-18 09:36:12 +04:00
emv
0f180c0c18 0024126: Crash on fixing the attached shape
Added the check for an empty list.
Adding test case for issue CR24126
2013-08-29 13:28:51 +04:00
emv
d3c5411b48 0024105: ShapeFix algorithm produces not correct result.
Small correction.
Adding test cases for issue CR24105
2013-08-15 17:24:03 +04:00
omy
4e18e72a22 0024096: Eliminate compiler warning C4505 in MSVC++ with warning level 4
Removed obsolete functions from sources.
Some useful debug functions were 'defined' ( put into #ifdef ...#endif )
Removed some redundant code
2013-08-15 17:23:27 +04:00
ika
673693f1cf 0021317: Face cannot be fixed by Shape Healing
Fix that face, in which only wire was reordered during shape healing, was not replaced.
Add test case for this fix
Add status for shifted wires in reordering.
Modified test case de/step_1/E3 according to new reference data
2013-08-01 12:34:52 +04:00
ika
fdabc2117e 0023746: IGES wheel model fails to load when OCCT unit is meters
Add check for too small distances during edges reordering
Fix writing TrimmedSurface (Type 144).
Fix checking for too small distances between loops of edges during edge's reordering.
Add checking for too small BSpline segments during reading and writing IGES.
Fix wire splitting by adding checking that vertexes same not only in 3d, but in 2d too.
use tolerance of vertexes recomputed through resolution surface, not 2d curves.
Adding test case for this fix
Modified test case bugs iges bug23746 and cases in group de according to new reference data
2013-07-25 12:39:12 +04:00
Pawel
56084216a8 0023303: Expression always true in ShapeFix_Face.cxx
The two corrected if-clause conditions were always true.

In FixSmallAreaWire where the documentation says: "Detects wires with small area (that is less than 100*Precision::PConfusion(). Removes these wires if they are internal." and the bugfix conforms to this.

For 'NeedCheckSplitWire' option in the Perform method the same assumption is made although no documentation on this could be found.
2012-07-20 16:07:15 +04:00
Pawel
fdbc4fe73a 0023257: Missing return statement
Added missing return statement
2012-07-13 16:41:53 +04:00
bugmaster
b311480ed5 0023024: Update headers of OCCT files
Added appropriate copyright and license information in source files
2012-03-21 19:43:04 +04:00
SSV
84dc990afd 0022707: Invalid shape translating a SAT file 2012-03-05 19:32:00 +04:00
DBV
999d2599ea 0022767: Extension of DRAW command fixshape 2012-03-05 19:31:36 +04:00
DBV
c6541a0c86 0022792: Globally defined symbol PI conflicts with VTK definition (Intel compiler) 2012-03-05 19:31:33 +04:00
SSV
1c72dff612 0022492: Scaled sphere (Solid with BSplineSurface) is wrongly exported in STEP. 2012-03-05 19:30:19 +04:00
bugmaster
7fd59977df Integration of OCCT 6.5.0 from SVN 2012-03-05 19:23:40 +04:00