occt.git
23 months agoFixed TransferEdge CR25654
aln [Thu, 28 Apr 2022 08:21:22 +0000 (11:21 +0300)]
Fixed TransferEdge

2 years agoAdded license.md
aln [Mon, 18 Apr 2022 12:38:17 +0000 (15:38 +0300)]
Added license.md

2 years agofixed part of the regressions
ink [Mon, 23 Mar 2015 06:41:37 +0000 (09:41 +0300)]
fixed part of the regressions

2 years ago0025654: Disable writing pcurves to STEP and IGES by default
ink [Tue, 30 Dec 2014 07:50:21 +0000 (10:50 +0300)]
0025654: Disable writing pcurves to STEP and IGES by default

Changed default value of write.surfacecurve.mode to 0.
Added SplitClosedFaces to XSTEPResource/STEP. This is necessary for correct display of closed surfaces (such as a torus) in applications such as ProEngineer, SolidWorks, Rhinoceros. Tests changed in connection with changing tolerance. In test bugs/iges/bug23018 enabled writing pcurves.

2 years ago0032897: Tests - include elapsed time into test log IR-2022-04-01
kgv [Wed, 30 Mar 2022 18:38:14 +0000 (21:38 +0300)]
0032897: Tests - include elapsed time into test log

Added "ELAPSED TIME" to test case log.
Improved syntax of chrono/dchrono command:
added -elapsed, -userCPU, -sysCPU options printing individual values in seconds.

OSD_Chronometer::IsThisThreadOnly() - added missing accessors to the property.

2 years ago0029745: Modeling Data - GeomAdaptor_Surface::VIntervals fails on periodic surfaces
abulyche [Tue, 14 Dec 2021 22:58:57 +0000 (01:58 +0300)]
0029745: Modeling Data - GeomAdaptor_Surface::VIntervals fails on periodic surfaces
Fixed GeomAdaptor_Curve::LocalContinuity() for periodic curves.
Fixed GeomAdaptor_Curve::NbIntervals() for periodic curves.
Fixed GeomAdaptor_Curve::Intervals() for periodic curves.
Improved definition of length in tests.
Update Geom2dAdaptor_Curve to the same behavior.

2 years ago0032863: Cone surface returns wrong v derivative IR-2022-03-25
azv [Thu, 24 Mar 2022 19:21:06 +0000 (22:21 +0300)]
0032863: Cone surface returns wrong v derivative

* Fix error on computing V first derivative on a cone (take into account the slope of the conical generatrix).
* Add DRAW command 'sderivative' to compute certain derivative on a surface.

2 years ago0024772: Modeling Algorithms - Intersection of cylinder and cone produces incorrect...
knosulko [Wed, 16 Mar 2022 10:13:15 +0000 (13:13 +0300)]
0024772: Modeling Algorithms - Intersection of cylinder and cone produces incorrect results

GeomInt/GeomInt_IntSS.cxx - handle flat cone case
IntPatch/IntPatch_Intersection.hxx, IntPatch/IntPatch_Intersection.cxx - method for preparing surfaces is added
bugs/lowalgos/intss/bug24772 - test case is changed according new behavior

2 years ago0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7...
azv [Fri, 18 Mar 2022 20:46:44 +0000 (23:46 +0300)]
0032874: IsParallel() method of Extrema_ExtCC does not give same results in OCC 7.6.0 vs OCC 7.5.0

Improve tolerance criteria to check values of extremas for equality: use multiplier, which depends on the value, instead of magic number

2 years ago0023820: Wrong result of projection algorithm when a polygon geometry is projected...
AndreiLA [Thu, 17 Mar 2022 12:10:01 +0000 (15:10 +0300)]
0023820: Wrong result of projection algorithm when a polygon geometry is projected on a set of multiple faces

The tests are added to verify the correctness of the projection algorithm's work in two cases.

2 years ago0032442: Application Framework - Problems of testing on MacOS arm64 platform IR-2022-03-18
mpv [Thu, 10 Mar 2022 08:57:41 +0000 (11:57 +0300)]
0032442: Application Framework - Problems of testing on MacOS arm64 platform

Fixed the problem of reading XML files on MacOS. 'errno' was not reseted
even the 'strtol' function produced a good value. So, now it is erased
forcibly before the call.

2 years ago0032817: Data Exchange - Step export - writing untrimmed Curve
atychini [Mon, 7 Feb 2022 12:57:38 +0000 (15:57 +0300)]
0032817: Data Exchange - Step export - writing untrimmed Curve

Incorrect curve handling.
If curve doesn't have trims and vertexes, we handle it such as trimmed curve, but it should be a simple curve.
Curves with only one vertex and one trim should handle by another way, such as a curve that has trims but doesn't have vertexes.
So I added conditions which handles these cases

2 years ago0032066: Modeling Algorithms - Incorrect result of Boolean CUT operation
azv [Fri, 19 Feb 2021 19:34:56 +0000 (22:34 +0300)]
0032066: Modeling Algorithms - Incorrect result of Boolean CUT operation

Do not limit the normalization factor of the highly anisotropic parametric space when filtering start points in the algorithm of walking line construction.
Additionally check the knots are in the increasing orders when merging two B-spline curves

