aml [Wed, 9 Sep 2015 10:44:48 +0000 (13:44 +0300)]
0026656: ShapeFix_Face introduces extremely high vertex tolerance in the input shape
Added set of methods CopyVertex in BRepTools_ReShape. Usage of this non-modifying methods added in ShapeFix_Wire, ShapeFix_Edge.
Test case for issue 26656.
Test cases updated to the new behavior.
oan [Wed, 15 Jul 2015 11:57:36 +0000 (14:57 +0300)]
0026407: BRepMesh_Delaun should not take into account frontier edges on first pass of algorithm
Correction of new vertices insertion: remove all triangles shot by point even if they contain frontier edges in order to prevent cases of free edge glued with frontier;
findNextPolygonLink: choose link with opposite direction to previous one as the last resort in case if the is no another option;
Enlarge bounding boxes by Precision::PConfusion() in order to not to miss possible intersections;
Return NoIntersection in case of end point touch and isConsiderEndPointTouch flag is not set.
stv [Tue, 19 May 2015 13:02:24 +0000 (16:02 +0300)]
* 0026229: Add the possibility in OCAF to open/save a document from/to a stream object.
TKCAF has been separated on two parts:
- The sources which independent from visualization are remained in this TK.
- Visualisation dependencies are moved to the new TK: TKVCAF.
- Some dependencies which are connected with persistent objects (from other TK) have been corrected.
emv [Thu, 22 Oct 2015 06:31:48 +0000 (09:31 +0300)]
0025926: 3D offset in mode "Complete" with Join type "Intersection"
3D offset algorithm extension for degenerate (colliding) cases.
Patch for version 6.9.1 of Open CASCADE.
It includes the following commits:
Revision: 5a9dc37f84bb8c6c7ac1e43c1dbcf484b4261321
Author: emv <emv@opencascade.com>
Date: 22/10/15 9:00:54 AM
Message:
Make the possibility to produce empty result in case of any invalidity (spikes, self-intersections, faces inversion) optional.
----
Modified: src/BRepOffset/BRepOffset_MakeOffset.cdl
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Modified: src/BRepTest/BRepTest_FeatureCommands.cxx
Revision: aadba9a3f585693eddff1ea29b7063a08320ee23
Author: emv <emv@opencascade.com>
Date: 16/10/15 10:21:57 AM
Message:
Due to the small inaccuracy of the calculation of the bi-normal direction (direction inside the face on the edge)
the criterion on the coincidence of these directions has been weakened.
----
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Revision: 3564da4b4d631c8ed627d7ca7697328d6c371aae
Author: emv <emv@opencascade.com>
Date: 15/10/15 11:52:23 AM
Message:
The option to remove INTERNAL edges from the faces of the result of Offset operation has been added into Offset API.
By default these edges will be kept in the result.
To remove these edges make sure to set the corresponding flag to TRUE when initializing the Offset algo.
Revision: fe25cda7b7aa2f84c5fc2e0f9f1ef8b1c27d9ea5
Author: emv <emv@opencascade.com>
Date: 08/10/15 12:11:06 PM
Message:
Temporary patch to produce empty result in case of any invalidity (spikes, self-intersections, faces inversion).
----
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Revision: 0fe92803d21a48ca299b88fc565bdcff6256fe70
Author: emv <emv@opencascade.com>
Date: 27/08/15 11:21:55 AM
Message:
Using local face tolerance for edges intersection.
----
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Revision: 7a38094a2b8cff5ed10353fc198abadcb073799a
Author: emv <emv@opencascade.com>
Date: 10/07/15 12:52:58 PM
Message:
Corrections in splitting faces and making shells functions.
----
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Revision: 2102c85e9fd4e4f3fd73b0f475526a9f67eb721a
Author: emv <emv@opencascade.com>
Date: 07/07/15 2:18:28 PM
Message:
3D Offset algorithm extension for the cases with the shapes having the faces connected only by the VERTEX.
----
Modified: src/BRepOffset/BRepOffset_Inter2d.cdl
Modified: src/BRepOffset/BRepOffset_Inter2d.cxx
Modified: src/BRepOffset/BRepOffset_Inter3d.cxx
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
Revision: c4362927dc958358996bee5a711eef2733a63154
Author: emv <emv@opencascade.com>
Date: 30/06/15 12:22:42 PM
Message:
Fix for correct shells splitting when building solids.
----
Modified: src/BOPAlgo/BOPAlgo_MakerVolume.cxx
Modified: src/BOPAlgo/BOPAlgo_ShellSplitter.cxx
Revision: ee5d676aee993954c1bac95c28a78acf9f6d39ef
Author: emv <emv@opencascade.com>
Date: 17/06/15 11:30:10 AM
Message:
Treatment of the shells with free edges has been changed to keep the faces with internal edges.
----
Modified: src/BRepAlgo/BRepAlgo_Tool.cxx
Revision: 999dacb4d0b0c1c858961e144be4c0173bd4a49c
Author: emv <emv@opencascade.com>
Date: 04/06/15 10:53:22 AM
Message: 0025926: 3D offset in mode "Complete" with Join type "Intersection"
3D offset algorithm extension for degenerate (colliding) cases.
----
Modified: src/BRepOffset/BRepOffset_Inter2d.cxx
Modified: src/BRepOffset/BRepOffset_Inter3d.cxx
Modified: src/BRepOffset/BRepOffset_MakeOffset.cdl
Modified: src/BRepOffset/BRepOffset_MakeOffset.cxx
0026688: Visualization, TKOpenGl - apply transparency within GLSL programs
OpenGl_ShaderManager::PushAspectFace(), setup alpha to Diffuse() component as in FFP.
OpenGl_ShaderManager::stdComputeLighting(), take alpha from material Diffuse component.
0026533: Draw command vdisplay requires vclear to update the presentation since OCC 6.9.0.
Update documentation related to vdisplay command and similar.
aml [Thu, 17 Sep 2015 10:18:00 +0000 (13:18 +0300)]
0026196: Wrong result obtained by projection algorithm.
Improved periodicity handling when trimmed parameters became unclosed or nonperiodic, but underlying geometry closed or periodic.
Added possibility to not perform trim in GeomAdaptor::MakeSurface.
0026419: [Regression?] Export of a reversed face leads to crash in 6.9.0 although proceeded in 6.8.0
Take basis surface from trimmed surfaces during IGES writing, because pcurves will be transformed, so trim will be shifted, accorded to new face bounds,
fix updating of seam edge,
change condition of using Segment during exporting periodic BSpline surfaces to IGES (if bounds are not in one period).
0025553: ShapeFix_Face::FixMissingSeam() fails to correct a face
Modification to support case when edges on face have incorrect orientation was added.
Modification to support case when wires have intersecting segment was added
Test cases for issue 25553 added; other affected tests corrected (improvements)
class BOPAlgo_WireSplitter
- static function:
Standard_Real Angle2D (const TopoDS_Vertex& aV,
const TopoDS_Edge& anEdge,
const TopoDS_Face& myFace,
const GeomAdaptor_Surface& aGAS,
const Standard_Boolean bIsIN)
The treatment of circles has been chenged to prevent
the loss of accuracy due to small differences in large values.
vpa [Mon, 31 Aug 2015 07:32:00 +0000 (10:32 +0300)]
0026462: Visualization - selection does not adapt to line width change
- added interface for changing sensitivity of a particular selection through both local and interactive context;
- added corresponding methods for changing sensitivity to SelectMgr_SelectionManager, SelectMgr_Selection and SelectBasics_SensitiveEntity;
- option -setSensitivity was implemented in vaspects Draw command;
- test case for issue #26462
- initial transformation of triangulation is now applied to selecting frustum;
- switched from NCollection_Vec3 to gp collections to avoid conversions and usage of macros;
- calculation of frustum was refactored to reduce its build time;
- double pixel tolerances for selection were replaced by integer ones;
- switched to splitting along the main axis only in SelectMgr BVH selection primitive sets.
Current algorithm ignores found triangles intersection (IntPolyh_PMaillageAffinage) and, consequently, cannot find start point for intersection line. Branch fixes this problem.
XSAlgo_AlgoContainer is corrected to return original shape if Shape Processing fails.
Handling of situation of absence of defined operator sequence is corrected to apply DirectFaces operator by default on writing, regardless of target format.
ShapeProcess is corrected to output warning if operator sequence is not defined in resource file, and to continue if one operator in sequence has failed.
Message names are made more meaningful.
0026310: Very slow boolean cut operations on cylinders
1. JoinWLines algorithm has been improved.
2. Reference to the V-boundaries is deleted when computing step.
3. Decreasing the tolerance when computing parameters of WLine.
4. Adding boundary point is forbidden if it lies in prolongation of found ones.
5. Possible reason of exception has been eliminated.
6. Processing of critical point has been improved.
Test cases for this issue have been created.
Correction of some test case(s).
abv [Fri, 28 Aug 2015 16:31:29 +0000 (19:31 +0300)]
Revert previously made adjustment of test cases for Linux
- boolean volumemaker C1: the problems disappeared on Windows are still present on Linux
- boolean volumemaker F8: improvement on Linux found on master due to #24682 does not happen in OCCT 6.9.1, since #24682 is not included
Modification of the translation of the face based on the toroidal surface with negative major radius was made.
Seems that such face is considered by "Solid Works" and "ProE wildfire 5.0" systems as face having reversed orientation.
This step file was written by "Solid Works 2014".
abv [Tue, 25 Aug 2015 16:40:56 +0000 (19:40 +0300)]
Adjustment of test cases
- bugs modalg_6 bug26238: check real values with tolerance to avoid false failures due to numeric deviations
- draft angle G8: removed TODOs that do not exhibit in 6.9.1 branch
- boolean gdml_private O1: unstable
0026458: BRepBuilderAPI_Copy does not copy mesh structure
The possibility to preserve triangulation in the copied shape is implemented.
It may be enabled by copyMesh flag, by default it is disabled.
Depending on copyGeom flag, the triangulation is shared with original shape (if False) or copied (if True).
gka [Thu, 20 Aug 2015 13:53:50 +0000 (16:53 +0300)]
0026289: STEP import/export produces an empty shape
Exception is raised during reading step file containing p-curve having not-unique last knot.
Modification correcting misprint during computation new numbers of poles for such case was made in the file StepToGeom_MakeBSplineCurve.pxx
Protection against exception was made in the file StepToTopoDS/StepToTopoDS_TranslateEdge.cxx.
Warning message was added in the file StepToTopoDS_TranslateEdgeLoop.cxx.
abv [Mon, 24 Aug 2015 12:44:37 +0000 (15:44 +0300)]
Adjustment of tests for OCCT 6.9.1:
- de iges_1 L8,P7 - corrected according to changes made in #24682, with minor amendment of number of labels
- heal wire_tails_real A5 - corrected as in master
- offset wire_unclosed_outside_0_025 B4 - correcting according to actual state (looks better)
- de step_3 F1 - corrected according to actual state, see #26597
- de iges_1 N9 - reverted to state before integration of #25593 (zero-area face is created due to self-intersecting wire)
kgv [Thu, 13 Aug 2015 10:10:49 +0000 (13:10 +0300)]
0026547: Configuration - fix compilation errors on VS2015
Interface_STAT.cxx - rename local variable 'stat' to 'myStat' to avoid name collision.
OSD_FileNode.cxx - pass correct argument to va_start().
STEPConstruct_AP203Context::DefaultDateAndTime() - use _get_timezone() instead of global variable timezone on msvc.
Graphic3d_ArrayOfPrimitives::VertexColor() - fix reinterpret_cast() argument.
Small correction: OCC26481-linesarc.brep is equal to bug26296_linesarc.brep
0026385: Fix to prevent BRepMesh from possible crash due to pointer to local variable stored inside Extrema_LocateExtPC
Made the BRepAdaptor_Curve a member of BRepMesh_EdgeParameterProvider to ensure that it is created before and destroyed after the Extrema_LocateExtPC that uses it.
0026483: Option Run Parallel is not used by the command bopargcheck
I. New features:
No new features
II. Changes:
II.1 class BOPTest
-static function:
Standard_Integer bopargcheck (Draw_Interpretor& di,
Standard_Integer n,
const char** a )
The option has been retrieved and passed to the checker algorithm.