occt.git
3 years ago0031773: Visualization - add Prs3d_ToolTorus
mzernova [Thu, 17 Sep 2020 19:55:27 +0000 (22:55 +0300)]
0031773: Visualization - add Prs3d_ToolTorus

Added Prs3d_ToolTorus tool to create a torus

Added DRAW commands:
- vtorus
- vcylinder
- vsphere

Added test cases:
- v3d/quadric/torus
- v3d/quadric/cylinder
- v3d/quadric/sphere

3 years ago0027185: Data Exchange - IGES - incorrect reading of DE for undefined entity IR-2020-09-18
ika [Tue, 15 Sep 2020 14:20:35 +0000 (17:20 +0300)]
0027185: Data Exchange - IGES - incorrect reading of DE for undefined entity

Fix reading of pointers to color entity.

3 years ago0025171: Data Exchange - STEP Lexer - the strings with quote sign inside can't be...
dpasukhi [Sun, 13 Sep 2020 10:23:00 +0000 (13:23 +0300)]
0025171: Data Exchange - STEP Lexer - the strings with quote sign inside can't be properly lexed

Add a test case to verify that the .STEP is read correctly

3 years ago0030014: Data Exchange - Step File import does not create shapes, after transfer...
dpasukhi [Sun, 13 Sep 2020 10:12:16 +0000 (13:12 +0300)]
0030014: Data Exchange - Step File import does not create shapes, after transfer roots

Add a test case to verify that the .STEP is read correctly

3 years ago0031191: Data Exchange - STEP import returns empty shape for a file written by SolidW...
dpasukhi [Sun, 13 Sep 2020 10:05:04 +0000 (13:05 +0300)]
0031191: Data Exchange - STEP import returns empty shape for a file written by SolidWorks 2018

Add a test case to verify that the .STEP is read correctly

3 years ago0030539: Data Exchange - Step file can't be imported (ADT.step)
dpasukhi [Sun, 13 Sep 2020 09:43:48 +0000 (12:43 +0300)]
0030539: Data Exchange - Step file can't be imported (ADT.step)

Add a test case to verify that the .STEP is read correctly

3 years ago0025440: Data Exchange - STEP file with Japanese unicode symbols cannot be read
dpasukhi [Sun, 13 Sep 2020 08:35:47 +0000 (11:35 +0300)]
0025440: Data Exchange - STEP file with Japanese unicode symbols cannot be read

Add a test case to verify that the .STEP is read correctly

3 years ago0031766: Modeling Algorithms - Instability on pipe bugs bug26088 test case
jgv [Mon, 14 Sep 2020 15:51:50 +0000 (18:51 +0300)]
0031766: Modeling Algorithms - Instability on pipe bugs bug26088 test case

Correction in GeomFill_Sweep: set the flags "myExchUV", "isUReversed", "isVReversed" to FALSE (initial state) after failure of BuildKPart method.

3 years ago0031491: Data Exchange, STEP Import - Regression due to patch 29068
ika [Wed, 16 Sep 2020 12:34:42 +0000 (15:34 +0300)]
0031491: Data Exchange, STEP Import - Regression due to patch 29068

Add parameter read.step.root.transformation to switch on/off using transformation placed in the root shape representation.

3 years ago0031675: Data Exchange - Error opening the STEP-file
dpasukhi [Thu, 10 Sep 2020 16:28:58 +0000 (19:28 +0300)]
0031675: Data Exchange - Error opening the STEP-file

Add a check for null array object ("Elements") within StepShape_GeometricSet.cxx

3 years ago0025113: Mesh - Progress indication and user break functionality for BRepMesh component
emv [Fri, 10 Jul 2020 11:19:31 +0000 (14:19 +0300)]
0025113: Mesh - Progress indication and user break functionality for BRepMesh component

Added Progress Indicator to BRep_Mesh

3 years ago0031595: Foundation Classes - make methods Message_Report::SendMessages() virtual
abv [Thu, 17 Sep 2020 05:45:51 +0000 (08:45 +0300)]
0031595: Foundation Classes - make methods Message_Report::SendMessages() virtual

3 years ago0025495: Documentation - Enumeration Approx_ParameterizationType is not documented
jgv [Mon, 14 Sep 2020 15:51:50 +0000 (18:51 +0300)]
0025495: Documentation - Enumeration Approx_ParameterizationType is not documented

3 years ago0031513: Data Exchange - FSD_Base64Decoder::Decode() returns buffer with wrong length
kgv [Wed, 22 Apr 2020 20:50:55 +0000 (23:50 +0300)]
0031513: Data Exchange - FSD_Base64Decoder::Decode() returns buffer with wrong length

3 years ago0031757: Visualization - Prebuild BVH for Select3D_SensitiveEntity in separate threads
age [Tue, 8 Sep 2020 11:44:21 +0000 (14:44 +0300)]
0031757: Visualization - Prebuild BVH for Select3D_SensitiveEntity in separate threads