2 years ago0032870: Tests - bugs/caf/bug31918_1 is unstable
mpv [Mon, 14 Mar 2022 15:03:59 +0000 (18:03 +0300)]
0032870: Tests - bugs/caf/bug31918_1 is unstable

Improved the test stability: created 10 iterations of measurements and take the minimum to
minimize the affect of other processes and threads; increased the compare range of
the quarter and the whole of the document load.

2 years ago0032719: Modelling Algorithms - UnifySameDomain result has incorrect triangulation
jgv [Sat, 12 Mar 2022 19:35:55 +0000 (22:35 +0300)]
0032719: Modelling Algorithms - UnifySameDomain result has incorrect triangulation

Correct method ShapeUpgrade_UnifySameDomain::UnionPCurves: reparametrize unified pcurves to fit the new range of 3D-curve.

2 years ago0032866: Visualization, TKOpenGles - FitAll() is broken when performance counters... IR-2022-03-11
kgv [Sun, 6 Mar 2022 23:13:22 +0000 (02:13 +0300)]
0032866: Visualization, TKOpenGles - FitAll() is broken when performance counters are displayed

OpenGl_View::MinMaxValues() - added missing theToIncludeAuxiliary check.

2 years ago0032796: Modeling Data - Calculation of distance between two circles crashes IR-2022-03-05
vro [Tue, 22 Feb 2022 14:00:09 +0000 (17:00 +0300)]
0032796: Modeling Data - Calculation of distance between two circles crashes

Modified:
- Extrema_ExtCC.cxx, the method PrepareParallelResult() - angular tolerance is increased.

Added:
- A test: lowalgos extcc bug32796

2 years ago0032862: Visualization, Graphic3d_TextureMap - add 3D texture definition
kgv [Wed, 2 Mar 2022 12:21:22 +0000 (15:21 +0300)]
0032862: Visualization, Graphic3d_TextureMap - add 3D texture definition

Image_PixMap has been extended to support definition of 3D bitmap (as an array of 2D slices).

Graphic3d_TypeOfTexture enumeration values have been renamed to include full enum prefix.
Added Graphic3d_TypeOfTexture_3D redirecting to GL_TEXTURE_3D.
OpenGl_Texture::Init() has been extended to allow initialization of 3D texture.

Graphic3d_Texture2Dmanual merged into Graphic3d_Texture2D and marked as deprecated alias.
Graphic3d_TOT_2D_MIPMAP has been deprecated in favor of dedicated Graphic3d_TextureRoot::SetMipMaps().

Added Graphic3d_Texture3D class.
vtexture - added argument -3d for uploading 3D texture.

2 years ago0032837: Documentation, Geom_Surface - add references to GeomLib::NormEstim() for...
kgv [Wed, 2 Mar 2022 05:58:10 +0000 (08:58 +0300)]
0032837: Documentation, Geom_Surface - add references to GeomLib::NormEstim() for Normal computations

References to GeomLib::NormEstim() have been put to Geom_Surface, Adaptor3d_Surface and BRepAdaptor_Surface.
Improved documentation of GeomLib::NormEstim().

2 years ago0032841: Visualization - add 16-bit grayscale pixel format to Image_PixMap
kgv [Tue, 1 Mar 2022 19:34:31 +0000 (22:34 +0300)]
0032841: Visualization - add 16-bit grayscale pixel format to Image_PixMap

Added Image_Format_Gray16 pixel format definition, which could be uploaded into GL_R16 texture.
Added Image_Format_GrayF_half mapped to GL_R16F texture.

2 years ago0032860: Coding Rules, Extrema_GenExtPS - add exported destructor
kgv [Wed, 2 Mar 2022 05:18:29 +0000 (08:18 +0300)]
0032860: Coding Rules, Extrema_GenExtPS - add exported destructor

Added eplicit destructors to classes Extrema_GenExtCS, Extrema_GenExtPS and Extrema_GenExtSS.

2 years ago0032856: Configuration, CMake - SONAME should include minor version in addition to...
kgv [Sat, 26 Feb 2022 16:29:44 +0000 (19:29 +0300)]
0032856: Configuration, CMake - SONAME should include minor version in addition to major to reflect ABI compatibility

Added option BUILD_SOVERSION_NUMBERS to manage SOVERSION length.
Default option value is set to 2 (major.minor) instead of previously used 1 (major),
excluding Android/Emscripten/Windows platforms that use 0 by default.

2 years ago0032849: Modeling Algorithms - Intersection algorithm returns incomplete result.
ifv [Tue, 1 Feb 2022 09:17:52 +0000 (12:17 +0300)]
0032849: Modeling Algorithms - Intersection algorithm returns incomplete result.

GeomInt/GeomInt_IntSS.cxx, IntTools/IntTools_FaceFace.cxx - setting deflection 0.01
for case of two bspline surfaces
IntPolyh/IntPolyh_Intersection.cxx, IntPolyh/IntPolyh_Intersection.hxx - status IsParallel is added

BndLib/BndLib_Add3dCurve.cxx, IntTools/IntTools_TopolTool.cxx - fix small bugs

Correction of test scripts according to current behavior of algorithms

lowalgos/intss/bug32849 - test case added

