occt.git
6 years ago0029049: Visualization - restore removed class DsgPrs_DatumPrs
kgv [Fri, 25 Aug 2017 06:14:39 +0000 (09:14 +0300)]
0029049: Visualization - restore removed class DsgPrs_DatumPrs

6 years ago0029047: Upgrade guide -- some changes in OCCT 7.2.0 are not described
abv [Thu, 24 Aug 2017 12:04:14 +0000 (15:04 +0300)]
0029047: Upgrade guide -- some changes in OCCT 7.2.0 are not described

Upgrade Guide is updated to describe:
- Removal of typedefs to double in Quantity and V3d
- Removal of support of orientation in classes BRepTools_ReShape and ShapeBuild_ReShape
- Removal of AIS methods taking/returning Quantity_NameOfColor instead of Quantity_Color
- Removal of active texture state from OpenGl_Workspace

6 years ago0029025: TInspector include files are not installed to inc directory by CMake
nds [Thu, 24 Aug 2017 05:25:47 +0000 (08:25 +0300)]
0029025: TInspector include files are not installed to inc directory by CMake

TInspector headers are collected in 'inc/tools' directory.

Extending DRAW Commands;

Eliminating warnings;

Improve Export to ShapeView dialog;

Avoid crash with QML using;

6 years agoUpdate of tests database
apv [Thu, 24 Aug 2017 09:44:03 +0000 (12:44 +0300)]
Update of tests database

Test for 0027049: Make non-destructive mode be defined by default in Boolean operations
Test for 0027052: Test boolean gdml_private ZI5 failure
Test for 0027069: IGES parser does not recognize comments in Parameters section
Test for 0027090: Point is classified IN solid but actually it is OUT
Test for 0027170: Reading STEP files produces invalid shapes
Test for 0027186: IGES - reconsider creation of Undefined entity in case of failure
Test for 0027214: Duplicate of test cases
Test for 0027224: Incorrect result of boolean operation in boolean bcut_complex Q1 test case
Test for 0027227: Intersection curve is not continued to the surface boundary
Test for 0027246: ShapeFix_Shape destroys shape
Test for 0027251: Shape becomes invalid when exported to STEP and imported back
Test for 0027316: exception when XAddShape
Test for 0027378: BRepLib_MakeFace produces invalid faces on periodic surfaces in case the given parametrization does not match the default
Test for 0027390: Box and Ellipsoid shape boolean cut and common introduce invalid result.
Test for 0028119: Blend fails on fused identical but shifted tori
Test for 0028144: Step reader - regression in comparison of version OCCT654
Test for 0028151: Sewing faces results in a shell with very big tolerance
Test for 0027160: Weird results of the pipe algorithm
Test for 0027623: Cannot find intersection line between two trimmed planar surfaces
Test for 0027683: Inaccurate result by bopcut
Test for 0027687: Section between shells of hull and deck is not closed
Test for 0027711: Blend-on-blend corrupts the shape
Test for 0027784: Thickness fails on cylinder with draft
Test for 0027908: Exception during offset computation
Test for 0027909: Exception during offset computation
Test for 0027910: Sharing between edges was lost after offset operation
Test for 0027911: Exception during offset computation
Test for 0027912: Exception during offset computation
Test for 0027928: BOP common produces empty compound
Test for 0027948: Cut produces unexcpected shape
Test for 0027950: Result of intersection algorithm depends too much on surface trim bounds
Test for 0027701: Crash when export empty solid to STEP
Test for 0027722: STEP error for Ellipse revol shape

6 years ago0029015: Testdiff - possibility to visualize image differences by toggling
abv [Fri, 18 Aug 2017 08:00:24 +0000 (11:00 +0300)]
0029015: Testdiff - possibility to visualize image differences by toggling

Command testdiff is improved to make HTML elements in the report showing diff images interactive: when user clicks on a diff image by mouse, it triggers between the A and B images.
The diff image is shown back when the mouse cursor leaves the image.

6 years ago0028964: Draw - need to have command to apply ShapeFix_FixSmallFace tool
abv [Mon, 21 Aug 2017 10:19:46 +0000 (13:19 +0300)]
0028964: Draw - need to have command to apply ShapeFix_FixSmallFace tool

DRAW command fixsmallfaces is added to fix (remove) small faces in the shape.
Command OCC22586 is removed (replaced by fixsmallfaces).

Test bug28112_2 using that command is added for the two last shapes in issue #28112; test bug28112 is renamed to bug28112_1.
Test bug22586 is changed to use the new command.

6 years ago0028287: CMake install does not copy pdb files in RelWithDebInfo mode
ski [Mon, 21 Aug 2017 13:24:06 +0000 (16:24 +0300)]
0028287: CMake install does not copy pdb files in RelWithDebInfo mode

Installation of .pdb files was corrected.

6 years ago0027018: Documentation - blockquotes are incorrectly formatted in PDF
ysn [Mon, 21 Aug 2017 10:08:27 +0000 (13:08 +0300)]
0027018: Documentation - blockquotes are incorrectly formatted in PDF

Trailing space is removed after ">" to avoid breaking the quote block in PDF output.

A section about quotes are added in the documentation guide.

6 years ago0028332: Unstable tests in group gdt export
ika [Mon, 21 Aug 2017 12:22:39 +0000 (15:22 +0300)]
0028332: Unstable tests in group gdt export