- Added a new mode in SelectMgr_ViewerSelector for computing BVH for Select3D_SensitiveEntity in background which can be activated via method SelectMgr_ViewerSelector::SetToPrebuildBVH(). Default behavior has not been changed.
- New class SelectMgr_BVHThreadPool manages background processing of BVH building queue.
- Added Select3D_SensitiveEntity::ToBuildBVH() method that checks if BVH (if it used) is in invalidated state. Defined this method for all standard classes inherited from Select3D_SensitiveEntity.

3 years ago0031769: Application Framework - regression : can not initialize two kinds of applica...
mpv [Tue, 15 Sep 2020 13:20:01 +0000 (16:20 +0300)]
0031769: Application Framework - regression : can not initialize two kinds of application in one thread

3 years ago0029789: Modeling Algorithms - General Fuse produces invalid shape for valid arguments
emv [Tue, 15 Sep 2020 13:42:04 +0000 (16:42 +0300)]
0029789: Modeling Algorithms - General Fuse produces invalid shape for valid arguments

Integrating test case for the issue.

3 years ago0025462: BRepAlgoAPI_Fuse not work correctly for a planar face
emv [Tue, 15 Sep 2020 12:13:10 +0000 (15:13 +0300)]
0025462: BRepAlgoAPI_Fuse not work correctly for a planar face

Fixed by 0028747. Integrating test case only.

3 years ago0031770: Application Framework - To add tests of Abort command to 31748
mpv [Tue, 15 Sep 2020 13:37:13 +0000 (16:37 +0300)]
0031770: Application Framework - To add tests of Abort command to 31748

3 years ago0031759: Application Framework - regression: support of old versions of OCAF document...
vro [Tue, 15 Sep 2020 08:36:11 +0000 (11:36 +0300)]
0031759: Application Framework - regression: support of old versions of OCAF document fails

3 years ago0031768: Foundation Classes - use usleep within OSD::MilliSecSleep()
kgv [Tue, 15 Sep 2020 10:05:06 +0000 (13:05 +0300)]
0031768: Foundation Classes - use usleep within OSD::MilliSecSleep()

3 years ago0031173: Point Cloud Rendering - Enable remote file systems as input and output for...
agv [Fri, 22 Nov 2019 09:21:55 +0000 (12:21 +0300)]
0031173: Point Cloud Rendering - Enable remote file systems as input and output for the Point Cloud converter

Make RWStl_Reader::IsAscii() accepting optional argument pointing how to rewind the input stream, using unget() or seekg(). This allows writing a reader that uses a stream supporting seekg but not supporting unget.

3 years ago0024789: BOPAlgo_Builder produces invalid result on planar, conical and spherical...
emv [Thu, 3 Sep 2020 11:37:29 +0000 (14:37 +0300)]
0024789: BOPAlgo_Builder produces invalid result on planar, conical and spherical surfaces

BOPAlgo_PaveFiller::MakeBlocks() - Improve Face/Face post treatment procedure by:
* Adding more existing edge for intersection with section edges to resolve all possible intersections.
* Using tree for edges selection.
* Avoiding intersection of the existing edges among themselves.

IntPatch_ImpImpIntersection::CyCyNoGeometric - add more points to wline to make it more smooth.

3 years ago0031452: Impossible to get Backup of the attribute and status that attribute was...
gka [Mon, 14 Sep 2020 18:46:11 +0000 (21:46 +0300)]
0031452: Impossible to get Backup of the attribute and status that attribute was modified before commit transaction

Method TObj_Object::HasModifications() was added to get flag that object or it's children was modified in the current open transaction

3 years ago0030786: BOP Cut: artifacts with enabled nondestructive flag
emv [Thu, 20 Jun 2019 08:33:14 +0000 (11:33 +0300)]
0030786: BOP Cut: artifacts with enabled nondestructive flag

Avoid PaveBlocks initialization on vertex update.
Test case for the issue.

3 years ago0031711: Data Exchange - STEPCAFControl_Reader hangs on attached file in an infinite...
dpasukhi [Tue, 1 Sep 2020 07:47:20 +0000 (10:47 +0300)]
0031711: Data Exchange - STEPCAFControl_Reader hangs on attached file in an infinite loop

Add check if .step external file is the same main file.

3 years ago0030308: OCCT Qt Tutorial Sample Cannot Be Built on Linux
bugmaster [Tue, 15 Sep 2020 13:15:09 +0000 (16:15 +0300)]
0030308: OCCT Qt Tutorial Sample Cannot Be Built on Linux