2 years ago0032834: Configuration, CMake - DESTDIR ignored for OpenCASCADECompileDefinitionsAndF...
kgv [Sat, 26 Feb 2022 18:52:21 +0000 (21:52 +0300)]
0032834: Configuration, CMake - DESTDIR ignored for OpenCASCADECompileDefinitionsAndFlags-${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake

Replace redundant configure_file() with normal file copy for installing OpenCASCADECompileDefinitionsAndFlags- files.

2 years ago0032854: Documentation - minor clean-up of User Guide for XDE module IR-2022-02-25
kgv [Wed, 23 Feb 2022 17:50:40 +0000 (20:50 +0300)]
0032854: Documentation - minor clean-up of User Guide for XDE module

Applied minor formatting improvements to `xde.md`.
Fixed small misprints and artifacts in text.
Removed redundant section "Working with XDE".

2 years ago0029219: Application Framework - XML document is written with CRLF on Windows
vro [Mon, 21 Feb 2022 07:41:05 +0000 (10:41 +0300)]
0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF

0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF
STL: RWStl::WriteAscii() ends by CR LF (to synchronize with Blender)

0029219: Application Framework - XML document is written with CRLF on Windows

The last symbol of a line is synchronized with external products.
Also, XML ends by LF now.

Modified:
XML: XmlLDrivers_DocumentStorageDriver::Write() ends by LF
BREP: BRepTools::Write(), Draw_VariableCommands::save() ends by LF
STEP: StepSelect_WorkLibrary::WriteFile() ends by LF
IGES: IGESSelect_WorkLibrary::WriteFile(), IGESControl_Writer::Write(), XSDRAWIGES::WriteShape() ends by LF
VRML: VrmlAPI_Writer::write_v2() ends by LF

2 years ago0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative...
vro [Fri, 18 Feb 2022 15:08:24 +0000 (18:08 +0300)]
0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.

Modified file:
- CDF_Store.cxx, the method SetFolder().

0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.

Modified file:
- CDF_Store.cxx, the method SetFolder().

0032785: Application Framework - CDF_Store::SetFolder incorrectly processes relative paths on Linux

The code is simplified - it checks the last character and if it is a folder separator, it removes it.
// Also, variable 'l' is renamed to 'aLen'.
// And a check on the number of characters is added to avoid removal of the root folder ('/').

Modified file:
- CDF_Store.cxx, the method SetFolder().

2 years ago0024418: Modeling Algorithms - Wrong section curves when intersecting analytical...
knosulko [Mon, 15 Nov 2021 14:02:03 +0000 (17:02 +0300)]
0024418: Modeling Algorithms - Wrong section curves when intersecting analytical surfaces

IntPatch_ALineToWLine.cxx - setting minimal number of points in a WLine depending on step size
IntPatch_WLineTool.cxx - fix WLines connecting check condition
test cases has been changed according to new behavior

2 years ago0032814: Modeling algorithms - Unifysamedom produces invalid result IR-2022-02-18
jgv [Mon, 14 Feb 2022 21:41:00 +0000 (00:41 +0300)]
0032814: Modeling algorithms - Unifysamedom produces invalid result

Minor correction in ShapeUpgrade_UnifySameDomain::IntUnifyFaces: correct collecting splitting vertices in the new wire

2 years ago0032840: Application Framework, copying of a scaled shape fails
vro [Thu, 17 Feb 2022 05:35:26 +0000 (08:35 +0300)]
0032840: Application Framework, copying of a scaled shape fails

A flag not to raise an exception is set for a copying shape. A reason: if a shape is already in the model, the user should have an opportunity to copy it.

Modified files:
TNaming_CopyShape.cxx, the method Translate(). A false-flag is used on copying of location of the shape.

2 years ago0032715: Modelling Algorithms - UnifySameDomain does incomplete union
jgv [Mon, 14 Feb 2022 13:36:39 +0000 (16:36 +0300)]
0032715: Modelling Algorithms - UnifySameDomain does incomplete union

    Add the case of closed, smooth but not periodic surface (unification of faces lying on it if the flag "myConcatBSplines" is true - modify the underlying surface to make it periodic).

2 years ago0032838: Coding - get rid of unused forward declarations (misc)
aml [Wed, 16 Feb 2022 09:59:22 +0000 (12:59 +0300)]
0032838: Coding - get rid of unused forward declarations (misc)

2 years ago0032832: Coding - get rid of unused headers [FairCurve to GeomAPI]
aml [Wed, 12 Jan 2022 16:28:12 +0000 (19:28 +0300)]
0032832: Coding - get rid of unused headers [FairCurve to GeomAPI]

2 years ago0031585: Access Violation while creating fillet - ChiFi3d_Builder::PerformIntersectio...
Chris Hennes [Sun, 13 Feb 2022 00:52:19 +0000 (18:52 -0600)]
0031585: Access Violation while creating fillet - ChiFi3d_Builder::PerformIntersectionAtEnd

There is one case in PerformIntersectionAtEnd that did not test whether
an array access exceeded the length of the array, in rare cases
resulting in a segmentation fault. That error-handling behavior is
replaced by the exception code used elsewhere in the function. For
consistency, the code is copied exactly as implemented elsewhere. This
code has the same effect as that proposed by the bug submitter.

2 years ago0032831: Documentation - drop misleading "FreeType 2.4.10 - 2.5.3" version range
kgv [Fri, 11 Feb 2022 20:45:11 +0000 (23:45 +0300)]
0032831: Documentation - drop misleading "FreeType 2.4.10 - 2.5.3" version range

Removed duplicating information about supported versions of 3rdparty libraries from `building_3rdparty.md`.

2 years ago0032827: Configuration - compilation error on Emscripten SDK IR-2022-02-11
kgv [Wed, 9 Feb 2022 21:48:57 +0000 (00:48 +0300)]
0032827: Configuration - compilation error on Emscripten SDK

2 years ago0032826: Data Exchange - use OSD_FileSystem within RWStl::ReadAscii() and StepFile_Read()
kgv [Wed, 9 Feb 2022 18:16:26 +0000 (21:16 +0300)]
0032826: Data Exchange - use OSD_FileSystem within RWStl::ReadAscii() and StepFile_Read()

2 years ago0029325: Modeling Algorithms - add tool BRepLib_PointCloudShape for generation point...
gka [Wed, 8 Nov 2017 14:13:53 +0000 (17:13 +0300)]
0029325: Modeling Algorithms - add tool BRepLib_PointCloudShape for generation point cloud for specified shape

Added PLY writing tools RWPly_CafWriter and RWPly_PlyWriterContext.

Added tool BRepLib_PointCloudShape generating point cloud from shape in two ways:
- random points on surface with specified density;
- points from triangulation nodes.

StdPrs_ToolTriangulatedShape::ComputeNormals() has been moved to
BRepLib_ToolTriangulatedShape for reusing outside of AIS.

Command vpointcloud has been extended to use new generation tool.
Command writeply has been added to write triangulation or point set into PLY format.

2 years ago0032813: Units: ToSI and FromSI return cached dimension from previous request when... IR-2022-02-04
oan [Thu, 3 Feb 2022 10:20:59 +0000 (13:20 +0300)]
0032813: Units: ToSI and FromSI return cached dimension from previous request when parsing of unit sentence is failed

Cache value only if all necessary preparation steps are done.

2 years ago0032731: Data Exchange, Step Import - Incorrect PMI text location
dpasukhi [Mon, 31 Jan 2022 08:09:20 +0000 (11:09 +0300)]
0032731: Data Exchange, Step Import - Incorrect PMI text location

Added new complex Entity for representation of PMI
Added moving the presentation with new entity

2 years ago0032767: Mesh - incorrect splitting of edges of seams leading to hang [since OCCT...
knosulko [Thu, 13 Jan 2022 00:17:50 +0000 (03:17 +0300)]
0032767: Mesh - incorrect splitting of edges of seams leading to hang [since OCCT 7.4.0]

- fix step by parameter of the edge while split curve in case of seam edges

2 years ago0032810: Coding - missing Standard_EXPORT in Standard_ErrorHandler
aml [Fri, 28 Jan 2022 15:39:49 +0000 (18:39 +0300)]
0032810: Coding - missing Standard_EXPORT in Standard_ErrorHandler

2 years ago0032812: Coding - problem after integration 32806
aml [Mon, 31 Jan 2022 04:01:49 +0000 (07:01 +0300)]
0032812: Coding - problem after integration 32806

2 years ago0032806: Coding - get rid of unused headers [Contap to Extrema] IR-2022-01-28
aml [Wed, 12 Jan 2022 15:48:35 +0000 (18:48 +0300)]
0032806: Coding - get rid of unused headers [Contap to Extrema]

2 years ago0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression...
atychini [Fri, 21 Jan 2022 18:55:45 +0000 (21:55 +0300)]
0032748: Data Exchange, Step Import - xstep.cascade.unit doesn't work [regression since OCCT 7.6.0]
Added new condition in STEPControl_ActorRead::Transfer: if StepData_StepModel is not an initialized Unit - we set unit to this step model

2 years ago0032795: Documentation - clarify indexation range within Poly_Triangulation/Graphic3d...
kgv [Mon, 24 Jan 2022 18:57:26 +0000 (21:57 +0300)]
0032795: Documentation - clarify indexation range within Poly_Triangulation/Graphic3d_ArrayOfPrimitives classes

2 years ago0032701: Modeling Algorithms - 2d curve has bending near the degenerated edge of...
ifv [Thu, 2 Dec 2021 14:02:17 +0000 (17:02 +0300)]
0032701: Modeling Algorithms - 2d curve has bending near the degenerated edge of the face

ApproxInt_Approx, ApproxInt_KnotTools, BRepApprox_Approx,
GeomInt_IntSS, IntTools_FaceFace:
  Analysis of curvature is added for adjusting ParametrizationType

IntPatch_Intersection.cxx - adding methods for estimation of UV max step depending on used surfaces

GeomInt_IntSS.cxx, IntTools_FaceFace.cxx - using methods for max step estimation

Approx_SameParameter.cxx - adding control against big values.

BOPAlgo_PaveFiller_6.cxx - adjusting position of faces before intersection

2 years ago0032783: Documentation - Doxygen 1.9.3 generates corrupted HTML for dox/samples/ocaf.md IR-2022-01-21
kgv [Tue, 18 Jan 2022 12:28:02 +0000 (15:28 +0300)]
0032783: Documentation - Doxygen 1.9.3 generates corrupted HTML for dox/samples/ocaf.md

Fix incorrect/fragile Markdown syntax in samples/ocaf and user_guides/modeling_data.

2 years ago0032781: Coding - get rid of unused headers [BRepCheck to ChFiKPart]
aml [Wed, 12 Jan 2022 14:16:00 +0000 (17:16 +0300)]
0032781: Coding - get rid of unused headers [BRepCheck to ChFiKPart]

2 years ago0032784: BinXCAF fails to load documents containing the shapes with scaled/mirrored...
Dzmitry Razmyslovich [Tue, 18 Jan 2022 13:52:39 +0000 (14:52 +0100)]
0032784: BinXCAF fails to load documents containing the shapes with scaled/mirrored location

A flag not to raise an exception is used on reading of an XCAF document. If such a shape with scaling transformation is stored in the document, it should be read.

2 years ago0032668: Documentation - add tutorial for creating a custom AIS Interactive Object
kgv [Thu, 13 Jan 2022 12:51:40 +0000 (15:51 +0300)]
0032668: Documentation - add tutorial for creating a custom AIS Interactive Object

2 years ago0032780: Visualization, TKOpenGl - add smoothing to row interlaced stereoscopic output
kgv [Sun, 16 Jan 2022 15:20:45 +0000 (18:20 +0300)]
0032780: Visualization, TKOpenGl - add smoothing to row interlaced stereoscopic output

Added new option Graphic3d_RenderingParams::ToSmoothInterlacing enabled by default.
Added -smooth   option to vstereo command.
Added -dpiAware option to vinit   command (Windows).

2 years ago0032779: Visualization, TKOpenGl - support using a wide color window buffer format...
kgv [Fri, 14 Jan 2022 22:39:19 +0000 (01:39 +0300)]
0032779: Visualization, TKOpenGl - support using a wide color window buffer format (10bit per component / 30bit RGB)

Added new flag OpenGl_Caps::buffersDeepColor disabled by default.
OpenGl_Window now tries to find a RGB10_A2 pixel format using wglChoosePixelFormatARB().
OpenGl_TextureFormat::FindSizedFormat() - added handling of GL_RGB10_A2 internal format.
OpenGl_View::SetWindow() now selects preferred FBO color format basing on parameters.
OpenGl_Context::DiagnosticInformation()/OpenGl_View::DiagnosticInformation() now include
information about window pixel format / FBO texture format.

2 years ago0028642: BRepOffsetAPI_ThruSections/BRepFill_Generator are modifying the input shape...
isn [Wed, 5 Apr 2017 12:16:40 +0000 (15:16 +0300)]
0028642: BRepOffsetAPI_ThruSections/BRepFill_Generator are modifying the input shape sections

1) BRepFill_Generator and BRepOffsetAPI_ThruSections now support 'non-destructive' mode for the input shapes (sections wires). The shape history of this algorithms also has been modified.
2) New test grids (based on the previous ones) have been added. These new cases use locked shapes as input arguments
3) The option '-safe' has been added to 'thrusections' command