Add initialization of variable GDTMode in STEP writer.

6 years ago0029031: Visualization - Prs3d_Drawer::SetShaderProgram() has no effect
kgv [Tue, 22 Aug 2017 07:23:41 +0000 (10:23 +0300)]
0029031: Visualization - Prs3d_Drawer::SetShaderProgram() has no effect

Prs3d_Drawer::SetShaderProgram() now takes into account HasOwn*** flags.

6 years ago0028913: UnifySameDomain crashes with error: "a shape is modified and removed simulta...
emv [Fri, 18 Aug 2017 13:00:07 +0000 (16:00 +0300)]
0028913: UnifySameDomain crashes with error: "a shape is modified and removed simultaneously"

Correct filling of the history of the modifications of the shapes in ShapeUpgrade_UnifySameDomain algorithm.

Test cases for the issue.

6 years ago0027936: [regression] BRepAlgoAPI_Common returns empty result for a solid and a face
apv [Wed, 23 Aug 2017 11:24:54 +0000 (14:24 +0300)]
0027936: [regression] BRepAlgoAPI_Common returns empty result for a solid and a face

Problem is not reproduced on current master. Issue must be closed on 7.2.0.
Test case was added only.

6 years ago0028999: Modify Qt Browser build option
nds [Tue, 15 Aug 2017 13:52:59 +0000 (16:52 +0300)]
0028999: Modify Qt Browser build option

'BUILD_Inspector' CMake option switches ON/OFF Inspector in compilation procedure (add additional dependency to Qt third party product)
'inspector.bat' starts sample to demonstrate possibilities of this tool.
Replacing TOOLS to INSPECTOR key for 'pload' command in DRAW cases due to this change in DrawPlugin.

6 years ago0028997: Documentation - Visual3d_Layer removed, but still in the documentation
kgv [Tue, 15 Aug 2017 18:07:55 +0000 (21:07 +0300)]
0028997: Documentation - Visual3d_Layer removed, but still in the documentation

The User Guide has been checked for presence of removed functionality.

6 years ago0029011: Draw Harness - simplify diffimage command syntax
kgv [Thu, 17 Aug 2017 15:18:05 +0000 (18:18 +0300)]
0029011: Draw Harness - simplify diffimage command syntax

Command diffimage now accepts the following syntax:
  diffimage imageFile1 imageFile2 [diffImageFile]
            [-toleranceOfColor {0..1}=0] [-blackWhite {on|off}=off] [-borderFilter {on|off}=off]
            [-display viewName prsName1 prsName2 prsNameDiff] [-exitOnClose]

Command vinit now accepts the following syntax:
  vinit [-name viewName] [-left leftPx] [-top topPx] [-width widthPx] [-height heightPx]
        [-exitOnClose] [-display displayName]

Compatibility with old syntax is also preserved.
diffimage now can display compared images in 3D viewer.
The new option -exitOnClose can be used to exit application when closing the 3D View.

6 years ago0029021: Coding Rules - eliminate GCC warnings in Qt sample
kgv [Sat, 19 Aug 2017 11:40:40 +0000 (14:40 +0300)]
0029021: Coding Rules - eliminate GCC warnings in Qt sample

6 years ago0029016: Configuration, genproj.tcl - add missing definition of CSF_dl
kgv [Fri, 18 Aug 2017 09:33:23 +0000 (12:33 +0300)]
0029016: Configuration, genproj.tcl - add missing definition of CSF_dl

6 years ago0028854: The documentation should state where handle reference counting happens
Benjamin Bihler [Mon, 19 Jun 2017 08:55:26 +0000 (11:55 +0300)]
0028854: The documentation should state where handle reference counting happens

The comment to class opencascade::handle<> in Standard_Handle.hxx now explains better the features differing it from std::shared_ptr<>.

6 years ago0027760: [regression] BRepAlgoAPI_Common returns empty result
apv [Fri, 18 Aug 2017 11:48:13 +0000 (14:48 +0300)]
0027760: [regression] BRepAlgoAPI_Common returns empty result

Problem is not reproduced on current master. Issue must be closed on 7.2.0.
Test case was added only.

6 years agoUpdate of tests database
apv [Thu, 17 Aug 2017 07:39:08 +0000 (10:39 +0300)]
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).

6 years ago0029010: Launch custom.bat in samples before calling general environment
apn [Thu, 17 Aug 2017 13:17:20 +0000 (16:17 +0300)]
0029010: Launch custom.bat in samples before calling general environment

Replace calling custom.bat and general env.bat in samples.

6 years ago0028631: Modeling Algorithms - Crash while building a 2D circle tangent to another...
nds [Fri, 26 May 2017 14:19:51 +0000 (17:19 +0300)]
0028631: Modeling Algorithms - Crash while building a 2D circle tangent to another circle and passing through its center

Code correction includes also:
- extending GccEnt to have GccEnt_Position conversion to string value and backward;
- new GeometryTest_DrawableQualifiedCurve2d DRAW object to wrap GccEnt_QualifiedCirc/GccEnt_QualifiedLin.
  It is a DrawTrSurf_Curve2d with GccEnt_Position visualized in orange color.
