occt.git
2 years ago0031920: Application Framework - speed up methods of getting label by entry and vice... CR0_DMUReviewer_OCCT-751 CR0_DMUReviewer_OCCT-751_31920
vro [Thu, 13 May 2021 11:19:00 +0000 (14:19 +0300)]
0031920: Application Framework - speed up methods of getting label by entry and vice versa

            A table for fast access to the labels by entry is implemented in OCAF document. A method TDF_Data::SetAccessByEntries(true) fills-in a table for fast access to the labels. New labels, created later will be added to the table automatically. The method TDF_Tool::Label() will search the entry in the table and then, if not found, will call the old code. Disabling of usage of the table (by calling of TDF_Data::SetAccessByEntries(false)) cleans the internal table of entries - labels. By default, the table is not used.
            This improvement is useful for large documents with a lot of labels, and if the application uses entries to get labels. The application should call TDF_Data::SetAccessByEntries(true) for a document and then, the method TDF_Tool::Label() called inside OCAF and XCAF will use the fast access to the labels and speed-up the application.
            Also, the method TDF_Tool::Entry() is improved (by MPV).

            Modified files:
            - TDF_Data.hxx and cxx: the new methods SetAccessByEntries(bool), IsAccessByEntries() and GetLabel(entry) are implemented. No need to use the method GetLabel() directly. It is called in TDF_Tool::Label().
            - TDF_Label.cxx: adding of a newly created label to the table of entries - labels.
            - TDF_Tool.cxx: the method Entry() is accelerated (by MPV) and Label() is improved to call TDF_Data::GetLabel().
            - DDF_DataCommands.cxx: a new draw-command is added SetAccessByEntry, which sets or unsets usage of the table for fast access to the labels. Usage of the draw-command is illustrated in a new test "bugs caf bug31920".

            Tests:
            - bugs caf bug31920: a new simple test to check TDF_Tool::Label() when fast access to the labels is on.

            Doc:
            - dox\upgrade\upgrade.md is extended for new information

(cherry picked from commit 4083265d9cc3904cd60c82373edda180064cc3e2)

# Conflicts:
# dox/upgrade/upgrade.md

2 years agoRevert "0031920: Application Framework - speed up methods of getting label by entry...
nds [Wed, 12 May 2021 10:56:21 +0000 (13:56 +0300)]
Revert "0031920: Application Framework - speed up methods of getting label by entry and vice versa"

This reverts commit c4e1f3ff43920132ade72db1095e0a1b123ba475.

2 years ago0032364: Visualization - Add interface to return global filter from context
sshutina [Thu, 13 May 2021 09:01:58 +0000 (12:01 +0300)]
0032364: Visualization - Add interface to return global filter from context

2 years ago0031362: Inspectors - MessageView plugin for message alerts
nds [Mon, 26 Apr 2021 15:01:38 +0000 (18:01 +0300)]
0031362: Inspectors - MessageView plugin for message alerts

- append new MessageView plugin to display content of Message_Report;

- correct DumpJson of TDataStd array attributes to print Lower/Upper values;
- correct remove level of Message_Report to store stop time during removing all levels;
- append DumpJson for TFunction, TPrsStd attributes;
- correct DumpJson of XCAFDoc tools due to simplify performance of it;
- move AttributeInfo into public method to call it outside;
- remove obsolete pane classes in DFBrowser plugin, now we may use DumpJSon panel to visualize this content of attributes;
- add new property panel in DFBrowser (synchronized with the same in other plugins);
- add button to switch ON DumpJson in DFBrowser(OFF by default, for better performance), also there is a context menu item in tree view;
- rename in DFBrowser "Property Panel" into "Property Panel (custom)";
- implement ViewControl_ColorSeletor and setting color in TreeModel_ItemProperties. Use only for light in VInspector now;
- implement setting false for all created AIS_Shape presentation to don't modify source TopoDS_Shape;
- remove not use VInspector_CallBack. It's possible using Message_Report/MessageView to track commands way;
- remove History panel in VInspector as not used, MessageView will be better solution for this;
- implement item and actions in VInspector for setting Lights in the view.

(cherry picked from commit f1a9967fc1f27e52a08f2c5cc02d210a013b2952)

# Conflicts:
# tools/DFBrowser/DFBrowser_Window.hxx
# tools/DFBrowserPaneXDE/DFBrowserPaneXDE_AttributePaneCreator.hxx
# tools/DFBrowserPaneXDE/DFBrowserPaneXDE_XCAFDocDatum.cxx
# tools/TreeModel/TreeModel_ItemProperties.hxx

2 years ago0032001: Visualization - moving dump of selection owner from sensitive to selection...
nds [Wed, 16 Dec 2020 09:19:17 +0000 (12:19 +0300)]
0032001: Visualization - moving dump of selection owner from sensitive to selection manager

(cherry picked from commit 983aaaeb03a6a66a144880f4156b0eeb207d3170)
(cherry picked from commit b9a984420b42f4d691bdfa951900b94d2212dd6c)
(cherry picked from commit d9f93fe26d2f3b88203cb8deb594543008586c12)

2 years ago0031678: Visualization - add option enabling hinting for textured fonts
kgv [Wed, 14 Apr 2021 11:10:40 +0000 (14:10 +0300)]
0031678: Visualization - add option enabling hinting for textured fonts

Added new rendering parameter Graphic3d_RenderingParams::FontHinting
allowing to enable/disable hinting (default is no hinting preserving old behavior).

Command vrenderparams has been extended with arguments -fontHinting.

(cherry picked from commit d37aef5ccf1bcbf0f3b11f45d3a6d73ad29ecde4)

# Conflicts:
# src/Font/Font_FTFont.cxx
# src/PrsDim/PrsDim_Dimension.cxx
# tests/opengl/data/text/A2
# tests/opengl/data/text/A8

2 years ago0031920: Application Framework - speed up methods of getting label by entry and vice...
vro [Thu, 31 Dec 2020 12:34:42 +0000 (15:34 +0300)]
0031920: Application Framework - speed up methods of getting label by entry and vice versa

// A method TDF_Data::AddLabel() is set Standard_EXPORT.