2 years ago0032722: Visualization, TKOpenGl - performance counters disappear at some camera... IR-2022-01-14
achesnok [Sat, 8 Jan 2022 14:07:10 +0000 (17:07 +0300)]
0032722: Visualization, TKOpenGl - performance counters disappear at some camera viewpoints

Fixed OpenGl_FrameStatsPrs::Render() to enable depth clamping.
Fixed OpenGl_View::MinMaxValues() to take into account performance overlay.

2 years ago0032333: Modeling Algorithms - Empty(wrong) result of offset operation in mode "Compl...
emv [Tue, 11 Jan 2022 15:10:23 +0000 (18:10 +0300)]
0032333: Modeling Algorithms - Empty(wrong) result of offset operation in mode "Complete" join type "Intersection"

Add more faces for intersection in rebuilding process basing on the connection of the splits of offset faces (special treatment for the artificially invalid faces).
When rebuilding faces add vertices common for faces for trimming the new intersection edges.

Adjust existing and create new test cases.

2 years ago0032763: Coding Rules - eliminate CLang warning -Wbitwise-instead-of-logical in math_...
kgv [Wed, 12 Jan 2022 16:51:18 +0000 (19:51 +0300)]
0032763: Coding Rules - eliminate CLang warning -Wbitwise-instead-of-logical in math_FunctionSetRoot.cxx