- qcircle/qline DRAW command to create instance of GeometryTest_DrawableQualifiedCurve2d
- circ2d3Tan DRAW command to wrap GccAna_Circ2d3Tan taking qcircle/qline/point arguments.

6 years ago0028527: Visualization, AIS_InteractiveContext - custom selection presentation is...
kgv [Thu, 17 Aug 2017 08:43:08 +0000 (11:43 +0300)]
0028527: Visualization, AIS_InteractiveContext - custom selection presentation is never removed from View

6 years ago0029000: Update documentation of Boolean operations according to the new Error/Warnin...
emv [Wed, 16 Aug 2017 07:30:22 +0000 (10:30 +0300)]
0029000: Update documentation of Boolean operations according to the new Error/Warning reporting system

The documentation of Boolean Component has been updated - calls to ErrorStatus() method have been replaced with calls to HasErrors() method.

6 years ago0029009: Configuration - provide a way to get visual dif of SVG images
abv [Thu, 17 Aug 2017 08:50:31 +0000 (11:50 +0300)]
0029009: Configuration - provide a way to get visual dif of SVG images

New helper script svgdiff.bat is added in adm folder.
It can be used for enabling visual diff for SVG images in TortouseGit; see Git guide for details.

6 years ago0028959: Configuration, genproj - provide warning on update of scripts in root folder...
abv [Sat, 29 Jul 2017 06:42:16 +0000 (09:42 +0300)]
0028959: Configuration, genproj - provide warning on update of scripts in root folder (msvc.bat etc.)

When updating files msvc.bat and draw.bat/sh in the root folder by copying template from adm/templates, procedure genproj will give a warning (unless the files are already the same); if the target file is newer, its copy is saved with additional extension .bak.

6 years ago0028972: A not useful message is printed on copying of data in OCAF
vro [Fri, 4 Aug 2017 10:42:42 +0000 (13:42 +0300)]
0028972: A not useful message is printed on copying of data in OCAF

6 years ago0027561: Since OCCT 7.0.0, exporting a curve to STL creates a file that results in...
abv [Tue, 15 Aug 2017 14:58:53 +0000 (17:58 +0300)]
0027561: Since OCCT 7.0.0, exporting a curve to STL creates a file that results in an endless loop when read

Add check for empty triangulation when writing STL file to report error instead of creation of empty file.

STL reader has been improved to properly handle case of empty or small files, and Ascii files without EOL at the end.

6 years ago0029007: Visualization, AIS_InteractiveContext - the method for accessing Detected...
kgv [Wed, 16 Aug 2017 17:08:04 +0000 (20:08 +0300)]
0029007: Visualization, AIS_InteractiveContext - the method for accessing Detected owners iterator is missing

Added new method AIS_InteractiveContext::DetectedCurrentOwner().
AIS_InteractiveContext header has been restructured (methods moved into groups)
and description has been cleaned up.

6 years ago0027381: Visualization - update description of method AIS_InteractiveContext::SetPixe...
kgv [Wed, 16 Aug 2017 09:58:46 +0000 (12:58 +0300)]
0027381: Visualization - update description of method AIS_InteractiveContext::SetPixelTolerance()

6 years ago0028249: Upgrade Guide - mention need to use option -std=c++0x when using GCC
abv [Wed, 16 Aug 2017 13:40:01 +0000 (16:40 +0300)]
0028249: Upgrade Guide - mention need to use option -std=c++0x when using GCC

6 years ago0028967: Boolean cut fails the first time, works the second time
mkv [Wed, 16 Aug 2017 13:55:19 +0000 (16:55 +0300)]
0028967: Boolean cut fails the first time, works the second time

6 years ago0028893: BOP cut produces result with artifacts consisting of tools parts
emv [Wed, 9 Aug 2017 06:13:18 +0000 (09:13 +0300)]
0028893: BOP cut produces result with artifacts consisting of tools parts

6 years ago0028323: Documentation - explain highlighting logic of AIS_InteractiveObject in the...
kgv [Wed, 16 Aug 2017 11:06:29 +0000 (14:06 +0300)]
0028323: Documentation - explain highlighting logic of AIS_InteractiveObject in the upgrade guide

6 years ago0028225: MFC sample on OCAF uses old-style definition of a Handle-class
abv [Tue, 15 Aug 2017 14:46:38 +0000 (17:46 +0300)]
0028225: MFC sample on OCAF uses old-style definition of a Handle-class

Obsolete approach to definition of OCCT RTTI in sample classes generated by WOK from CDL is replaced by usage of standard macros

6 years ago0028892: BOPAlgo_PaveFiller returns status "error: 11" in draw or raises exception...
emv [Fri, 11 Aug 2017 06:16:38 +0000 (09:16 +0300)]
0028892: BOPAlgo_PaveFiller returns status "error: 11" in draw or raises exception in app on the given shapes set

Boolean Operations algorithm - Added processing of the untouched edges (without edge set) in the UpdatePaveBlocks method.

IntCurvesFace_Intersector algorithm - Avoid calculation of the number of sample points on the surfaces with too small UV ranges.

6 years ago0027358: ShapeAnalysis_Curve::GetSamplePoints iteration logic isn't robust
razmyslovich [Mon, 12 Sep 2016 10:52:36 +0000 (12:52 +0200)]
0027358: ShapeAnalysis_Curve::GetSamplePoints iteration logic isn't robust