(cherry picked from commit 8f2e87bddeffea13156ca6b0d7a1ae7619403844)

2 years ago0032091: Visualization - possibility to redefine Graphic3d_TransformPers
nds [Thu, 28 Jan 2021 07:57:54 +0000 (10:57 +0300)]
0032091: Visualization - possibility to redefine Graphic3d_TransformPers

(cherry picked from commit b06da8f1f1e4ac945d1f90e14e624aa4d0835024)

# Conflicts:
# src/AIS/AIS_Plane.hxx

2 years ago0032179: Visualization - OpenGl viewer clears QML controls content during redraw...
nds [Fri, 26 Feb 2021 19:20:35 +0000 (22:20 +0300)]
0032179: Visualization - OpenGl viewer clears QML controls content during redraw on touchscreen device

(cherry picked from commit 78caa4571e1ac7865206d4950a2aa4928cfab1ca)
(cherry picked from commit 6f27a45c49857eae3b117a62f05d1df8f1bb168b)
(cherry picked from commit 4d4bc912fc3e639f22135c5f138dd65c396d9ca6)

2 years ago0032205: Visualization - implementing new selection scheme in context - replace extra
nds [Wed, 28 Oct 2020 18:16:27 +0000 (21:16 +0300)]
0032205: Visualization - implementing new selection scheme in context - replace extra

- implementation of additional selection scheme, mainly to deselect single selected object.

(cherry picked from commit e76471b5587a36b6f8f9bec70d09e18d64002a78)

# Conflicts:
# src/ViewerTest/ViewerTest_ViewerCommands.cxx

2 years ago0031921: Application Framework - reading OCAF data from several threads is not possible
mpv [Mon, 16 Nov 2020 13:49:23 +0000 (16:49 +0300)]
0031921: Application Framework - reading OCAF data from several threads is not possible

Make myLastFoundChild field of TDF_LabelNode that can be changed during accessing to different sub-labels in different threads as atomic (only for newer versions of compilers which support this "atomic").

Added definition of Standard_ATOMIC macro to the Standard_Macro.hxx

(cherry picked from commit b84b672185520e52a25d63b4487f285a068abc34)
(cherry picked from commit 938ceb32b369c81c87716054fce5426b00354a44)
(cherry picked from commit e9ad8d4d65005119a461cbd5bfa9292efa773a06)

2 years ago0031987: Visualization - Slow rectangular selection on models with big number of...
age [Tue, 8 Dec 2020 10:32:07 +0000 (13:32 +0300)]
0031987: Visualization - Slow rectangular selection on models with big number of sensitives

SelectMgr_SensitiveEntitySet now stores a map of registered owners with a counter of registered entities.
SelectMgr_ViewerSelector::traverseObject() now reads the number of sensitive entities for specific owner
from SelectMgr_SensitiveEntitySet instead of re-computing it every time.

(cherry picked from commit 266877a7c3963b4ac02bb1d015e74b405244d80e)
(cherry picked from commit 86d48bca1ae8a63ecf096845464bfd332d20d47c)
(cherry picked from commit 21351d74ac5a7c61a89c0cfe701f1d4ce1a8219f)

2 years ago0031945: Foundation Classes - unique names of alerts of message report in DumpJson
nds [Fri, 18 Dec 2020 10:09:08 +0000 (13:09 +0300)]
0031945: Foundation Classes - unique names of alerts of message report in DumpJson

- add OCCT_DUMP_FIELD_VALUE_NUMERICAL_INC and OCCT_DUMP_FIELD_VALUES_DUMPED_INC - to increment key Value;
- add OCCT_DUMP_STREAM_VALUE_DUMPED - to give stream as a parameter of the DumpJson;
- correct Message_Report, Message_CompositeAlerts to increment keys;
- correct Message_AttributeMeter to have in result start and stop values united in value block: [start stop]. It's better for parsing;
- correct result of Message::MetricToString output for updated in 29451 Message_MetricType enum;
- correct Standard_Dump::AddValuesSeparator to avoid adding ',' in additional case;
- correct Standard_Dump::FormatJson to add opening/closing brace for the whole result (for valid parsing);
- correct Standard_Dump::FormatJson to ignore '\n' in value.

(cherry picked from commit 04114fd201c20efe9fbe85f00bec9a99ae3747ad)
(cherry picked from commit f072da554cb00e8554add714fecd037625ab305d)
(cherry picked from commit 099b980f17d0f2a735907b060d2beef38fabb207)

2 years ago0031350: Foundation Classes - Dump improvement for OCAF classes
nds [Wed, 16 Dec 2020 09:08:49 +0000 (12:08 +0300)]
0031350: Foundation Classes - Dump improvement for OCAF classes

- do not dump document in CDM_MetaData, just pointer text;
- move ID dump in to TDF_Attribute;
- extend TDF_Attribute with other important states(obtained by methods);
- extend TDocStd_Document  with other important states;
- avoid dumping of shapes in TNaming_UsedShapes (it takes much time);
- extend XCAFDoc, XCAFDimTolObjects dump to json;
- correct XCAFDoc_ColorTool, XCAFDoc_MaterialTool, XCAFDoc_LayerTool to dump only connected to the object information;
- correct XCAFDoc_Material to dump name and density value only if it exists;
- add check on correct direction in gp_Ax3.

(cherry picked from commit 39b707a6d25ea33f1a89674c6fad45697d7a9b6b)
(cherry picked from commit 66f76672789556a406bc90d1e55f03a34c898c92)
(cherry picked from commit d6809290b27f442f19f5968d060d96c342522f64)

2 years ago0032000: Foundation Classes - collect OSD_Timer time in message report
nds [Wed, 16 Dec 2020 09:29:06 +0000 (12:29 +0300)]
0032000: Foundation Classes - collect OSD_Timer time in message report

Added Message_MetricType_WallClock metric type handled by Message_AttributeMeter.
Added public OSD_Timer::GetWallClockTime() method.

(cherry picked from commit 9283bba22f53664eb2886f1ec71bb9cd6e957ec9)
(cherry picked from commit 1fa22f7f300aa07427d4dca79b819d6e1ee64d1a)
(cherry picked from commit 5ca5b071eaccdcc13746409c72f948e73f6732e6)