2 years ago0032768: Coding - get rid of unused headers [BopAlgo to BRepBuilderAPI]
aml [Tue, 11 Jan 2022 13:37:26 +0000 (16:37 +0300)]
0032768: Coding - get rid of unused headers [BopAlgo to BRepBuilderAPI]

2 years ago0032764: Coding Rules - missing include guard in BRepExtrema_MapOfIntegerPackedMapOfI...
kgv [Mon, 10 Jan 2022 11:59:16 +0000 (14:59 +0300)]
0032764: Coding Rules - missing include guard in BRepExtrema_MapOfIntegerPackedMapOfInteger.hxx

2 years ago0032758: Visualization, TKOpenGl - disable shadow-map from transform-persistence...
kgv [Thu, 30 Dec 2021 13:41:09 +0000 (16:41 +0300)]
0032758: Visualization, TKOpenGl - disable shadow-map from transform-persistence objects

OpenGl_View::renderShadowMap() now skips transform-persistent objects.
OpenGl_ShadowMap::UpdateCamera() - removed redundant Z-range expansion for non-rendered objects.
Improved syntax of vdrawtext command.

2 years ago0032757: Application Framework, scaling transformation - loading of an OCAF XML docum...
vro [Wed, 29 Dec 2021 08:00:06 +0000 (11:00 +0300)]
0032757: Application Framework, scaling transformation - loading of an OCAF XML document fails