The iterating logic in ShapeAnalysis_Curve::GetSamplePoints() is made more robust: instead of iterative incrementing parameter by adding step, parameter at each point is calculated independently from index.
This avoids possible accumulation of numeric errors, and ensures that generated points are equally spaced and their quantity is respected in all cases.

6 years ago0028715: Invalid shape produced by reading of attached STEP file. Regression from...
skl [Mon, 31 Jul 2017 14:20:25 +0000 (17:20 +0300)]
0028715: Invalid shape produced by reading of attached STEP file. Regression from OCCT-6.9.1 to OCCT-7.0.0.

Corrections: to use fixed shape as result in the non-manifold mode was made.

Regression was due to using modified initial shape as result in the previous version OCCT. At present initial shape is not modified during ShapeProcessing. Therefore modification to use fixed result was made.

Additionally using of nonManifold flag is added to ShapeProcessing.

6 years ago0026516: Creating revolved shapes fails in some cases
apv [Mon, 14 Aug 2017 09:53:21 +0000 (12:53 +0300)]
0026516: Creating revolved shapes fails in some cases

6 years ago0026776: Bad result of section algorithm
mkv [Fri, 11 Aug 2017 12:54:31 +0000 (15:54 +0300)]
0026776: Bad result of section algorithm

6 years agoUpdate of tests database
apv [Wed, 9 Aug 2017 14:54:16 +0000 (17:54 +0300)]
Update of tests database

Test for 0023838: Standard_OutOfRange in Geom_OffsetSurface::LocalDN (called by BRepFill_PipeShell)
Test for 0023866: GccAna_Circ2d3Tan does not find a circle
Test for 0023925: BRepFeat_SplitShape produces invalid shape
Test for 0023942: Pipe algorithms unrobust to number rounding
Test for 0025385: steep increase in tolerance by intersection
Test for 0025395: SIGSEGV in BRepOffsetAPI_MakeThickSolid
Test for 0025458: can a sweep be used to create 1-fold tori (using a closed wire as path)
Test for 0025478: Fillets can not touch
Test for 0025481: Edge must not contain obsolete curve representations
Test for 0025515: Boolean operation become worse for unknown reason.
Test for 0025521: Fillet creates shell with bad orientation of SubShape
Test for 0025551: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface
Test for 0025586: Poor mesh quality, or failure of meshing for closed extruded surfaces with holes
Test for 0025626: Loft of ellipses shows wrinkle near seam edge
Test for 0025628: BRepMesh fails to mesh face with open wire, considered as correct by checkshape
Test for 0025693: Wire of BSplines fails bopcheck
Test for 0025730: result of MakeThickSolid aborts the BOPCheck in Geom_OffsetSurface::SetD0
Test for 0025738: BRepMesh fails to produce correct mesh for the face
Test for 0025776: HLR returns intersecting edges in OutLineV of helical sweep
Test for 0025798: BRepFeat_SplitShape returns invalid result
Test for 0025817: crescent face is not meshed
Test for 0025827: BRepMesh does not synchronize parameters of glued vertices on small edges
Test for 0025837: Bad triangulation when IGES loaded in meters
Test for 0025852: Text to BRep algorithm produces bad faces for circled symbols
Test for 0025856: BRepOffsetAPI_ThruSections returns an invalid shape if one wire contains degenerated edges
Test for 0025879: result of blend fails the bopcheck
Test for 0025967: Shape Healing fails to correct a face with missing poles and pcurves
Test for 0026052: Missing pcurves are computed incorrectly on two connected faces laying on the same surface
Test for 0025061: BRepMesh should skip internal wires with self intersections to produce mesh for the shape anyway
Test for 0024490: Computed surface properties differ substantially depending on NaturalRestriction flag
Test for 0024568: Split shape produces an invalid result
Test for 0024692: fuseedge corruption of spherical edge
Test for 0024772: Intersection of cylinder and cone produces incorrect results
Test for 0024954: BRepBuilderAPI_MakeFace adds wire with aribitary orientation
Test for 0025104: Prism from BSpline curve can not be chamfered
Test for 0025206: Fillet creates edge with C0 continuity
Test for 0025979: fillet creates faces with non-closed wires
Test for 0025983: Fusion of sweep and its mirror invalid
Test for 0025994: Boolean fuse result in invalid result.
Test for 0026034: Result of revolution aborts the bopcheck if translated
Test for 0026077: nurbsconvert of psphere fails the bopargcheck
Test for 0025989: toridial surface gets damaged in STEP export

6 years ago0028983: Configuration - HAVE_NO_DLL causes compilation to fail on MSVC
Thomas Krijnen [Thu, 10 Aug 2017 08:01:40 +0000 (10:01 +0200)]
0028983: Configuration - HAVE_NO_DLL causes compilation to fail on MSVC

6 years ago0028982: 2D offset creates faulty result from wire
emv [Tue, 8 Aug 2017 08:20:57 +0000 (11:20 +0300)]
0028982: 2D offset creates faulty result from wire

Protection of the Edge/Edge intersection algorithm (IntTools_EdgeEdge) from incomplete type conversion due to presence of the Trimmed curves by using Adaptors for getting typed curves instead of direct casting.