2 years ago0031944: Foundation Classes, Message_Report - add missing mutex locks for message...
nds [Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)]
0031944: Foundation Classes, Message_Report - add missing mutex locks for message level

(cherry picked from commit 38b336df800651e9bfa4d8eddd5edde67e0b2fc0)
(cherry picked from commit d71f8376058c5cb73809d849b8d41a58bd4ba51f)
(cherry picked from commit b07c8a76b9887f5736eed04ee9bf74e7235e8e91)

2 years ago0030737: Visualization - implementing new selection schemes in context
nds [Fri, 18 Sep 2020 18:36:05 +0000 (21:36 +0300)]
0030737: Visualization - implementing new selection schemes in context

AIS_SelectionScheme enumeration is defined to set which selection behaviour is used in Select of context
AIS_InteractiveContext is corrected to use single Select method instead of combination of Select/ShiftSelect methods with a selection scheme parameter.
Upgrade: Select() -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_Replace), ShiftSelect -> SelectDetected/Rectangle/Polygon(AIS_SelectionScheme_XOR)

(cherry picked from commit 75cf82505b83f6c85f43b1327e13bd5b88355ff5)
(cherry picked from commit c372bb79e9aee8d740d35cc9a2ffa6fde23693a0)
(cherry picked from commit 31d98879e11c7e83ba44eb96c7dc78a3c1a50cd9)

2 years ago0031965: Visualization - AIS_InteractiveContext::HilightWithColor() ignores passed...
kgv [Mon, 30 Nov 2020 08:47:30 +0000 (11:47 +0300)]
0031965: Visualization - AIS_InteractiveContext::HilightWithColor() ignores passed highlight style

AIS_InteractiveContext::highlightGlobal() now passed through Style argument to highlightOwners().
Added OCC31965 command for testing AIS_InteractiveContext::Hilight() behavior.

(cherry picked from commit 4268c646728f1430b1678e0977d762e79a927539)
(cherry picked from commit a4c6316eeaa5d7f49f5cd1fe15b60c0a6ec124d2)
(cherry picked from commit bf15ddfd56c2f613c5260a66408ab37d31dc2e9e)

2 years ago0031579: Visualization - OpenGl_CappingAlgo performance on some clipping planes
nds [Tue, 26 May 2020 07:39:58 +0000 (10:39 +0300)]
0031579: Visualization - OpenGl_CappingAlgo performance on some clipping planes

(cherry picked from commit 61d75276ea924e0fd22de0a2a927bce1d554de99)
(cherry picked from commit fa3bd5f2e598916906c28ac8789bdfb28ad42255)
(cherry picked from commit 2ab0ba846ac3ac073552997d030d51392dc82314)

3 years ago0030791: Visualization - possibility to display materials by different hatching style...
apl [Fri, 28 Apr 2017 06:17:05 +0000 (09:17 +0300)]
0030791: Visualization - possibility to display materials by different hatching style for clipping

(cherry picked from commit d8c0506f550ad500ea2e8cde5d9e0a718a6698b7)
after cherry pick, it was ported on 7.5.0 and improved
(cherry picked from commit 23f0657aa572b8f775e9035c95491822d01e04da)

3 years ago0030988: Add possibility to attach multiple files to notes
snn [Thu, 13 Jun 2019 11:39:29 +0000 (14:39 +0300)]
0030988: Add possibility to attach multiple files to notes

- Implemented
- Swap child/father in RemoveFromGroup method of NotesTool.

(cherry picked from commit 7c0ec2e2146660677992d9cdee4e93276e362bf9)
(cherry picked from commit cfb3c08a2c40ab36dfa70ce8d333039e9b2859f8)

3 years ago0030392: XCAFDoc_GraphNode doesn't copy backward links
snn [Fri, 30 Nov 2018 07:39:15 +0000 (10:39 +0300)]
0030392: XCAFDoc_GraphNode doesn't copy backward links

(cherry picked from commit 6131065fae2474309c617039ad5be15f1f05a813)
(cherry picked from commit 713624228050b8f7db4d8b2e22c7edfd8c832471)
(cherry picked from commit b7fb7db6ae971efcf9ce0b5283a89328c4dce1bb)
(cherry picked from commit 68be9e7b9c5851087d57aeec9809012e4dc460b8)
(cherry picked from commit 6bc54a6b6fc335b802959d612f0ed4edbb5d5c33)
(cherry picked from commit ca5e48596204efa0b86bcbe6a60ce1bf612341a1)
(cherry picked from commit fcc93b4f342c14aed2ee39a4cfe14bbcb6e54ad4)

3 years agorefs 474:Possibility to create and play animations
ema [Fri, 6 Oct 2017 08:30:34 +0000 (11:30 +0300)]
refs 474:Possibility to create and play animations

(cherry picked from commit cf1ae6e9fee48080d1a650d781ad8b070ecd4d7e)

3 years agorefs #355: Add possibility to hide clipping plane
ema [Thu, 11 May 2017 12:28:48 +0000 (15:28 +0300)]
refs #355: Add possibility to hide clipping plane

(cherry picked from commit a80c56fbabe170923eb3a6e443ddae5b9f2f418b)
(cherry picked from commit 9924fbb0ea117405fc52c82ecc135217270f422e)

3 years agoStorage the parts transparency in the view
ema [Tue, 4 Apr 2017 10:39:39 +0000 (13:39 +0300)]
Storage the parts transparency in the view

(XCAFDoc/View fixes to store in the view: image, parts transparency, notes, notes positions)

(cherry picked from commit ea712b6b040982689fc544efc5665fed10ad3e4f)
(cherry picked from commit 52dc476c5feea48abab3fe997956348433f29a10)

3 years agoUpdate version up to 7.5.1 OCCT-751 V7_5_1
bugmaster [Tue, 2 Feb 2021 08:51:56 +0000 (11:51 +0300)]
Update version up to 7.5.1