A flag not to raise an exception is used on reading of an OCAF document. If such a shape with scaling transformation is stored in the document, it should be read.

Modified files:
XmlMNaming\XmlMNaming_NamedShapeDriver.cxx: not checking of the type of transformation for a read shape

2 years ago0032747: Modeling Algorithms - Exact HLR algorithm gives wrong result
jgv [Fri, 24 Dec 2021 04:12:49 +0000 (07:12 +0300)]
0032747: Modeling Algorithms - Exact HLR algorithm gives wrong result

Modify the method IntWalk_IWalking::TestArretCadre: correct the value of scalar product of two vectors according to the tolerances in U and V.

2 years ago0032606: Visualization - add a shader for sky V3d_View::BackgroundSkydome() IR-2021-12-30
achesnok [Thu, 14 Oct 2021 22:50:13 +0000 (01:50 +0300)]
0032606: Visualization - add a shader for sky V3d_View::BackgroundSkydome()

Introduced V3d_View::SkydomeAspect() property for generating skydome cubemap environment.
Skydome features: day/night cycle, 2 types of clouds, atmosphere, water surface, stars, fog.

2 years ago0032744: Modeling Algorithms - Endless loop in GCPnts_UniformDeflection
asuraven [Mon, 20 Dec 2021 16:27:09 +0000 (19:27 +0300)]
0032744: Modeling Algorithms - Endless loop in GCPnts_UniformDeflection

fixed finish criteria in CPnts_UniformDeflection::Perform()

2 years ago0032751: Coding - get rid of unused headers [AppStd to BndLib]
aml [Sun, 26 Dec 2021 07:22:25 +0000 (10:22 +0300)]
0032751: Coding - get rid of unused headers [AppStd to BndLib]

2 years ago0032644: Modeling Algorithms - Empty result of section operation IR-2021-12-24
emv [Thu, 28 Oct 2021 08:07:05 +0000 (11:07 +0300)]
0032644: Modeling Algorithms - Empty result of section operation

Use distance criteria additionally to parameter criteria when verifying the extrema solution to belong to the edge boundary.
Refactor the BRepExtrema_DistanceSS class to remove the excessive methods with mirrored parameters.

2 years ago0032742: Coding - get rid of unused headers [Adaptor2d to Approx]
aml [Sun, 19 Dec 2021 07:43:29 +0000 (10:43 +0300)]
0032742: Coding - get rid of unused headers [Adaptor2d to Approx]

2 years ago0032743: Coding Rules - remove unused class friends of Package classes
kgv [Sun, 19 Dec 2021 08:29:36 +0000 (11:29 +0300)]
0032743: Coding Rules - remove unused class friends of Package classes

2 years ago0032740: Coding Rules, OpenGl_Context.cxx - new warning on macOS after integration...
kgv [Sun, 19 Dec 2021 09:29:47 +0000 (12:29 +0300)]
0032740: Coding Rules, OpenGl_Context.cxx - new warning on macOS after integration fix for #32732

2 years ago0032739: Configuration, scripts - handle ABI list within macOS building script adm... IR-2021-12-17
kgv [Fri, 17 Dec 2021 06:53:46 +0000 (09:53 +0300)]
0032739: Configuration, scripts - handle ABI list within macOS building script adm/scripts/macos_build.sh

2 years ago0032738: Configuration, scripts - handle ABI list within iOS building script adm...
kgv [Fri, 17 Dec 2021 02:50:46 +0000 (05:50 +0300)]
0032738: Configuration, scripts - handle ABI list within iOS building script adm/scripts/ios_build.sh

Variables "toSimulator" and "anAbi" within "ios_custom.sh"
have been replaced by "anAbiList" which can be defined like "iPhoneOS|arm64 iPhoneSimulator|arm64".
Added "toPackFat" option packing multiple architectures into FAT archives.

2 years ago0032732: Visualization, TKOpenGl - do not include system headers within OpenGl_GlFunc...
kgv [Wed, 15 Dec 2021 13:47:25 +0000 (16:47 +0300)]
0032732: Visualization, TKOpenGl - do not include system headers within OpenGl_GlFunctions.hxx

2 years ago0032733: Coding Rules - fix misprints in Doxygen tags
kgv [Wed, 15 Dec 2021 22:50:41 +0000 (01:50 +0300)]
0032733: Coding Rules - fix misprints in Doxygen tags