Test case for the issue.

6 years ago0027876: Draw mkoffset does not work
emv [Mon, 7 Aug 2017 13:47:53 +0000 (16:47 +0300)]
0027876: Draw mkoffset does not work

Updating the documentation for the Draw command *mkoffset*.

6 years ago0028980: Coding rules - suppress GCC compiler warnings -Warray-bounds within AdvApp2Var
kgv [Mon, 7 Aug 2017 18:36:10 +0000 (21:36 +0300)]
0028980: Coding rules - suppress GCC compiler warnings -Warray-bounds within AdvApp2Var

6 years ago0028979: Coding rules - eliminate GCC compiler warnings -Wstrict-aliasing within...
kgv [Mon, 7 Aug 2017 16:42:34 +0000 (19:42 +0300)]
0028979: Coding rules - eliminate GCC compiler warnings -Wstrict-aliasing within Graphic3d_ArrayOfPrimitives.lxx

6 years ago0028978: Coding rules - suppress GCC compiler warnings -Warray-bounds within NCollect...
kgv [Mon, 7 Aug 2017 15:04:33 +0000 (18:04 +0300)]
0028978: Coding rules - suppress GCC compiler warnings -Warray-bounds within NCollection_Array1

6 years ago0028974: Test cases for STL reader/writer
aml [Wed, 14 Jun 2017 05:07:26 +0000 (08:07 +0300)]
0028974: Test cases for STL reader/writer

Add new test grid for STL read/write.

6 years ago0028975: Draw Harness - DBRep_DrawableShape::display() throws exception while display...
kgv [Mon, 7 Aug 2017 09:26:58 +0000 (12:26 +0300)]
0028975: Draw Harness - DBRep_DrawableShape::display() throws exception while displaying shape without free edges in Debug mode

6 years ago0028973: Undo/Redo changes the order of some attributes
vro [Mon, 7 Aug 2017 05:52:40 +0000 (08:52 +0300)]
0028973: Undo/Redo changes the order of some attributes

6 years ago0028971: Configuration - fix compatibility with glibc 2.26+ due to xlocale.h removal
kgv [Mon, 7 Aug 2017 14:09:11 +0000 (17:09 +0300)]
0028971: Configuration - fix compatibility with glibc 2.26+ due to xlocale.h removal

6 years ago0025023: Check fails after cut operation
apv [Fri, 4 Aug 2017 09:04:14 +0000 (12:04 +0300)]
0025023: Check fails after cut operation

6 years ago0028944: Cannot find section between two faces
nbv [Fri, 28 Jul 2017 11:22:22 +0000 (14:22 +0300)]
0028944: Cannot find section between two faces

Test case has been created because the problem is not reproduced on the current version of OCCT.

6 years ago0028112: Exception during offset computation
abv [Tue, 1 Aug 2017 04:48:51 +0000 (07:48 +0300)]
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().

6 years ago0028946: Exception on Undo.
szy [Tue, 1 Aug 2017 15:31:33 +0000 (18:31 +0300)]
0028946: Exception on Undo.

//Added additional command ForgetAtt and test case E1 to test issue 28946.

6 years agoUpdate of OCCT version up to 7.2.0 beta CR0-OCCT720-BETA V7_2_0_beta
bugmaster [Tue, 1 Aug 2017 15:36:31 +0000 (18:36 +0300)]
Update of OCCT version up to 7.2.0 beta

6 years ago0028680: Data Exchange - allow reading of multi-domain STL files
abv [Sun, 30 Jul 2017 18:29:17 +0000 (21:29 +0300)]
0028680: Data Exchange - allow reading of multi-domain STL files

Method RWStl::Read() is improved to support reading multi-domain STL files.

Test added: bugs stlvrml bug28680

6 years ago0028840: Data Exchange - rewrite the STL Reader/Writer
aml [Wed, 14 Jun 2017 05:07:26 +0000 (08:07 +0300)]
0028840: Data Exchange - rewrite the STL Reader/Writer

STL Reader and Writer tools have been refactored to improve performance and usability:
- Basic reading of STL file is separated to abstract class RWStl_Reader which is not bound to particular data structures; the target data model can be bound via inheritance.
- RWStl package uses class Poly_Triangulation to represent triangular mesh.
- Obsolete data structures and tools (packages StlMesh and StlTransfer) are removed.

6 years ago0028962: Configuration, genproj.bat - add /LARGEADDRESSAWARE option to 32-bit target...
abv [Mon, 31 Jul 2017 06:23:49 +0000 (09:23 +0300)]
0028962: Configuration, genproj.bat - add /LARGEADDRESSAWARE option to 32-bit target executables

6 years ago0028960: Coding Rules - eliminate GCC compiler warning -Wfor-loop-analysis
kgv [Mon, 31 Jul 2017 12:13:28 +0000 (15:13 +0300)]
0028960: Coding Rules - eliminate GCC compiler warning -Wfor-loop-analysis

6 years ago0025382: Visualization, TKOpenGl - improved video recording capability
kgv [Mon, 17 Apr 2017 12:27:45 +0000 (15:27 +0300)]
0025382: Visualization, TKOpenGl - improved video recording capability

Image_VideoRecorder - added new class for video recording using FFmpeg framework.
Draw Harness command vanimation has been extended with new options for video recording.
New optional dependency has been introduced - CSF_FFmpeg.