3 years ago0031912: Modeling Algorithms - Boolean Cut can't build resulting shape
emv [Thu, 28 Jan 2021 10:02:08 +0000 (13:02 +0300)]
0031912: Modeling Algorithms - Boolean Cut can't build resulting shape

Problem is fixed by #0032058. Integrating test case only.

3 years ago0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface...
ifv [Tue, 12 Jan 2021 13:14:35 +0000 (16:14 +0300)]
0032058: Modeling Data - Extrema curve-surface gives wrong result for planar surface of revolunion and circle

Extrema_GenExtCS.cxx : added solution refinement, if solution seems to be "bad" according to special criteria.
Extrema_FuncExtCS.cxx : "cosmetic" modifications
BOPAlgo_PaveFiller_3.cxx : adding control of shape index to prevent exception in ShapeInfo
bugs/moddata_3/bug32058 : new test

3 years ago0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails
jgv [Tue, 12 Jan 2021 00:45:17 +0000 (03:45 +0300)]
0031845: Modeling Algorithms - BRepOffsetAPI_MakeThickSolid fails

Multiple changes in BRepOffset_MakeOffset algorithm:
- correct fusing vertices;
- correct building intersection edges;
- correct intersecting new edges in 2D;
- correct building wire on a new face;
- correct building history.

3 years agoUpdate version up to 7.5.1.dev OCCT-751dev
bugmaster [Wed, 11 Nov 2020 17:06:37 +0000 (20:06 +0300)]
Update version up to 7.5.1.dev

3 years agoIncrement OCCT version up to 7.5.0 OCCT-750 V7_5_0
bugmaster [Mon, 2 Nov 2020 16:52:44 +0000 (19:52 +0300)]
Increment OCCT version up to 7.5.0

3 years ago0031898: Coding Rules - extend Standard_WarningsDisable.hxx with -Wreorder
kgv [Mon, 2 Nov 2020 14:36:34 +0000 (17:36 +0300)]
0031898: Coding Rules - extend Standard_WarningsDisable.hxx with -Wreorder

3 years ago0029108: Crash writing STEP file
asuraven [Mon, 2 Nov 2020 06:31:55 +0000 (09:31 +0300)]
0029108: Crash writing STEP file

* Wrapped a try / catch block on creating objects in TopoDSToStep_MakeStepFace::Init()

3 years ago0031887: IntTools_Context::IsPointInFace always return TRUE IR-2020-10-30
Xu Zhongxing [Thu, 29 Oct 2020 11:33:27 +0000 (19:33 +0800)]
0031887: IntTools_Context::IsPointInFace always return TRUE

If aDist >= aTol, bIn is never updated to false, and the function
always returns TRUE.

3 years ago0031888: Configuration, qmake - linkage error due to missing .cpp file in TKMesh
kgv [Thu, 29 Oct 2020 14:18:10 +0000 (17:18 +0300)]
0031888: Configuration, qmake - linkage error due to missing .cpp file in TKMesh

OccToolkit.pri now handles also .cpp file extension.

3 years ago0031878: DXF import - support Windows and ISO 8859 code pages in DXF import
dpasukhi [Wed, 28 Oct 2020 12:13:56 +0000 (15:13 +0300)]
0031878: DXF import - support Windows and ISO 8859 code pages in DXF import

Add support of converting Big5 and GBK code pages to Unicode within Resource_Unicode::ConvertFormatToUnicode

3 years ago0030921: Data Exchange - STEPCAFControl_Reader incorrectly reads the specified stp...
asuraven [Tue, 15 Sep 2020 18:54:40 +0000 (21:54 +0300)]
0030921: Data Exchange - STEPCAFControl_Reader incorrectly reads the specified stp file -- refactoring

File StepToGeom_MakeBSplineCurve.pxx is removed, relevant code is converted to C++ template and merged to StepToGeom.cxx

3 years ago0030921: Data Exchange - STEPCAFControl_Reader incorrectly reads the specified stp...
asuraven [Tue, 15 Sep 2020 18:14:39 +0000 (21:14 +0300)]
0030921: Data Exchange - STEPCAFControl_Reader incorrectly reads the specified stp file -- fix

The number of weights is adjusted to the number of poles in StepToGeom::MakeBSplineCurve(2d).

3 years ago0031884: Data Exchange - NULL de-reference within STEPCAFControl_Reader::SetSourceCod...
kgv [Tue, 27 Oct 2020 08:41:12 +0000 (11:41 +0300)]
0031884: Data Exchange - NULL de-reference within STEPCAFControl_Reader::SetSourceCodePage()

Removed methods with unclear usage rules.

3 years ago0031808: Visualization - NULL dereference in Graphic3d_Structure::IsDisplayed() on...
mzernova [Mon, 26 Oct 2020 14:14:05 +0000 (17:14 +0300)]
0031808: Visualization - NULL dereference in Graphic3d_Structure::IsDisplayed() on Removed presentation

Added a NULL check for IsDisplayed(), IsHighlighted(), IsTransformed(), IsVisible(), etc.

3 years ago0014673: Provide true support for Unicode symbols
abv [Sun, 25 Oct 2020 19:10:27 +0000 (22:10 +0300)]
0014673: Provide true support for Unicode symbols