2 years ago0032452: Data Exchange - IGES reader returns invalid shapes if xstep.cascade.unit...
ichesnok [Thu, 2 Dec 2021 11:40:35 +0000 (14:40 +0300)]
0032452: Data Exchange - IGES reader returns invalid shapes if xstep.cascade.unit property is changed from default

Fixed documentation in 'IGES Translator' and 'STEP Translator' sections (description of the read.maxprecision.val parameter).

2 years ago0032484: Configuration, CMake fails to find EGL and GLES2 include directory on iOS...
kgv [Mon, 13 Dec 2021 21:25:36 +0000 (00:25 +0300)]
0032484: Configuration, CMake fails to find EGL and GLES2 include directory on iOS platform

Fixed configuration errors and compilation errors on iOS target due to unexpected EGL usage (non-existing on iOS).

2 years ago0026174: Data Exchange, IGES - Loss of color after the second write of file
ssafarov [Mon, 15 Nov 2021 15:15:33 +0000 (18:15 +0300)]
0026174: Data Exchange, IGES - Loss of color after the second write of file

A copy of myface is made, where further on the copy the geometry changes. We connect the face, wire, edge of the original shape with the one whose geometry was changed. This is done in order to get the original shape in the TransferWire() and TransferEdge() methods.

2 years ago0032725: Visualization - Graphic3d_Structure::SetDisplayPriority() should use public... IR-2021-12-10
kgv [Wed, 8 Dec 2021 12:55:11 +0000 (15:55 +0300)]
0032725: Visualization - Graphic3d_Structure::SetDisplayPriority() should use public enumeration Graphic3d_DisplayPriority

Added new enumeration Graphic3d_DisplayPriority.
Graphic3d_Layer now defines a fixed-length array of priorities.
Properties Graphic3d_CStructure::Id, Priority, PreviousPriority have been wrapped into methods.

2 years ago0032723: Draw Harness, ViewerTest - sloppy animation in WebGL
kgv [Tue, 7 Dec 2021 17:07:04 +0000 (20:07 +0300)]
0032723: Draw Harness, ViewerTest - sloppy animation in WebGL

Fixed emscripten_async_call() calls to use requestAnimationFrame() instead of setTimeout().
ViewerTest_EventManager::handleViewRedraw() - fixed queuing new onWasmRedrawView()
before previous one has been processed (leading to multiplying of pending redraws executed at the same time).
RWGltf_TriangulationReader::readDracoBuffer - suppressed CLang compilation warnings.

2 years ago0032727: Coding Rules - eliminate CLang warning -Wshorten-64-to-32 in MessageView_Act...
kgv [Wed, 8 Dec 2021 19:45:18 +0000 (22:45 +0300)]
0032727: Coding Rules - eliminate CLang warning -Wshorten-64-to-32 in MessageView_ActionsTest.cxx

2 years ago0032720: Coding Rules - rename glext.h to OpenGl_glext.h
kgv [Tue, 7 Dec 2021 09:21:04 +0000 (12:21 +0300)]
0032720: Coding Rules - rename glext.h to OpenGl_glext.h

2 years ago0032713: Visualization, OpenGl_GlFunctions - unify OpenGL and OpenGL ES function...
kgv [Sat, 4 Dec 2021 12:19:47 +0000 (15:19 +0300)]
0032713: Visualization, OpenGl_GlFunctions - unify OpenGL and OpenGL ES function lists

Including system OpenGL headers has been moved from OpenGl_GlFunctions.hxx to OpenGl_GlNative.hxx.
Added OpenGl_GlTypes.hxx providing basic OpenGL 1.1 types.
Wrappers of system OpenGL 1.1 / OpenGL ES 2.0 functions have been moved to OpenGl_GlFunctions.cxx.
Avoided usage of global OpenGL functions in OpenGl package outside of OpenGl_GlFunctions.cxx.

2 years ago0032724: Coding Rules, Graphic3d_Structure - remove unused property Graphic3d_Structu...
kgv [Wed, 8 Dec 2021 11:10:11 +0000 (14:10 +0300)]
0032724: Coding Rules, Graphic3d_Structure - remove unused property Graphic3d_Structure::ContainsFacet()

2 years ago0032717: Modeling Algorithms - BRepBuilderAPI_Copy should not remove triangulation...
kgv [Mon, 6 Dec 2021 19:23:24 +0000 (22:23 +0300)]
0032717: Modeling Algorithms - BRepBuilderAPI_Copy should not remove triangulation from surface-less faces

BRepBuilderAPI_Copy now ignores toCopyMesh flag for non-geometric shapes.

2 years ago0032718: Draw Harness, ViewerTest - fix misprint in vanim command description
kgv [Mon, 6 Dec 2021 19:40:14 +0000 (22:40 +0300)]
0032718: Draw Harness, ViewerTest - fix misprint in vanim command description

2 years ago0032712: Visualization, OpenGl_Context.hxx - avoid including OpenGL headers
kgv [Fri, 3 Dec 2021 16:51:07 +0000 (19:51 +0300)]
0032712: Visualization, OpenGl_Context.hxx - avoid including OpenGL headers

2 years ago0032711: Coding Rules - new warning in AIS_Shape::Color() after integration fix for...
kgv [Sat, 4 Dec 2021 12:49:14 +0000 (15:49 +0300)]
0032711: Coding Rules - new warning in AIS_Shape::Color() after integration fix for 0032704