6 years ago0027398: Integrate Qt Browser Widget to Open CASCADE Technology
nds [Wed, 26 Jul 2017 13:40:36 +0000 (16:40 +0300)]
0027398: Integrate Qt Browser Widget to Open CASCADE Technology

The following implementation has been made:
- CMake procedure is extended to compile Qt tools. This is optional and is handled by USE_QT_TOOLS option(OFF by default)
- It is possible to build Qt tools using Qt5 or Qt4, it is settled with USE_QT4 option.
- Sample of DFBrowser tool is available in samples/tools/TInspectorEXE. It is build with tools, executable is placed in binaries. To start the sample, use dfbrowser.bat command.
- DFBrowser tool may be started from DRAW

6 years ago0028956: Coding Rules - eliminate several trivial compiler warnings
kgv [Fri, 28 Jul 2017 06:42:11 +0000 (09:42 +0300)]
0028956: Coding Rules - eliminate several trivial compiler warnings

Eliminated GCC warning -Wsign-compare introduced by patch for #0028786.
Eliminated (false) GCC warning -Wuninitialized introduced by patch for #0027117.

Suppressed GCC warning "-Wunused-but-set-variable" with OCCT_DEBUG defined

6 years agoTest for 0023638: Reading IGES file produced invalid shape
mkv [Mon, 24 Jul 2017 15:50:27 +0000 (18:50 +0300)]
Test for 0023638: Reading IGES file produced invalid shape

6 years ago0028850: Visualization - Length dimension along Horizontal/Vertical axes
nds [Mon, 3 Jul 2017 15:51:28 +0000 (18:51 +0300)]
0028850: Visualization - Length dimension along Horizontal/Vertical axes

AIS_LengthDimension interface was extended to allow setting a custom dimension direction.
The value of dimension in this case is equal to projection of the distance between dimension attributes(points) to this direction.

vlengthparam command is implemented to set custom length direction in DRAW.

6 years ago0028952: Configuration, CMake - define OCCT_NO_DEPRECATED while building OCCT by...
kgv [Wed, 26 Jul 2017 15:44:20 +0000 (18:44 +0300)]
0028952: Configuration, CMake - define OCCT_NO_DEPRECATED while building OCCT by obsolete gcc versions

6 years agoUpdate of tests data base for reproduced issues
mkv [Wed, 12 Jul 2017 14:13:06 +0000 (17:13 +0300)]
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

6 years ago0028529: UnifySameDomain crashes on a shape with location
nds [Mon, 10 Jul 2017 07:43:32 +0000 (10:43 +0300)]
0028529: UnifySameDomain crashes on a shape with location

During gluing edges, when getting pcurve of an edge, consider the proper surface location.

6 years ago0028862: Unification of empty labels saving procedure.
szy [Thu, 29 Jun 2017 14:51:43 +0000 (17:51 +0300)]
0028862: Unification of empty labels saving procedure.

Added a possibility to save empty labels to a persistent document in case of need.

6 years ago0028945: Visualization - StdPrs_ToolTriangulatedShape::ComputeNormals() is extremely...
kgv [Tue, 25 Jul 2017 12:49:53 +0000 (15:49 +0300)]
0028945: Visualization - StdPrs_ToolTriangulatedShape::ComputeNormals() is extremely slow for triangulation-only surface

StdPrs_ToolTriangulatedShape::ComputeNormals() now calls Poly::ComputeNormals() for triangulation-only surfaces.
Poly::ComputeNormals() now averages normal considering triangle size.

6 years agoTest for 0024424: BRepAlgoAPI_Cut throws Standard_ConstructionError with disjoint...
apv [Wed, 26 Jul 2017 15:21:08 +0000 (18:21 +0300)]
Test for 0024424: BRepAlgoAPI_Cut throws Standard_ConstructionError with disjoint, but adjacent solids

6 years ago0028950: Generation of draw_test_harness and upgrade pdf files is crashed
abv [Wed, 26 Jul 2017 10:47:04 +0000 (13:47 +0300)]
0028950: Generation of draw_test_harness and upgrade pdf files is crashed

Template for LaTeX header used in generation of PDF manuals is corrected to avoid multiple errors during processing by LaTeX (which can eventually lead to LaTeX aborting if their count exceeds 100).

Names of log files generated by gendoc command are made dependent on target format and (for PDF output) document name.

Formatting bug is fixed in DRAW User Guide

6 years ago0028908: Improvement on attachment of attributes to the label
vro [Mon, 24 Jul 2017 05:47:30 +0000 (08:47 +0300)]
0028908: Improvement on attachment of attributes to the label

6 years ago0028951: MathJax CDN shutting down
apn [Tue, 25 Jul 2017 17:17:32 +0000 (20:17 +0300)]
0028951: MathJax CDN shutting down

Correct all links using old MathJax version.

6 years ago0028937: Tests, testdiff - link image in diff to the test cases log
kgv [Sat, 22 Jul 2017 10:58:22 +0000 (13:58 +0300)]
0028937: Tests, testdiff - link image in diff to the test cases log

6 years ago0028938: Tests - remove useless file artifacts of test cases perf/de/bug26338
kgv [Sat, 22 Jul 2017 11:21:39 +0000 (14:21 +0300)]
0028938: Tests - remove useless file artifacts of test cases perf/de/bug26338