Construction of TCollection_ExtendedString from plain C string is fixed to consider input string as UTF-8 in several places (identified as described in notes to #31113).

Message_MsgFile is corrected to load resource file as UTF-8 (unless it has BOM indicating use of UTF-16).

Added tests for use of Unicode in some DRAW commands (bugs demo bug14673_*)

3 years ago0031881: Coding Rules - OpenGl_HaltonSampler::initRandom() uses deprecated in C+...
kgv [Tue, 27 Oct 2020 04:57:36 +0000 (07:57 +0300)]
0031881: Coding Rules - OpenGl_HaltonSampler::initRandom() uses deprecated in C++14 function std::random_shuffle

Unused function has been removed.

3 years ago0030003: Construction of pipe by two circular sections and spine curve leads to crash
akaftasev [Wed, 16 Sep 2020 13:01:38 +0000 (16:01 +0300)]
0030003: Construction of pipe by two circular sections and spine curve leads to crash

GeomFill_NSection.cxx  : setting of UPeriodic flag while call constructor of BSpline surface is added

bug3003 : Test cases added

3 years ago0031873: Samples, Qt OCCT Overview sample - Problems of compilation and launch in...
asuraven [Mon, 26 Oct 2020 13:35:51 +0000 (16:35 +0300)]
0031873: Samples, Qt OCCT Overview sample - Problems of compilation and launch in 32 bit mode on Windows

3 years ago0031876: Configuration - Prs3d_Arrow::DrawShaded() crashes in msvc10 win32 Release...
kgv [Sat, 24 Oct 2020 18:01:50 +0000 (21:01 +0300)]
0031876: Configuration - Prs3d_Arrow::DrawShaded() crashes in msvc10 win32 Release build

Use longer code syntax to workaround compiler bug.

3 years ago0031877: DRAW - some Visualization commands are not protected against uninitialized...
abv [Fri, 2 Oct 2020 03:54:01 +0000 (06:54 +0300)]
0031877: DRAW - some Visualization commands are not protected against uninitialized viewer

Added protections in DRAW commands against accessing Null context

Added test bugs demo bug31877

3 years ago0031875: Draw Harness, ViewerTest - command vaspects -mostContinuity lacks g1 and... IR-2020-10-23
kgv [Fri, 23 Oct 2020 08:35:15 +0000 (11:35 +0300)]
0031875: Draw Harness, ViewerTest - command vaspects -mostContinuity lacks g1 and g2 options

vaspects -mostContinuity now accepts g1 and g2 values.

3 years ago0031858: Modeling Algorithms - boolean operation crash between the given cylinder...
emv [Thu, 22 Oct 2020 11:47:23 +0000 (14:47 +0300)]
0031858: Modeling Algorithms - boolean operation crash between the given cylinder and torus.

Integrating test cases only, as the problem is not reproduced.

3 years ago0031782: Modeling Algorithms - Regressions on VS 2019 (vc142) on fillet tests
ifv [Thu, 22 Oct 2020 12:28:40 +0000 (15:28 +0300)]
0031782: Modeling Algorithms - Regressions on VS 2019 (vc142) on fillet tests

ChFiKPart_ComputeData_FilPlnCyl.cxx - rewriting some code to avoid "extra" optimization

3 years ago0031825: Data Exchange, STEP - NULL dereference while re-exporting model with empty...
dpasukhi [Sat, 17 Oct 2020 13:21:51 +0000 (16:21 +0300)]
0031825: Data Exchange, STEP - NULL dereference while re-exporting model with empty Datum description

Fix adding name and description of the datum

3 years ago0028454: Data Exchange, STEP reader - names with special characters cannot be read
dpasukhi [Fri, 9 Oct 2020 10:57:30 +0000 (13:57 +0300)]
0028454: Data Exchange, STEP reader - names with special characters cannot be read

- Add support of the control directives ( "\X2\" "\X4" "\X\" "\P*\" "\S\");
- Make param "read.stepcaf.codepage" base for conversion inside StepData instead of CAF;
- Rename "read.stepcaf.codepage" to "read.step.codepage".
- Add ISO 8859-1 - 9 code pages for conversion
- Add Resource_FormatType_NoConversion format type, that indicates non-conversion behavior
- Update old test cases that contain control directives

3 years ago0027469: Modeling Algorithms - Regression vs 6.9.1: Wrong result of Edge/Face interse...
ifv [Thu, 15 Oct 2020 07:34:35 +0000 (10:34 +0300)]
0027469: Modeling Algorithms - Regression vs 6.9.1: Wrong result of Edge/Face intersection

IntTools/IntTools_BeanFaceIntersector.cxx - decreasing parameter aDeltaRestrictor in method ComputeRangeFromStartPoint(...) to avoid "jumping" across the common part boundary.

IntTools/IntTools_EdgeFace.cxx - method IsCoincident() - improving criteria of coincidence between edge and face.

3 years ago0031866: Documentation - add description to Graphic3d_NameOfMaterial enumeration...
kgv [Wed, 21 Oct 2020 07:28:12 +0000 (10:28 +0300)]
0031866: Documentation - add description to Graphic3d_NameOfMaterial enumeration values

Enumeration values have been renamed to use complete prefix Graphic3d_NOM_ -> Graphic3d_NameOfMaterial_
and to match string names (with old values preserved as aliases).

3 years ago0031827: Samples - Qt OCCT Overview sample is not compiled with VS 2010
asuraven [Thu, 15 Oct 2020 15:23:10 +0000 (18:23 +0300)]
0031827: Samples - Qt OCCT Overview sample is not compiled with VS 2010

 * Menu storage changed from json to XML (because Qt 4 does not support json)
 * C++11 for(object : container) construction changed to OCCT iterators / Qt foreach
 * enum type::name changed to type_name
 * non used class members removed
 * Qt connect functions changed to macros version
 * warning 4127 disabled for Q_INIT_RESOURCE in VS2010 / Qt 4 case
 * widgets parent problem on Qt 4 fixed
 * QRegularExpression changed to QRegExp

3 years ago0031856: Draw Harness - ReadStep should propagate progress indicator
kgv [Sat, 17 Oct 2020 11:04:49 +0000 (14:04 +0300)]
0031856: Draw Harness - ReadStep should propagate progress indicator

Added progress indication to commands ReadStep, WriteStep, ReadIges, WriteIges, XOpen, XSave.

Draw_ProgressIndicator::Reset() now backups Tcl result string before evaluating command,
so that Draw_ProgressIndicator destructor will not eat error/result message in main command.

3 years ago0031855: Modeling Algorithms - regression of the unifysamedom command.
jgv [Mon, 19 Oct 2020 01:18:16 +0000 (04:18 +0300)]
0031855: Modeling Algorithms - regression of the unifysamedom command.

Transformation of 2d-curves on elementary surfaces has been corrected.

3 years ago0031790: Configuration, CMake - add optional OpenVR dependency
kgv [Fri, 16 Oct 2020 12:45:43 +0000 (15:45 +0300)]
0031790: Configuration, CMake - add optional OpenVR dependency

3 years ago0031851: Data Exchange, STEP - enable Unicode symbols in STEP export IR-2020-10-16
abv [Wed, 14 Oct 2020 06:14:04 +0000 (09:14 +0300)]
0031851: Data Exchange, STEP - enable Unicode symbols in STEP export

Class STEPCAFControl_Writer is corrected to avoid replacing non-Ascii symbols by question marks, and spaces by underscores, on export to STEP.

Related: DRAW commands dealing with strings in OCAF documents are corrected to pass Unicode symbols as UTF-8.

Off-topic: code saving names of external STEP files in XDE and fetching them back is corrected to preserve Unicode symbols as UTF-8.

Added test bugs xde bug31851

Test de step_4 E7 corrected (no more replacement of spaces by underscores in names of layers)

3 years ago0031850: Modeling Algorithms - boolean cut and common generate unexpected result
emv [Wed, 14 Oct 2020 06:26:29 +0000 (09:26 +0300)]
0031850: Modeling Algorithms - boolean cut and common generate unexpected result

IntPatch_WLineTool::JoinWLines(): using correct point for the check if WLines may be joined.

3 years ago0031835: Modeling Algorithms - step by step Boolean common produces bad shape on...
emv [Tue, 13 Oct 2020 11:31:27 +0000 (14:31 +0300)]
0031835: Modeling Algorithms - step by step Boolean common produces bad shape on given three cylinders

Fix inconsistency between IntAna_QuadQuadGeo(gp_Cylinder,gp_Cylinder) and AxeOperator::Coplanar().

3 years ago0031848: [REGRESSION] Visualization - MoveTo() triggers exception "gp_Dir() - input...
kgv [Tue, 13 Oct 2020 11:20:18 +0000 (14:20 +0300)]
0031848: [REGRESSION] Visualization - MoveTo() triggers exception "gp_Dir() - input vector has zero norm"

SelectMgr_RectangularFrustum::Overlaps() - added zero magnitude check.

Commands vsphere,vcylinder,vtorus have been corrected to provide missing parameters defining number of stacks and slices.

3 years ago0031836: Modeling Algorithms - Boolean cut failed between a Cone and a Torus
emv [Mon, 12 Oct 2020 12:40:27 +0000 (15:40 +0300)]
0031836: Modeling Algorithms - Boolean cut failed between a Cone and a Torus

BOPAlgo_PaveFiller::UpdateExistingPaveBlocks: Add check for closed edge when updating pave block.

3 years ago0031575: Tests - make location of source test folder available in test
abv [Tue, 13 Oct 2020 05:14:07 +0000 (08:14 +0300)]
0031575: Tests - make location of source test folder available in test

Documentation of global variables available for the test script during test execution is improved.

Off-topic: mark-up error is fixed in DRAW user guide

3 years ago0029722: Modeling Algorithms - checkshape modifies UV points of parametric curve
ifv [Mon, 5 Oct 2020 06:29:19 +0000 (09:29 +0300)]
0029722: Modeling Algorithms - checkshape modifies UV points of parametric curve

removed updating uvpoints from WireExplorer

3 years ago0031842: Coding Rules, BOPAlgo - eliminate CLang warning -fsanitize=undefined referen...
kgv [Mon, 12 Oct 2020 15:00:22 +0000 (18:00 +0300)]
0031842: Coding Rules, BOPAlgo - eliminate CLang warning -fsanitize=undefined reference binding to null pointer

Added NULL checks before Progress Scope pointer dereference.

3 years ago0031841: Coding Rules, LDOM_XmlReader - eliminate new CLang compiler warning -Wtautol...
mpv [Mon, 12 Oct 2020 14:49:21 +0000 (17:49 +0300)]
0031841: Coding Rules, LDOM_XmlReader - eliminate new CLang compiler warning -Wtautological-overlap-compare

3 years ago0031833: Visualization - dynamic highlighting does not appear within ImmediateRedraw()
kgv [Fri, 9 Oct 2020 11:19:46 +0000 (14:19 +0300)]
0031833: Visualization - dynamic highlighting does not appear within ImmediateRedraw()

AIS_ViewController::contextLazyMoveTo() now undoes Z Range changes after MoveTo().

3 years ago0031824: Samples - Code is not displayed in Qt OCCT Overview sample after compilation...
vsv [Thu, 8 Oct 2020 13:50:37 +0000 (16:50 +0300)]
0031824: Samples - Code is not displayed in Qt OCCT Overview sample after compilation by CMake

3 years ago0031095: Debugging - add code for display of TCollection_AsciiString as UTF-8 in...
abv [Fri, 9 Oct 2020 07:37:37 +0000 (10:37 +0300)]
0031095: Debugging - add code for display of TCollection_AsciiString as UTF-8 in Visual Studio debugger visualizer

3 years ago0031830: Documentation - broken reference 14 in pbr_math document
kgv [Wed, 7 Oct 2020 14:20:28 +0000 (17:20 +0300)]
0031830: Documentation - broken reference 14 in pbr_math document

References to literature are simplified to reduce duplication of names.
List of references is converted to table for better presentation.

3 years agoIncrement OCCT version up to 7.5.0beta V7_5_0_beta
bugmaster [Mon, 5 Oct 2020 14:38:47 +0000 (17:38 +0300)]
Increment OCCT version up to 7.5.0beta

3 years ago0031670: Data Exchange - cp1251 Cyrillic characters in STEP file
dpasukhi [Wed, 30 Sep 2020 12:54:25 +0000 (15:54 +0300)]
0031670: Data Exchange - cp1251 Cyrillic characters in STEP file

Add support for converting pages from Windows encoding to Unicode

3 years ago0031735: Modeling Algorithms - BRepOffset_MakeOffset works slowly and produces wrong...
jgv [Sun, 13 Sep 2020 20:17:58 +0000 (23:17 +0300)]
0031735: Modeling Algorithms - BRepOffset_MakeOffset works slowly and produces wrong result

Modify method IsPlanar of BRepOffset_MakeOffset: try to make planar all possible faces to simplify the input shape.

3 years ago0031700: Modeling Algorithms - Regression in 0029580 after integration 0029839
ifv [Thu, 6 Aug 2020 13:17:33 +0000 (16:17 +0300)]
0031700: Modeling Algorithms - Regression in 0029580 after integration 0029839

BOPAlgo_PaveFiller_6.cxx: protection against creation of thin faces is added
bug29580_1: reverting in original state

dimensions.tcl: correction according to current state of BO algorithm

3 years ago0031570: Samples - add Qt samples similar to standard MFC samples
asuraven [Tue, 26 May 2020 11:16:46 +0000 (14:16 +0300)]
0031570: Samples - add Qt samples similar to standard MFC samples

Added Qt sample OCCTOverview providing examples of use of OCCT API with relevant code and demonstration of results in the viewer.

Off-topic: some unused images are removed from dox/introduction/images/

3 years ago0031821: Coding - Uninitialized variables in TKFillet project
tiv [Mon, 5 Oct 2020 06:52:31 +0000 (09:52 +0300)]
0031821: Coding - Uninitialized variables in TKFillet project

Some variables that remain uninitialized in the project TKFillet received proper initializers.

3 years ago0031812: IGES import - NURBS patches lost in the import process - 720
gka [Thu, 1 Oct 2020 09:37:34 +0000 (12:37 +0300)]
0031812: IGES import - NURBS patches lost in the import process - 720

Correction for case invalid color definition to avoid considering an entity that has a number corresponding to the color field as erroneous if entity is not a color entity.

3 years ago0030378: Data Exchange - extract of subset of model entities fails (regression)
abv [Sat, 3 Oct 2020 04:03:51 +0000 (07:03 +0300)]
0030378: Data Exchange - extract of subset of model entities fails (regression)

Field theflags in class Interface_BitMap is always initialized to avoid exception on operations with the class.

Added test bugs step bug30378

3 years ago0031820: Tests - "dlog get" skips last exception when calling 'test" with echo OFF
kgv [Sat, 3 Oct 2020 09:48:19 +0000 (12:48 +0300)]
0031820: Tests - "dlog get" skips last exception when calling 'test" with echo OFF

Added missing puts to "test" command.

3 years ago0031819: Documentation - add references to Flex and Bison
abv [Sat, 3 Oct 2020 07:12:37 +0000 (10:12 +0300)]
0031819: Documentation - add references to Flex and Bison

References to Flex and Bison added

Related:
- table of third-party tools in Requirements section is reorganized to be more clear
- sections Acknowledgements and Installation are updated

3 years ago0030800: Foundation Classes, UnitsAPI - poise dynamic viscosity unit is not defined...
abv [Fri, 2 Oct 2020 20:54:16 +0000 (23:54 +0300)]
0030800: Foundation Classes, UnitsAPI - poise dynamic viscosity unit is not defined correctly

Definition of Poise unit corrected.

Added test bugs fclasses bug30800

3 years ago0029451: Information Message Alert to debug an algorithm or object functionality IR-2020-10-02
nds [Fri, 2 Oct 2020 11:17:59 +0000 (14:17 +0300)]
0029451: Information Message Alert to debug an algorithm or object functionality

- Added possibility to send stream information and transient object into Message_Messenger. Message_Printer will process it if needed.
- Add Message_PrinterToReport to send messenger information into Message_Report.
- Extended Message_Report to collect hierarchical alerts, to be able to collect some metrics during alerts processing.
- Added Message_AlertExtended to prepare hierarchical alerts with custom attributes. One attribute for one alert.
- Added Message_CompositeAlerts class to handle a container of alerts.
- Added Message_Level to start a new hierarchical level by creating an instance, stop by destricting.
- Added Message_Attribute and inheritors to store custom information about alert like object, stream, shape, some metrics.
- Implement Message_AttributeAlert to collect start/stop information about active metrics of Message_Report. This kind of attribute is created if at least one metric is active in the report.
- Add Message_MetricType enumeration with possible kinds of metrics in report.
- Implement DumpJson for Message_Report to store all collected alerts into stream.
- Added draw commands for Message_Report, Message_Messenger.

3 years ago0031816: Data Exchange - RWMesh_MaterialMap::CopyTexture() copies glb file instead...
kgv [Thu, 1 Oct 2020 12:07:46 +0000 (15:07 +0300)]
0031816: Data Exchange - RWMesh_MaterialMap::CopyTexture() copies glb file instead of a texture inside it

Image_Texture is now checked if it defines an additional offset within the file
to avoided copying an old glb file with embedded image files instead of extracting them.

3 years ago0027191: Documentation - redesign of information architecture -- revision (user guides)
Vera Sdobnova [Thu, 1 Oct 2020 12:34:55 +0000 (15:34 +0300)]
0027191: Documentation - redesign of information architecture -- revision (user guides)

Revision of User Guides

- Changes in User Guides Section to correspond with OCCT Overview structure: Mesh became a direct subsection of User Guides (it was a part of Modeling Algorithms).
  TObj is included into OCAF.
- Changes in User Guides – Modeling Algorithms section: Fillets and Chamfers, Offsets, Drafts, Pipes and Evolved shapes, Sewing, Features, 3D Model Defeaturing, 3D Model Periodicity,
  Object Modification are moved into The Topology API section.
- Changes in User Guides – Modeling Data section: Naming shapes, sub-shapes, their orientation and state section is renamed to Shape content. Shape Location is moved into Shape content section.
  Storage of Shapes is moved into BRep Format section of Specification. Lists and Maps of Shapes subsection is moved into Topology - Exploration of Topological Data Structures.
- Some pictures in User Guides (Foundation Classes, Modeling Data, Modeling Algorithms) and Tutorial are updated to improve quality and correct mistakes.

3 years ago0027191: Documentation - redesign of information architecture -- revision (overview...
Vera Sdobnova [Thu, 1 Oct 2020 12:18:59 +0000 (15:18 +0300)]
0027191: Documentation - redesign of information architecture -- revision (overview and samples)

Revision of Introduction, Overview, Samples, Tutorial

- Technical Overview is incorporated into Introduction
- Samples (from Overview) and Tutorial are moved into new section Tutorials and Samples
- Content of Getting Started section (Draw Test Harness and Experimenting with Draw Test Harness) is moved into Tutorial and Samples section.
- Content changes: links to Open Cascade website promoting paid training and support are deleted.
- Some pictures in User Guides (Foundation Classes, Modeling Data, Modeling Algorithms) and Tutorial are updated to improve quality and correct mistakes.

3 years ago0027191: Documentation - redesign of information architecture -- revision (build)
Vera Sdobnova [Thu, 1 Oct 2020 11:54:01 +0000 (14:54 +0300)]
0027191: Documentation - redesign of information architecture -- revision (build)

Revised documentation of building OCCT and third-parties; some related tags updated

3 years ago0027191: Documentation - redesign of information architecture -- renaming (4)
abv [Thu, 1 Oct 2020 11:27:14 +0000 (14:27 +0300)]
0027191: Documentation - redesign of information architecture -- renaming (4)

Move documents describing BREP format, Boolean operations, and PBR math to dox/specification

3 years ago0027191: Documentation - redesign of information architecture -- renaming (3)
abv [Thu, 1 Oct 2020 11:18:48 +0000 (14:18 +0300)]
0027191: Documentation - redesign of information architecture -- renaming (3)

Move guides on documentation, tests, coding rules, contribution workflow to dox/contribution

3 years ago0027191: Documentation - redesign of information architecture -- renaming (2)
abv [Thu, 1 Oct 2020 10:34:57 +0000 (13:34 +0300)]
0027191: Documentation - redesign of information architecture -- renaming (2)

Move debug and upgrade user guides to corresponding folders on upper level

Related: remove "debug" pattern from .gitignore to avoid ignoring relevant folder in dox

3 years ago0027191: Documentation - redesign of information architecture -- renaming (1)
abv [Thu, 1 Oct 2020 10:52:22 +0000 (13:52 +0300)]
0027191: Documentation - redesign of information architecture -- renaming (1)

Move / rename overview to introduction

3 years ago0031645: Documentation - provide external article references to PBR developer guide
iko [Mon, 28 Sep 2020 02:27:16 +0000 (05:27 +0300)]
0031645: Documentation - provide external article references to PBR developer guide

References have been added.

3 years ago0031813: Data Exchange, RWGltf_GltfJsonParser - debug assertion in progress scope...
kgv [Thu, 1 Oct 2020 09:43:54 +0000 (12:43 +0300)]
0031813: Data Exchange, RWGltf_GltfJsonParser - debug assertion in progress scope on reading glTF1.0 files

RWGltf_GltfJsonParser::gltfParseSceneNode() - removed redundant progress indication on sub-meshes list level.

3 years ago0027922: Samples - Qt sample document window display problem
bugmaster [Thu, 1 Oct 2020 11:42:10 +0000 (14:42 +0300)]
0027922: Samples - Qt sample document window display problem

3 years ago0030911: Visualization - Font_BRepFont using as a usual Standard_Transient
nds [Fri, 25 Sep 2020 12:00:43 +0000 (15:00 +0300)]
0030911: Visualization - Font_BRepFont using as a usual Standard_Transient

- StdPrs_BRepFont inherits Standard_Transient;
- StdPrs_BRepFont contains Font_FTFont in internal field;
- StdPrs_BRepFont implements FindAndCreate;

3 years ago0031762: Visualization, Font_TextFormatter - tabulation length is respected with...
kgv [Tue, 29 Sep 2020 09:12:14 +0000 (12:12 +0300)]
0031762: Visualization, Font_TextFormatter - tabulation length is respected with one extra symbol shift

Integrate test case for checking various scenarios with tabulation symbol.

3 years ago0031789: Coding Rules - remove redundant Standard_EXPORT from TKMesh
mkrylova [Thu, 24 Sep 2020 14:14:15 +0000 (17:14 +0300)]
0031789: Coding Rules - remove redundant Standard_EXPORT from TKMesh

- Standard_EXPORT which were specified for inline methods were deleted.
- ALL occurrences of DEFINE_STANDARD_RTTI_INLINE were replaced by DEFINE_STANDARD_RTTIEXT in header files and IMPLEMENT_STANDARD_RTTIEXT in source files
- ALL occurrences of "inline" keyword were deleted where it didn't not cause a linkage errors
- Added source files for classes that were without them for IMPLEMENT_STANDARD_RTTIEXT

3 years ago0031799: Configuration - compilation errors with Android NDK r12
kgv [Sun, 27 Sep 2020 16:51:56 +0000 (19:51 +0300)]
0031799: Configuration - compilation errors with Android NDK r12

Added missing <stdarg.h> include (va_list) to Standard_CString.hxx.
Do not include <search.h> in delabella.cpp when using gcc 4.9 from Android NDK.

3 years ago0031793: Draw Harness, vmanipulator - disable sorting picking result workaround
mzernova [Sat, 26 Sep 2020 18:47:58 +0000 (21:47 +0300)]
0031793: Draw Harness, vmanipulator - disable sorting picking result workaround

AIS_InteractiveContext::SetPickClosest() has been removed from vmanipulator command,
and test cases using the manipulator have been updated.

3 years ago0031795: Documentation - OCCDoc_ProcessSvg uses syntax incompatible with Inkscape 1.0
kgv [Fri, 25 Sep 2020 12:23:46 +0000 (15:23 +0300)]
0031795: Documentation - OCCDoc_ProcessSvg uses syntax incompatible with Inkscape 1.0

Detect old/new Inkscape version and pass arguments correspondingly.

3 years ago0027342: STEP - support C++ streams for import / export IR-2020-09-25
imn [Wed, 6 Apr 2016 13:09:55 +0000 (16:09 +0300)]
0027342: STEP - support C++ streams for import / export

- STEP low-level parser is converted to C++; required minimal version of flex is elevated to 2.5.37.
- Added possibility to import STEP from stream, see new method XSControl_Reader::ReadStream() (now implemented in STEP only).
- Parsers ported to win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1)
- Added support of C++ flex and bison scanners in in CMake scripts
- Some code clean-up in StepFile and around (unused files and functions are eliminated)
- Option to read from stream is added in DRAW command testreadstep for testing ReadStream() function
- Added test bugs step bug27342