3 years ago0031219: Application Framework - TObj_Object::SetName(const Standard_CString theName...
gka [Mon, 9 Dec 2019 11:43:47 +0000 (14:43 +0300)]
0031219: Application Framework - TObj_Object::SetName(const Standard_CString theName) should use conversion to TCollection_HAsciiString

In the method TObj_Object::TObj_Object::SetName(const Standard_CString theName) conversion to the HAsciiString was used instead of the conversion to the TCollection_HExtendedString. -

3 years ago0030792: Modeling Algorithms, BOP Fuse - some parts of the shape are dropped
emv [Mon, 14 Sep 2020 10:33:32 +0000 (13:33 +0300)]
0030792: Modeling Algorithms, BOP Fuse - some parts of the shape are dropped

Integrating test case for the issue.

3 years ago0031763: Foundation Classes - reporting of progress within parallel algorithms
abv [Sun, 13 Sep 2020 16:48:30 +0000 (19:48 +0300)]
0031763: Foundation Classes - reporting of progress within parallel algorithms

Classes Message_ProgressRange and Message_ProgressScope are improved to store start point of the range.
Method Message_ProgressScope::Value() is improved to compute the value in the current scope from the actual current value of the global progress.
Description of Message_ProgressScope class is improved.

Off-topic:
- method Message_ProgressScope::Relieve() is renamed to Close() for semantic consistency
- article in Upgrade Guide is revised and corrected

3 years ago0031228: It is impossible switch off setting default names for objects inherited... IR-2020-09-11
gka [Mon, 9 Dec 2019 15:29:06 +0000 (18:29 +0300)]
0031228: It is impossible switch off setting default names for objects inherited TObj_Partition

In order to switch off setting default names for objects of the type TObj_Partition argument "theSetName" defining addition of the default names was added

3 years ago0030662: Documentation - update programming example in Visualization user guide
kgv [Fri, 11 Sep 2020 14:37:37 +0000 (17:37 +0300)]
0030662: Documentation - update programming example in Visualization user guide

"A programming example" section has been updated to provide a working code.

3 years ago0031221: Visualization - selection filter in context
sshutina [Fri, 11 Sep 2020 09:14:58 +0000 (12:14 +0300)]
0031221: Visualization - selection filter in context

 - Added the new filter SelectMgr_AndOrFilter which allows to define the context filter. By default OR selection filter is used
 - Added the enumeration SelectMgr_FilterType provides filter types
 - To define behavior SelectMgr_AndOrFilter use  SetFilterType in AIS_InteractiveContext
 - Added the test
 - SelectMgr_OrFilter don't store the disabled objects, it's stored in SelectMgr_AndOrFilter

3 years ago0031466: Data Exchange - Cannot import layers from STeP file (7.4.0 regression)
ika [Thu, 10 Sep 2020 18:56:08 +0000 (21:56 +0300)]
0031466: Data Exchange - Cannot import layers from STeP file (7.4.0 regression)

Return possibility to find layers fir subshapes.

3 years ago0025748: Parallel version of progress indicator
msv [Fri, 10 Jul 2020 11:19:31 +0000 (14:19 +0300)]
0025748: Parallel version of progress indicator

Progress indication mechanism is refactored to support incrementing progress within multithreaded algorithms.

The class Message_ProgressIndicator is only an interface to the user application.
It accumulates the progress provided by progress scopes.
The counter is protected by mutex for thread-safety.

The new class Message_ProgressScope replacing Message_ProgressSentry should be used to advance the progress.
The scopes are nested to each other to reflect the nested nature of operations.
The new class Message_ProgressRange should be used to pass the progress to sub-scopes.

All OCCT algorithms involving progress indication have been updated to new API.

Improvements in Draw_ProgressIndicator:
- Separate console mode has been added in order to make possible to put the progress into std::cout instead
  or in addition to the draw interpreter, instead of trigger option "-tclOutput".
- Treatment of Ctrl-Break signal has been added.
  Now any operation can be aborted by Ctrl-C or Ctrl-Break keystroke.

Added new test case 'perf fclasses progr_par' for testing of parallel work of the progress.

3 years ago0031683: Visualization - V3d_View::SetBackgroundImage() should accept Image_PixMap
mkrylova [Wed, 2 Sep 2020 13:08:35 +0000 (16:08 +0300)]
0031683: Visualization - V3d_View::SetBackgroundImage() should accept Image_PixMap

Added V3d_View::SetBackgroundImage() accepting Graphic3d_Texture2D on input.

Graphic3d_CView/OpenGl_View have been modified to merge Graphic3d_CView::SetBackgroundImage()
and ::SetBackgroundCubeMap() implementations into a single method.

3 years ago0030848: Data Exchange - Problem load step file
dpasukhi [Wed, 9 Sep 2020 10:06:05 +0000 (13:06 +0300)]
0030848: Data Exchange - Problem load step file

Update .step scanner rules to read anything within the text, including nested apostrophes

3 years ago0030053: STEP read fails due to comment string
dpasukhi [Wed, 9 Sep 2020 10:00:15 +0000 (13:00 +0300)]
0030053: STEP read fails due to comment string

- Update .step scanner:
  - add rules to read anything within the comment
  - add a function to initialize of lexical scanner
  - add states for Commit & End instead of global variables modcom & modend

3 years ago0030397: Data Exchange - STEP Reader extension to support entities which have a text...
dpasukhi [Wed, 9 Sep 2020 10:02:39 +0000 (13:02 +0300)]
0030397: Data Exchange - STEP Reader extension to support entities which have a text description field with not supported symbols

STEP file is now opened in binary mode (instead of text mode) to avoid unexpected handling of control symbols inside string constants.

3 years ago0030773: Application Framework - To allow to inherit existing attributes to reuse...
mpv [Fri, 19 Jun 2020 20:12:17 +0000 (23:12 +0300)]
0030773: Application Framework - To allow to inherit existing attributes to reuse persistence mechanisms

Added possibility to inherit existing attributes if the same persistent fields are used. All methods that allow controlling the data model changes or getting some callbacks may be overridden in successor. They may have same GUIDs as a base class or new ones.

Special macros IMPLEMENT_DERIVED_ATTRIBUTE and IMPLEMENT_DERIVED_ATTRIBUTE_WITH_TYPE must be used instead of standard Handle macro definition IMPLEMENT_STANDARD_RTTIEXT to register new derived attributes.

Using this improvement several existing attributes from TDataStd, TDataXtd and XCAFDoc packages become inherited from other base attribute-classes. XML and Bin drivers of these attributes are removed. New base attribute classes are added: TDataStd_GenericEmpty and TDataStd_GenericExtString.

This improvement does not change both present formats Bin and XML documents. The obsolete Standard scheme is not changed at all.

3 years ago0031310: Application Framework - A document with a reference array attribute crashes...
vro [Tue, 21 Jan 2020 08:46:45 +0000 (11:46 +0300)]
0031310: Application Framework - A document with a reference array attribute crashes on attempt to save on disk

3 years ago0031748: Application Framework - Efficient OCAF transactions in OCCT
mpv [Tue, 8 Sep 2020 06:50:18 +0000 (09:50 +0300)]
0031748: Application Framework - Efficient OCAF transactions in OCCT

3 years ago0029195: OCAF - ensure thread safety for different documents.
mpv [Wed, 26 Aug 2020 07:15:22 +0000 (10:15 +0300)]
0029195: OCAF - ensure thread safety for different documents.

OCAF persistence architecture modification to satisfy multi-threading criteria.

3 years ago0031736: ShapeUpgrade_UnifySameDomain algorithm does not unify all possible faces
jgv [Tue, 1 Sep 2020 20:55:52 +0000 (23:55 +0300)]
0031736: ShapeUpgrade_UnifySameDomain algorithm does not unify all possible faces

1. Correct processing faces that can be converted into planar ones.
2. Correct processing faces based on V-closed surfaces.

3 years ago0031658: Inspector - using AIS_ViewController in View package
nds [Thu, 10 Sep 2020 03:46:26 +0000 (06:46 +0300)]
0031658: Inspector - using AIS_ViewController in View package

- View: using AIS_ViewController, AIS_ViewCube.

3 years ago0031656: Visualization - drag item to handle in AIS_ViewController
nds [Tue, 8 Sep 2020 19:59:02 +0000 (22:59 +0300)]
0031656: Visualization - drag item to handle in AIS_ViewController

ProcessDragging method in AIS_InteractiveObject. Empty by default. Should be implemented if drag is used for the object.

3 years ago0031758: Visualization, AIS_InteractiveContext - unify clearDynamicHighlight() method
osa [Tue, 8 Sep 2020 15:22:45 +0000 (18:22 +0300)]
0031758: Visualization, AIS_InteractiveContext - unify clearDynamicHighlight() method

3 years ago0031326: Foundation Classes - Init from Json for base OCCT classes
nds [Mon, 7 Sep 2020 21:16:32 +0000 (00:16 +0300)]
0031326: Foundation Classes - Init from Json for base OCCT classes

InitFromJson method implementation for some simple classes.
OCCT_INIT_* defines introduction to do automatic parsing of the stream into values.
Inspector is extended to visualize objects created on the dump stream if it might be created.

3 years ago0030784: Visualization - check if selectable of owner in internal container in AIS_In...
nds [Mon, 7 Sep 2020 20:00:50 +0000 (23:00 +0300)]
0030784: Visualization - check if selectable of owner in internal container in AIS_InteractiveContext before using

3 years ago0031489: Data Exchange - STEP Reader can't read a big file
dpasukhi [Sat, 5 Sep 2020 11:56:34 +0000 (14:56 +0300)]
0031489: Data Exchange - STEP Reader can't read a big file

- Add checking for null object for edge_curve within TranslateEdgeLoop;
- Update STEP parser rule allowing empty element in the list of entity parameters;
- Update test case of bug26451 for a new scanner rule;
- Update test case of bug30273 for a new added check for null object

3 years ago0030537: Visualization - wrapping text in font text formatter
nds [Mon, 7 Sep 2020 08:10:32 +0000 (11:10 +0300)]
0030537: Visualization - wrapping text in font text formatter

Font_TextFormatter inherits Standard_Transient, now it is given as a handle in functions.
Graphic3d_Text - extended with Font_TextFormatter to be able to have it filled out of text render. If it is not defined here, the default text formatter of context is used.
OpenGl_Context - has default Font_TextFormatter for rendering OpenGl_Text.
AIS_TextLabel extending with Font_TextFormatter to prepare test case for text wrapping.
Prs3d_Text returns created graphic text to be able to manage it outside.

3 years ago0031354: Visualization - Dump improvement for V3d, Graphic3d, Aspect IR-2020-09-04 WEEK-36
sshutina [Thu, 6 Feb 2020 15:17:35 +0000 (18:17 +0300)]
0031354: Visualization - Dump improvement for V3d, Graphic3d, Aspect

- do not dump light in view as it's dumped in the viewer

3 years ago0031733: Visualization, Prs3d_ToolQuadric - create indexed arrays
mzernova [Mon, 31 Aug 2020 14:28:25 +0000 (17:28 +0300)]
0031733: Visualization, Prs3d_ToolQuadric - create indexed arrays

Prs3d_ToolQuadric has been modified to return an indexed triangulation.
Added methods Prs3d_ToolQuadric::CreateTriangulation() and Prs3d_ToolQuadric::CreateTriangulation()
as more straightforward API returning generated triangulation.
Added missing const to constant methods.

Confusing method Prs3d_ToolQuadric::FillArray() filling both
Graphic3d_ArrayOfTriangles and Poly_Triangulation at once has been marked deprecated.

V3d_Trihedron, AIS_ViewCube and AIS_Manipulator
now set Closed flag to groups with shaded sphere and arrows.

3 years ago0027973: Result of Common operation contains a face with an open wire
emv [Wed, 2 Sep 2020 10:18:01 +0000 (13:18 +0300)]
0027973: Result of Common operation contains a face with an open wire

Integrating test case only as the problem is not reproduced anymore.

3 years ago0026534: Boolean Cut returns empty result
emv [Wed, 2 Sep 2020 11:02:34 +0000 (14:02 +0300)]
0026534: Boolean Cut returns empty result

Integrating test case only as the problem is not reproduced anymore.

3 years ago0029838: Application Framework - TObj.msg defines unused messages
mpv [Mon, 31 Aug 2020 10:49:18 +0000 (13:49 +0300)]
0029838: Application Framework - TObj.msg defines unused messages

3 years ago0031340: LDOM fails to read XML file starting with BOM
mpv [Wed, 2 Sep 2020 10:53:07 +0000 (13:53 +0300)]
0031340: LDOM fails to read XML file starting with BOM

Added support of BOM (byte order mask) characters at the start of an XML stream or file and provided information about found BOM in LDOMParser.

3 years ago0026452: Infinite loop in Edge/Edge intersection.
emv [Wed, 2 Sep 2020 11:29:50 +0000 (14:29 +0300)]
0026452: Infinite loop in Edge/Edge intersection.

Integrating test case only as the problem is not reproduced anymore.

3 years ago0030795: BRepOffsetAPI_MakePipeShell: hangs on the attached model and produces infini...
akaftasev [Mon, 17 Aug 2020 15:44:19 +0000 (18:44 +0300)]
0030795: BRepOffsetAPI_MakePipeShell: hangs on the attached model and produces infinite rails

Added new condition to catch bad shape

3 years ago0031744: Configuration - add batch files to build OCCT for Android target
kgv [Tue, 1 Sep 2020 14:29:33 +0000 (17:29 +0300)]
0031744: Configuration - add batch files to build OCCT for Android target

Added script adm/scripts/android_build.bat and template android_custom.bat.template
intended for automating building routines targeting Android platform.

OpenCASCADEConfig.cmake has been extended to detect "$INSTALL_DIR/libs/$CMAKE_ANDROID_ARCH_ABI/cmake/opencascade" location.

3 years ago0031742: Configuration - Add batch files for cmake build
msv [Wed, 1 Apr 2020 16:13:46 +0000 (19:13 +0300)]
0031742: Configuration - Add batch files for cmake build

The scripts cmake_gen.bat and cmake_gen.sh have been added to facilitate batch building of OCCT correspondingly on Windows and Linux platforms.

The files build.bat and install.bat are copied to the build directory by cmake configure procedure to enable batch building and installation on Windows platform.

3 years ago0031737: Configuration - Add batch files to build OCCT with Emscripten
osa [Mon, 18 Nov 2019 11:35:45 +0000 (14:35 +0300)]
0031737: Configuration - Add batch files to build OCCT with Emscripten

The scripts occ_build_wasm.bat and occ_build_wasm.sh have been added
to simplify batch building of OCCT with Emscripten (Web Assembly packages) correspondingly on Windows and Linux platforms.
These scripts are configurable through calling files with custom environment wasm_custom_env.bat and wasm_custom_env.sh.

3 years ago0031320: TObj - method TObj_Object::GetFatherObject() is not protected against delete...
mpv [Mon, 31 Aug 2020 15:24:59 +0000 (18:24 +0300)]
0031320: TObj - method TObj_Object::GetFatherObject() is not protected against deleted object

3 years ago0031728: Visualization, Font_FontMgr - provide function to register fallback fonts...
kgv [Mon, 31 Aug 2020 10:03:32 +0000 (13:03 +0300)]
0031728: Visualization, Font_FontMgr - provide function to register fallback fonts in application level

Added public method Font_FontMgr::AddFontAlias() for registering custom aliases and fallback fonts.
vfont command has been extended with arguments -aliases, -addAlias, -removeAlias, -clearAlias and -clearAliases.

3 years ago0026088: Modeling Algorithms - Exception in pipe algorithm
ifv [Sat, 15 Aug 2020 15:28:00 +0000 (18:28 +0300)]
0026088: Modeling Algorithms - Exception in pipe algorithm

GeomFill_Sweep.cxx: treatment KPart for sphere is improved
bug26088: test case is corrected - TODO is removed

3 years ago0031740: Configuration - recover support of Yacc and Lex generation
abv [Fri, 28 Aug 2020 15:09:54 +0000 (18:09 +0300)]
0031740: Configuration - recover support of Yacc and Lex generation

Scripts adm/cmake/bison.cmake and adm/cmake/flex.cmake are refactored to enable actual search for bison and flex.
Apart of standard locations, also sub-folders of 3RDPARTY_DIR whose names contain "bison" and "flex", respectively, are added to search.
Cache variables 3RDPARTY_BISON_EXECUTABLE and 3RDPARTY_FLEX_EXECUTABLE are removed to avoid confusion (they duplicated similar variables without "3RDPARTY_" prefix).

Lex and Yacc files are corrected to match changes made manually in generated files during last years:
- StepFile/step.yacc: correction missing from #22972
- StepFile/step.lex: corrected for compilation (broken by #31060)
- MSVC-specific code is synchronized between StepFile/step.lex and ExprIntrp/ExprIntrp.lex
- Old commented code and duplicate code blocks removed

Commands for execution of Flex and Bison tools in CMake scripts are tweaked to avoid embedding line numbers (with local paths) in generated files.

Scanners and parsers are regenerated from updated source files with modified options.
Note that lex.ExprIntrp.c is regenerated with multiple differences because option -f (fast scanner) was used for generation of previous version (by WOK).

3 years ago0031743: Draw Harness - fix misprint in Draw_Interpretor::SetToColorize()
kgv [Mon, 31 Aug 2020 08:03:01 +0000 (11:03 +0300)]
0031743: Draw Harness - fix misprint in Draw_Interpretor::SetToColorize()

3 years ago0030617: Coding - using reinterpret_cast instead of static_cast for downcast
kgv [Fri, 28 Aug 2020 12:18:43 +0000 (15:18 +0300)]
0030617: Coding - using reinterpret_cast instead of static_cast for downcast

Several reinterpret_cast have been replaced by static_cast when applicable.

3 years ago0028990: Coding Rules - deprecate redundant class Prs3d_Root
kgv [Fri, 28 Aug 2020 13:02:18 +0000 (16:02 +0300)]
0028990: Coding Rules - deprecate redundant class Prs3d_Root

Prs3d_Root usage has been replaced by direct calls to Prs3d_Presentation methods.

3 years ago0031369: Foundation Classes, Standard_ReadBuffer - access violation on second ::ReadC... IR-2020-08-28 WEEK-35
kgv [Fri, 28 Aug 2020 11:24:40 +0000 (14:24 +0300)]
0031369: Foundation Classes, Standard_ReadBuffer - access violation on second ::ReadChunk() call after read failure

Standard_ReadBuffer::readRawDataChunk() - do not increment NULL pointer and return invalid address.

3 years ago0031086: Coding Rules - STEPCAFControl_Reader has virtual functions, but no virtual...
kgv [Fri, 28 Aug 2020 11:10:43 +0000 (14:10 +0300)]
0031086: Coding Rules - STEPCAFControl_Reader has virtual functions, but no virtual destructor

Added missing virtual destructor.

3 years ago0031706: Data Exchange, RWGltf_CafReader - imports model with incorrect transformation
kgv [Fri, 28 Aug 2020 09:53:51 +0000 (12:53 +0300)]
0031706: Data Exchange, RWGltf_CafReader - imports model with incorrect transformation

RWGltf_GltfJsonParser::bindNamedShape() - shape location is now multiplied not just overridden.

3 years ago0031734: Modeling Algorithms - Incorrect result of offset operation in mode "Complete...
emv [Wed, 26 Aug 2020 05:10:42 +0000 (08:10 +0300)]
0031734: Modeling Algorithms - Incorrect result of offset operation in mode "Complete" join type "Intersection"

BRepOffset_MakeOffset_1::IntersectFaces - Build intersection pairs for rebuilding process basing on the intersection results and removed faces.

3 years ago0031731: Draw Harness - colorize errors and exception messages
kgv [Mon, 24 Aug 2020 16:13:08 +0000 (19:13 +0300)]
0031731: Draw Harness - colorize errors and exception messages

Draw_Interpretor, CommandCmd() - catched exceptions and messages put into Tcl string result
before throwing a Tcl exception (return 1) are now print in intense red (using Message::SendFail()).
Duplication of exception message in std::cout and Tcl output has been removed.

Draw Harness plugins have been updated to use either Message::SendFail() or theDI instead of std::cout/std::cerr
for printing colored error message before throwing a Tcl exception.

3 years ago0031720: Visualization, Font_FontMgr - register one more CJK fallback font available... IR-2020-08-21
kgv [Fri, 21 Aug 2020 08:52:15 +0000 (11:52 +0300)]
0031720: Visualization, Font_FontMgr - register one more CJK fallback font available on newer Android devices

3 years ago0031727: Samples, JNI Sample - JNI DETECTED ERROR on calling OcctJniRenderer.postMess...
kgv [Fri, 21 Aug 2020 08:47:24 +0000 (11:47 +0300)]
0031727: Samples, JNI Sample - JNI DETECTED ERROR on calling OcctJniRenderer.postMessage()

Use CallVoidMethod() instead of CallObjectMethod().

3 years ago0031715: Visualization - add access to proxy shader program
osa [Fri, 21 Aug 2020 08:22:45 +0000 (11:22 +0300)]
0031715: Visualization - add access to proxy shader program

3 years ago0031582: Configuration, CMake - OCCT fails to build with VTK 9.0
kgv [Mon, 17 Aug 2020 09:58:31 +0000 (12:58 +0300)]
0031582: Configuration, CMake - OCCT fails to build with VTK 9.0

Handle "VTK::" prefix instead of "vtk" used by previous VTK versions for targets.
Corrected unexpected location of endif() and broken indentation.
Obsolete $VTK_USE_FILE is no more included (basing on VTK version check).

Standard_WarningsDisable.hxx/Standard_WarningsRestore.hxx pair is now used to suppress VTK warnings instead of partial disabling.

3 years ago0026568: Modeling Algorithms - Exception when creating pipe
ifv [Tue, 11 Aug 2020 14:00:03 +0000 (17:00 +0300)]
0026568: Modeling Algorithms - Exception when creating pipe

BRepFill_Pipe.cxx:  protection against wrong shape type is added
GeomFill_Sweep.cxx:  protection against using 0-vector to create Direction is added

bug26568: test script is corrected: "TODO ..." is removed

3 years ago0031716: Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in...
age [Tue, 18 Aug 2020 07:08:06 +0000 (10:08 +0300)]
0031716: Visualization, Select3D_SensitiveSet::matches() - avoid building BVH in case of full overlapping by the volume

3 years ago0031714: Draw Harness - print command name with intense within help output
kgv [Tue, 18 Aug 2020 07:10:50 +0000 (10:10 +0300)]
0031714: Draw Harness - print command name with intense within help output

Added command "dputs" similar to "puts" but with extra arguments modifying text color/intensity.
Command "help" now prints the name of command with intense style.

3 years ago0031681: Foundation Classes - Shared Libraries Cannot Be Loaded
mpv [Thu, 30 Jul 2020 16:30:21 +0000 (19:30 +0300)]
0031681: Foundation Classes - Shared Libraries Cannot Be Loaded

Standard_ErrorHandler now accesses global mutex via proxy function
instead of a global variable to avoid initialization order issues.

3 years ago0031324: Data Exchange - Cannot read BinOcaf document with colour
kgv [Wed, 29 Jan 2020 10:18:01 +0000 (13:18 +0300)]
0031324: Data Exchange - Cannot read BinOcaf document with colour

BinMDataXtd_PresentationDriver and XmlMDataXtd_PresentationDriver have been corrected
to convert old (OCCT 7.4.0) Quantity_NameOfColor enumeration values to new ones.

3 years ago0031713: Draw Harness, IVtkDraw - add commands ivtksetcolor, ivtkaxo, ivtkclose,... IR-2020-08-14 WEEK-33
kgv [Thu, 13 Aug 2020 12:50:31 +0000 (15:50 +0300)]
0031713: Draw Harness, IVtkDraw - add commands ivtksetcolor, ivtkaxo, ivtkclose, ivtksettransparency

Added missing NULL checks before accessing GetInteractor().
Errors are now reported using Message::SendFail().
Not found actor names are now reported as syntax error instead of silently skipping them.

ivtkinit now accepts aguments -srgb and -msaa for overriding defaults.
Default MSAA settings have been changed from 8 to 0 to match vinit behavior.
Added command ivtkclose closing a Vtk view.

Added commands ivtkaxo, ivtkfront, ivtkback, ivtkleft, ivtkright,
ivtktop and ivtkbottom assigning view projection similar to sonamed commands in ViewerTest.

Added commands ivtksetcolor and ivtksettransparency assigning
color properties to shaded presentation.

3 years ago0031709: Draw Harness - move methods ViewerTest::ParseOnOff()/ParseColor() to package...
kgv [Wed, 12 Aug 2020 12:58:22 +0000 (15:58 +0300)]
0031709: Draw Harness - move methods ViewerTest::ParseOnOff()/ParseColor() to package Draw

Methods ParseOnOff()/ParseColor() have been moved from package ViewerTest to Draw.
Command "vlight -color" now accepts RGB values, not only name.
Implementation of pload command has been cleaned up.

3 years ago0031702: Visualization, TKOpenGl - hatching interior is ignored in second View within...
kgv [Mon, 10 Aug 2020 08:23:56 +0000 (11:23 +0300)]
0031702: Visualization, TKOpenGl - hatching interior is ignored in second View within the Viewer

Current state variables have been moved out from OpenGl_LineAttributes to OpenGl_Context.

3 years ago0031049: OCAF - Error message during Ascii file (std) opening.
szy [Mon, 11 Nov 2019 15:18:48 +0000 (18:18 +0300)]
0031049: OCAF - Error message during Ascii file (std) opening.

3 years ago0031697: Foundation Classes - Expr_GeneralExpression::Derivative does not seem to... IR-2020-08-07
ifv [Thu, 6 Aug 2020 10:07:52 +0000 (13:07 +0300)]
0031697: Foundation Classes - Expr_GeneralExpression::Derivative does not seem to work (691 & 720)

Expr_NamedUnknown.cxx - wrong comparing of named unknown is fixed

QABugs_20.cxx - new QAcommand is created
QABugs_11.cxx - wrong command is corrected
bug902 - wrong test is corrected
bug31697 - new test is added

3 years ago0031698: Visualization, Graphic3d_Aspects - provide stipple line factor parameter
kgv [Mon, 3 Aug 2020 14:53:18 +0000 (17:53 +0300)]
0031698: Visualization, Graphic3d_Aspects - provide stipple line factor parameter

Added Graphic3d_Aspects::LineStippleFactor() property.
Adjusted help for vaspects command suggesting a shorter syntax.

3 years ago0031689: Coding Rules - including STEPCAFControl_Writer.hxx produces compilation...
kgv [Fri, 24 Jul 2020 16:18:26 +0000 (19:18 +0300)]
0031689: Coding Rules - including STEPCAFControl_Writer.hxx produces compilation error

Added missing #include <NCollection_Vector.hxx>.

3 years ago0030944: [Regression to 7.0.0] Modeling Algorithms - Intersection curves between...
ifv [Mon, 20 Apr 2020 12:44:28 +0000 (15:44 +0300)]
0030944: [Regression to 7.0.0] Modeling Algorithms - Intersection curves between pair of faces are not found

IntPatch_ImpPrmIntersection.cxx: treatment of coinciding lines is improved
IntWalk_IWalking_1.gxx: bug correction
bug30944 : test case added

3 years ago0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating... IR-2020-07-24
kgv [Thu, 23 Jul 2020 19:39:27 +0000 (22:39 +0300)]
0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating viewer defaults

SelectMgr_ViewerSelector3d::ClearSensitive() - fixed crash on removing presentations (via command vsensera).

Added new parameters -sync and -reset to vrenderparams command synchronizing parameters across Views.
Parameters -raster and -rayTrace now accept optional on|off values.
Improved command description.

3 years ago0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with...
kgv [Wed, 22 Jul 2020 19:34:03 +0000 (22:34 +0300)]
0031682: Visualization - Prs3d_ShadingAspect::SetTransparency() has no effect with Graphic3d_TOSM_UNLIT shading model

Prs3d_ShadingAspect::SetTransparency() now sets transparency also to interior color.
AIS_RubberBand now uses Graphic3d_TOSM_UNLIT.

3 years ago0031353: TDocStd_Application does not have api to set progress indicator
akaftasev [Mon, 2 Mar 2020 12:29:34 +0000 (15:29 +0300)]
0031353: TDocStd_Application does not have api to set progress indicator

Add support of Message_ProgressIndicator in BinTools classes.

Add support of Message_ProgressIndicator with possibility of user break in methods of opening and saving TDocStd_Application.

Add tests of ProgressIndicator in TDocStd_Applacation.

3 years ago0031677: Configuration - Allow Optimization Level O3 When Compiling With G++
Benjamin Bihler [Tue, 21 Jul 2020 09:39:52 +0000 (11:39 +0200)]
0031677: Configuration - Allow Optimization Level O3 When Compiling With G++

Removed suppression of optimization level O3 with using Mingw64.

3 years ago0031618: Data Exchange, RWGltf_CafWriter - exporting some models produces glTF files...
mkrylova [Tue, 14 Jul 2020 13:49:41 +0000 (16:49 +0300)]
0031618: Data Exchange, RWGltf_CafWriter - exporting some models produces glTF files not passing validation

Added a check for non-empty mesh and new warning
that notifies about skipping an empty node

3 years ago0031035: Coding - uninitialized class fields reported by Visual Studio Code Analysis
mkrylova [Fri, 17 Jul 2020 10:08:31 +0000 (13:08 +0300)]
0031035: Coding - uninitialized class fields reported by Visual Studio Code Analysis

Added initialization of fields that had not initialization
Added default constructors to classes without constructors

3 years ago0028345: Data Exchange - Reading STEP model using STEPCAF crashes
dpasukhi [Tue, 14 Apr 2020 08:51:56 +0000 (11:51 +0300)]
0028345: Data Exchange - Reading STEP model using STEPCAF crashes

# Add test to verify import
* Note: Each layer contains a valid name, but only one contains a link to the shape, so .step file contains only one valid Layer.

3 years ago0031617: Export STEP in nonmanifold mode corrupts the shape
jgv [Mon, 20 Jul 2020 14:38:22 +0000 (17:38 +0300)]
0031617: Export STEP in nonmanifold mode corrupts the shape

Modify method XSControl_TransferWriter::TransferWriteShape: add removal of locations before writing the shape.

3 years ago0031680: Configuration - Compilation Fails With G++ 10.1, LD 2.34 and Link-Time Optim...
Benjamin Bihler [Tue, 21 Jul 2020 11:37:03 +0000 (13:37 +0200)]
0031680: Configuration - Compilation Fails With G++ 10.1, LD 2.34 and Link-Time Optimization

Added a non-inline empty virtual destructor to LDOM_OSStream to force vtable generation in one
translation unit only.