6 years agoTest for 0024145: OCCT fails to project a wire onto BSplineSurface using BRepAlgo_Nor...
apv [Tue, 25 Jul 2017 10:03:24 +0000 (13:03 +0300)]
Test for 0024145: OCCT fails to project a wire onto BSplineSurface using BRepAlgo_NormalProjection

6 years ago0028871: Various problems in SAT export
anv [Wed, 28 Jun 2017 13:10:30 +0000 (16:10 +0300)]
0028871: Various problems in SAT export

6 years ago0028920: Samples - fix msvc.bat for building samples without CMake
apn [Wed, 19 Jul 2017 15:34:09 +0000 (18:34 +0300)]
0028920: Samples - fix msvc.bat for building samples without CMake

Added DevEnvDir to env.bat.
Added window title to "start" command in msvc.bat files.

6 years agoTest for 0028551: Bad result of general fuse
mkv [Fri, 21 Jul 2017 13:41:14 +0000 (16:41 +0300)]
Test for 0028551: Bad result of general fuse

6 years ago0028930: Coding Rules - eliminate GCC compiler warnings -Wmisleading-indentation
kgv [Fri, 21 Jul 2017 09:11:19 +0000 (12:11 +0300)]
0028930: Coding Rules - eliminate GCC compiler warnings -Wmisleading-indentation

6 years agoTest for 0023025: OCC exception is raised when making an extrusion with draft angle...
mkv [Fri, 21 Jul 2017 14:00:38 +0000 (17:00 +0300)]
Test for 0023025: OCC exception is raised when making an extrusion with draft angle from a simple line

6 years agoTest for 0023176: Intersection of cylinder and cone produces open curve
mkv [Fri, 14 Jul 2017 16:56:05 +0000 (19:56 +0300)]
Test for 0023176: Intersection of cylinder and cone produces open curve

6 years ago0028927: Visualization - Graphic3d_StructureManager destructor should invalidate...
kgv [Wed, 19 Jul 2017 14:38:54 +0000 (17:38 +0300)]
0028927: Visualization - Graphic3d_StructureManager destructor should invalidate its pointer in Graphic3d_Structure

Graphic3d_Structure::myFirstStructureManager - removed unused class field.
~Graphic3d_StructureManager() now removes displayed Structures explicitly.

6 years ago0028923: Foundation Classes - Message_Messenger::Send() implementation is not thread...
kgv [Wed, 19 Jul 2017 09:34:09 +0000 (12:34 +0300)]
0028923: Foundation Classes - Message_Messenger::Send() implementation is not thread-safe