2 years ago0030272: Modeling Algorithms - Incorrect work of gproject
knosulko [Thu, 14 Oct 2021 17:15:02 +0000 (20:15 +0300)]
0030272: Modeling Algorithms - Incorrect work of gproject

-fix TolU/V for approximation;
-fix cutting tool for approximation;
-add method Adaptor3d_HSurfaceTool::IsSurfG1.
-add test bugs/moddata_3/bug30272

2 years ago0032663: Coding - remove AIS_SequenceOfInteractive
kgv [Mon, 6 Dec 2021 11:59:47 +0000 (14:59 +0300)]
0032663: Coding - remove AIS_SequenceOfInteractive

2 years ago0032678: Coding Rules, ApproxInt_SvSurfaces - eliminate GCC -fsanitize=undefined...
kgv [Sun, 21 Nov 2021 23:13:56 +0000 (02:13 +0300)]
0032678: Coding Rules, ApproxInt_SvSurfaces - eliminate GCC -fsanitize=undefined error

ApproxInt_SvSurfaces::myUseSolver is now initialized by default constructor.

2 years ago0032714: Documentation - drop VS2010 from minimal requirements
kgv [Sat, 4 Dec 2021 21:36:18 +0000 (00:36 +0300)]
0032714: Documentation - drop VS2010 from minimal requirements

2 years ago0032709: Samples, MFC - remove samples Viewer2d, Viewer3d, Ocaf, Triangulation, Anima... IR-2021-12-03
kgv [Thu, 2 Dec 2021 15:54:45 +0000 (18:54 +0300)]
0032709: Samples, MFC - remove samples Viewer2d, Viewer3d, Ocaf, Triangulation, Animation, Convert

2 years ago0032694: Documentation, Draw Harness Guide - update ViewerTest commands
kgv [Sat, 27 Nov 2021 12:18:53 +0000 (15:18 +0300)]
0032694: Documentation, Draw Harness Guide - update ViewerTest commands

Draw Harness Guide now refers to ViewerTest commands description
via @snippet pointing to C++ source code instead of duplicating it.
"help" command now tries to beautify output of command's description.

2 years ago0032704: Visualization, Prs3d_Drawer - do not implicitly create aspects within getters
kgv [Wed, 1 Dec 2021 08:58:39 +0000 (11:58 +0300)]
0032704: Visualization, Prs3d_Drawer - do not implicitly create aspects within getters

Prs3d_Drawer getters now return NULL instead of implicitly creating "default" aspects.
Added missing initialization of default properties in AIS_InteractiveContext.
AIS_InteractiveContext::setContextToObject() - added missing propagation of Context to child presentations.

2 years ago0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers
kgv [Thu, 2 Dec 2021 12:51:11 +0000 (15:51 +0300)]
0032352: Coding Rules - clean up code from compatibility hacks with pre-C++11 compilers

Removed usage of std::auto_ptr.
opencascade::std workarounds for VS2008 have been dropped, when possible.
OCCT_NO_RVALUE_REFERENCE workaround for VS2008 has been removed.

2 years ago0032705: Test - name clashes within temporary files within bugs/caf/bug23766_X
kgv [Wed, 1 Dec 2021 18:50:48 +0000 (21:50 +0300)]
0032705: Test - name clashes within temporary files within bugs/caf/bug23766_X

Several test cases writing temporary files have been corrected.

2 years ago0032697: Configuration - fix compilation errors with oneTBB 2021
kgv [Mon, 29 Nov 2021 18:26:45 +0000 (21:26 +0300)]
0032697: Configuration - fix compilation errors with oneTBB 2021

Removed usage of no more existing tbb::task_scheduler_init and tbb::captured_exception.

2 years ago0032696: Coding - get rid of unused forward declarations [StepSelect to Xw]
aml [Mon, 29 Nov 2021 08:18:12 +0000 (11:18 +0300)]
0032696: Coding - get rid of unused forward declarations [StepSelect to Xw]

Packages starting with lower-case (gp and gce) are also processed.

2 years ago0032683: Coding Rules, XCAFDoc_Editor::CloneMetaData() - unexpected bitwise operations
dpasukhi [Thu, 25 Nov 2021 22:26:49 +0000 (01:26 +0300)]
0032683: Coding Rules, XCAFDoc_Editor::CloneMetaData() - unexpected bitwise operations

Fixed problem with incorrect bitwise operators.
Removed forced naming via cloning metadata

2 years ago0031087: Configuration - make FreeType dependency optional [part 2] IR-2021-11-26
Dzmitry Razmyslovich [Thu, 25 Nov 2021 16:46:56 +0000 (17:46 +0100)]
0031087: Configuration - make FreeType dependency optional [part 2]

2 years ago0029406: Foundation Classes - gp_Ax3 fails setting direction
isn [Thu, 11 Jan 2018 16:03:03 +0000 (19:03 +0300)]
0029406: Foundation Classes - gp_Ax3 fails setting direction

Avoid exception in gp_Ax3::SetDirection(), SetAxis(): check if XDir of Ax3 is parallel to newly given direction.