Use (Message_SequenceOfPrinters::Iterator instead of accessing sequence elements by index.

6 years ago0028912: Visualization, TKOpenGl - multi-texture support
kgv [Mon, 10 Jul 2017 12:43:25 +0000 (15:43 +0300)]
0028912: Visualization, TKOpenGl - multi-texture support

Graphic3d_AspectFillArea3d now stores array of textures.
Graphic3d_TextureParams stores texture unit for mapping texture.

OpenGl_Context::BindTextures() - context now manages the set of active textures.
Related code has been removed from OpenGl_Workspace.

OpenGl_Sampler has been extended to hold texture parameters structure.
OpenGl_Texture now holds OpenGl_Sampler instance as class field.
OpenGl_Texture inherits new class OpenGl_NamedResource and holds
texture identifier used for sharing resource in OpenGl_Context.

OpenGl_RaytraceGeometry now creates bindless textures taking
Sampler object directly from OpenGl_Texture.
OpenGl_Context::BindTextures() automatically recreates immutable
Sampler Object on texture parameters change.

Declared new structure OpenGl_ArbSamplerObject for platform-neutral
usage of related functionality.
Related functions are now loaded within OpenGL ES 3.0+.

Declarations.glsl - occActiveSampler has been renamed to occSampler0
with aliases occSamplerBaseColor (main) and occActiveSampler (for compatibility).
Additional texture samplers should be declared explicitly
within specific GLSL program as occSampler1, occSampler2, etc.

AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

vshaderprog now accepts Shader source code as parameter.

6 years ago0028811: Visualization - merge texturing support into AIS_Shape class and get rid...
kgv [Mon, 17 Jul 2017 12:19:33 +0000 (15:19 +0300)]
0028811: Visualization - merge texturing support into AIS_Shape class and get rid of AIS_TexturedShape

AIS_Shape and AIS_ColoredShape now computes Shaded presentation
with UV coordinates if texture mapping is enabled in Drawer.

OpenGl_Context::SetTextureMatrix() - fixed inconsistent handling
of texture cooridnates translation vector.

vtexture command has been extended to handle new arguments:
* -trsfTrans, -trsfScale, -trsfAngle defining transformation matrix
* -setFilter, -setAnisoFilter to setup texture filtering

6 years ago0028922: Configuration - remove useless Standard_EXPORT in SelectMgr_Frustum::hasOver...
abv [Wed, 19 Jul 2017 09:09:21 +0000 (12:09 +0300)]
0028922: Configuration - remove useless Standard_EXPORT in SelectMgr_Frustum::hasOverlap()

6 years agoTest for 0023166: Intersection of plane and cone produces wrong result
mkv [Fri, 14 Jul 2017 15:31:16 +0000 (18:31 +0300)]
Test for 0023166: Intersection of plane and cone produces wrong result

6 years agoTest for 0023187: Cut with a compound
mkv [Wed, 19 Jul 2017 15:05:42 +0000 (18:05 +0300)]
Test for 0023187: Cut with a compound

6 years ago0028915: Configuration, Font_BRepFont - do not include FreeType headers within OCCT...
kgv [Mon, 17 Jul 2017 08:12:48 +0000 (11:12 +0300)]
0028915: Configuration, Font_BRepFont - do not include FreeType headers within OCCT headers

6 years agoTest for 0022919: Shape Healing fails to correct a face with missing seam
mkv [Thu, 13 Jul 2017 12:43:41 +0000 (15:43 +0300)]
Test for 0022919: Shape Healing fails to correct a face with missing seam

6 years ago0028887: TKJT - add option to cache file content
kgv [Mon, 3 Jul 2017 17:22:56 +0000 (20:22 +0300)]
0028887: TKJT - add option to cache file content

Added new auxiliary class Standard_ArrayStreamBuffer implementing
std::streambuf interface for defining std::istream from allocated memory.

6 years ago0028769: Unification of msvc.bat files.
apn [Tue, 30 May 2017 14:27:41 +0000 (17:27 +0300)]
0028769: Unification of msvc.bat files.

Modify mfc and qt samples for supporting VS 2017.
Create general vcxproj files for all mfc samples.

Correction msvc.bat and msvc_D3D.bat in CSharp sample

6 years ago0028701: Configuration - add support of VS 2017
abv [Tue, 2 May 2017 05:36:49 +0000 (08:36 +0300)]
0028701: Configuration - add support of VS 2017

Added support of Visual Studio 2017 (15) in CMake build procedure.
CMake 3.7.2 or above is required to generate projects for VS 2017.

Since version of compiler and toolset remained at 14 (now they are 14.1), and they use the same run-time, the same third-party products as for VS 2015 (14) can be used.
Also the name of the folder for installation of OCCT binaries in OCCT-standard layout (default on Windows) remains "vc14".

Support of Visual Studio 2017 is added in genproj generator and relevant environment, with format specifier "vc141".

The syntax of the genproj command is revised:
- UWP is considered as separate platform ("uwp" alternative to "wnt"), not part of IDE specification
- Option "IDE" is renamed to "Format"
- Obsolete name of local variable "aWokStation" is replaced by equivalent "theFormat"

In environment scripts, additional variables are defined (derived from VCVER, see adm/vcver.bat):
- VCLIB defines name of the subdirectory specific to VS version; it is the same as VCVER except that for VCVER=vc141 VCLIB=vc14 and for VCVER=141-uwp VCLIB=vc14-uwp
- VCFMT is VCVER without optional suffix "-uwp"
- VCPROP is "NativeDesktop" for normal builds or "Universal" for UWP builds

Command genconf is amended to:
- Detect presence of VS 2017 (separately for desktop and UWP)
- Use only two first digits after "vc" in format specification for search of third-party libs
- Have more space in user interface for VS specification

All supported variants of VCVER variable are documented in dev guides / buiding / msvc

6 years agoTest for 0022886: Bug in boolean
mkv [Thu, 13 Jul 2017 10:28:20 +0000 (13:28 +0300)]
Test for 0022886: Bug in boolean

6 years ago0028856: Extrema between two curves gives wrong result
ifv [Thu, 15 Jun 2017 08:53:29 +0000 (11:53 +0300)]
0028856: Extrema between two curves gives wrong result

Treatment for large Lipschitz constant is added
Test case is added

6 years ago0028895: Visualization, V3d_View::SetComputedMode() - HLR calculation is performed...
kgv [Mon, 10 Jul 2017 12:43:25 +0000 (15:43 +0300)]
0028895: Visualization, V3d_View::SetComputedMode() - HLR calculation is performed multiple times when 'hlr on' has been called

V3d_View::SetComputedMode() - removed implicit View update.

Graphic3d_CView::SetComputedMode(), ::ReCompute() - fixed
uninitialized bounding box of Computed structure.

PrsMgr_Presentation::Compute() - fixed computation of Computed structure
with transformation within Connected presentation.

StdPrs_HLRPolyShape::Add() now creates Graphic3d_ArrayOfSegments instead of
inefficient Graphic3d_ArrayOfPolylines with boundaries at every segment.

Fixed error in test case bugs/vis/bug24388_1.

6 years ago0028890: Visualization - After closing all views and then display the view again...
kgv [Fri, 7 Jul 2017 14:06:09 +0000 (17:06 +0300)]
0028890: Visualization - After closing all views and then display the view again, just the first view has object(s) displayed

DeviceLost flag has been moved from Graphic3d_GraphicDriver to Graphic3d_StructureManager,
so that all Viewers sharing the same Driver instance are properly invalidated.

Fixed clearing of objects by vclear command in case of multiple Viewers.

6 years agoTest for 0022487: Reading IGES file produces invalid shape
mkv [Wed, 12 Jul 2017 10:22:08 +0000 (13:22 +0300)]
Test for 0022487: Reading IGES file produces invalid shape