occt.git
3 years ago0032077: Visualization - setting custom default frame buffer object for OpenGl context CR32077
nds [Fri, 22 Jan 2021 14:46:44 +0000 (17:46 +0300)]
0032077: Visualization - setting custom default frame buffer object for OpenGl context

3 years ago0032068: Inspectors - Last command don't have the time value
sshutina [Wed, 23 Dec 2020 06:19:01 +0000 (09:19 +0300)]
0032068: Inspectors - Last command don't have the time value

3 years ago0031959: Inspectors - Statistics by name
sshutina [Tue, 1 Dec 2020 21:26:51 +0000 (00:26 +0300)]
0031959: Inspectors - Statistics by name

3 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 e80a307718f10906bbfa3b3f8bbba681b6d06922)

3 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

(cherry picked from commit 726a195668001f61bef52ec87743bbb3cf1b6be6)

3 years ago0030737: Visualization - implementing new selection schemes in context
age [Tue, 24 Nov 2020 13:14:19 +0000 (16:14 +0300)]
0030737: Visualization - implementing new selection schemes in context

Improved AIS_SelectionScheme_ReplaceExtra scheme (now is a part of AIS_SelectionScheme_Replace)
Replaced AIS_NListOfEntityOwner with AIS_NArray1OfEntityOwner
Fixed bug with incorrect highlighting in xor mode (select several times the same objects)
Fixed selections filters
Cherry picked a new highlighting logic from 75cf82505b83f6c85f43b1327e13bd5b88355ff5

3 years ago0030737: Visualization - implementing new selection schemes in context
nds [Wed, 28 Oct 2020 18:16:27 +0000 (21:16 +0300)]
0030737: Visualization - implementing new selection schemes in context

AIS_SelectionScheme_ReplaceExtra introduce

3 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)

3 years agoRevert "0030737: Visualization - implementing new selection schemes in context"
age [Tue, 24 Nov 2020 07:25:32 +0000 (10:25 +0300)]
Revert "0030737: Visualization - implementing new selection schemes in context"

This reverts commit 502194e4fca701d2a5cf7e54e62862ff9c90db03.

3 years ago0031350: Inspectors - property view in DFBrowser for DumpJson
nds [Mon, 9 Nov 2020 03:24:03 +0000 (06:24 +0300)]
0031350: Inspectors - property view in DFBrowser for DumpJson

(cherry picked from commit 19b5d8465313c119c9d2f344041e67883226ec61)

3 years ago0031945: Foundation Classes - unique names of alerts of message report in DumpJson
nds [Fri, 6 Nov 2020 15:40:22 +0000 (18:40 +0300)]
0031945: Foundation Classes - unique names of alerts of message report in DumpJson

3 years ago0031944: Foundation Classes - mutex for message level
nds [Sat, 31 Oct 2020 19:58:22 +0000 (22:58 +0300)]
0031944: Foundation Classes - mutex for message level

(cherry picked from commit 0f07a04a85dedd375a5383f3cb0031c0a6d6b329)

3 years ago0031362: Inspectors - MessageView plugin for message alerts
nds [Tue, 27 Oct 2020 16:24:59 +0000 (19:24 +0300)]
0031362: Inspectors - MessageView plugin for message alerts

- OSD_Timer in message alert,
- DumpJson correction,
- Selection owner should be dumped in selector. Sensitive entities might be used in the same owner, that leads to lots of the same dump in the result stream.

(cherry picked from commit e8bde810616e61cbe925981176681f2840234fa4)

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

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 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.

(cherry picked from commit cc07d3180c48e31308d71c3f3b0108e1026fd4ca)

3 years ago0031678: Visualization - text color becomes lighter than in 7.3.0
nds [Tue, 21 Jul 2020 15:15:55 +0000 (18:15 +0300)]
0031678: Visualization - text color becomes lighter than in 7.3.0

(cherry picked from commit 1855383438db33933106aa5848ac00569731a407)

3 years ago0029451: Information Message Alert to debug an algorithm or object functionality
nds [Sun, 21 Jun 2020 09:42:42 +0000 (12:42 +0300)]
0029451: Information Message Alert to debug an algorithm or object functionality

3 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)

3 years ago0029451: Information Message Alert to debug an algorithm or object functionality
nds [Tue, 19 May 2020 16:53:20 +0000 (19:53 +0300)]
0029451: Information Message Alert to debug an algorithm or object functionality

3 years ago0030988: Add possibility to attach multiple files to notes
snn [Tue, 14 Apr 2020 09:57:18 +0000 (12:57 +0300)]
0030988: Add possibility to attach multiple files to notes

- Swap child/father in RemoveFromGroup method of NotesTool.

(cherry picked from commit 7c0ec2e2146660677992d9cdee4e93276e362bf9)

3 years ago0029451: Information Message Alert to debug an algorithm or object functionality
nds [Wed, 12 Feb 2020 20:41:59 +0000 (23:41 +0300)]
0029451: Information Message Alert to debug an algorithm or object functionality

3 years ago0031326: Foundation Classes - Init from Json for base OCCT classes
nds [Wed, 12 Feb 2020 20:35:54 +0000 (23:35 +0300)]
0031326: Foundation Classes - Init from Json for base OCCT classes

(cherry picked from commit 39f197676cb85d2b84ad0ff15266eed118cbbaff)
(cherry picked from commit 4a5e30db5bbdfc7a77a03d1e55e8a3bee5d79d2d)

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

(cherry picked from commit 0a9f129d67748f59a40e7758d271e87ae4d535de)

# Conflicts:
# src/Graphic3d/Graphic3d_CView.cxx
# src/Graphic3d/Graphic3d_WorldViewProjState.hxx
# src/SelectMgr/SelectMgr_TriangularFrustumSet.cxx
# src/SelectMgr/SelectMgr_TriangularFrustumSet.hxx

3 years ago0030784: Visualization - check if selectable of owner in internal container in AIS_In...
nds [Wed, 12 Feb 2020 22:55:17 +0000 (01:55 +0300)]
0030784: Visualization - check if selectable of owner in internal container in AIS_InteractiveContext before using

(cherry picked from commit 707e554dba56681d110b164cb4ea8b47723e7007)

3 years ago0031221: Visualization - selection filter in context
nds [Sun, 8 Dec 2019 15:57:34 +0000 (18:57 +0300)]
0031221: Visualization - selection filter in context

(cherry picked from commit 0ef1e0394c44f7cb1753634f53e6ef0e8cda86ad)

# Conflicts:
# src/AIS/AIS_InteractiveContext_1.cxx
(cherry picked from commit 53bbb3d99268d9aa89affe051ff82b51539a9946)

3 years ago0031197: Visualization - SetTransformPersistence for highlight, select presentations
nds [Thu, 5 Dec 2019 14:15:09 +0000 (17:15 +0300)]
0031197: Visualization - SetTransformPersistence for highlight, select presentations

(cherry picked from commit df3644aa354c932483d89f553b09a2f399135f0f)
(cherry picked from commit 33ffefa2f7c052225012dde159c5001a3cc73ea5)
(cherry picked from commit 59433e7b4e49362dc1741dc00178ccec64c6cc5d)

3 years ago0030791: Visualization - possibility to display materials by different hatching style...
nds [Tue, 18 Jun 2019 12:44:43 +0000 (15:44 +0300)]
0030791: Visualization - possibility to display materials by different hatching style for clipping

(cherry picked from commit ab39c2510fa4c9a568deb226cca37fe22c3162c4)

# Conflicts:
# src/ViewerTest/ViewerTest_ViewerCommands.cxx

3 years ago0030537: Visualization - wrapping text in font text formatter
nds [Mon, 2 Sep 2019 15:44:07 +0000 (18:44 +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.

3 years ago0030737: Visualization - implementing new selection schemes in context
nds [Tue, 20 Aug 2019 12:16:34 +0000 (15:16 +0300)]
0030737: Visualization - implementing new selection schemes in context

(cherry picked from commit 8ac88685123f50caef2b53010da626b4682d9bd4)

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

(cherry picked from commit 9640291ff0e38a6f1e06f5f77f9dda7bcc109082)

# Conflicts:
# src/XCAFDoc/XCAFDoc_AssemblyItemId.cxx
# src/XCAFDoc/XCAFDoc_NoteBinData.cxx
# src/XCAFDoc/XCAFDoc_NoteComment.cxx
# src/XCAFDoc/XCAFDoc_NotesTool.cxx
# src/XmlMXCAFDoc/XmlMXCAFDoc.cxx
(cherry picked from commit c5d24136ed56ae680dae4f544399a94998ee0962)

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)

3 years agorefs 474:Possibility to create and play animations
nds [Thu, 27 Sep 2018 14:53:53 +0000 (17:53 +0300)]
refs 474:Possibility to create and play animations

3 years agorefs #355: Add possibility to hide clipping plane
nds [Thu, 27 Sep 2018 14:43:50 +0000 (17:43 +0300)]
refs #355: Add possibility to hide clipping plane

(cherry picked from commit ca1f82f6c6860a2e1995d7d9a66ce8c152e9d3cc)
(cherry picked from commit 61f39b4dc7235bf14d685811a8dc4219f02ea4c9)
(cherry picked from commit 7b08ab936a5f6091651fc0311c5c255bd0dc9cb0)

# Conflicts:
# src/XCAFDoc/XCAFDoc.hxx
(cherry picked from commit 72e4a1055636c461e6b154dbd785c84bc611c665)
(cherry picked from commit 37d575793df9e84e58a9b92bba17c5ae58d473f1)
(cherry picked from commit 6964d28a314f847255d1d1cb015dcbd68b3ec1aa)

3 years agoXCAFDoc/View fixes to store in the view: image, parts transparency, notes, notes...
nds [Thu, 27 Sep 2018 14:38:43 +0000 (17:38 +0300)]
XCAFDoc/View fixes to store in the view: image, parts transparency, notes, notes positions

3 years ago0031544: Visualization - show boundaries of faces in shading mode of VTK presentation IR-2020-05-15
vsv [Fri, 8 May 2020 15:14:49 +0000 (18:14 +0300)]
0031544: Visualization - show boundaries of faces in shading mode of VTK presentation

3 years ago0031004: Coding - eliminate warnings issued by gcc 9.1.0
kgv [Fri, 8 May 2020 20:41:22 +0000 (23:41 +0300)]
0031004: Coding - eliminate warnings issued by gcc 9.1.0

Fixed -Wrestrict warning within OSD::SetSignal().

Fixed -Wdeprecated-copy warning by adding missing counterpart
in pair copy constructor / assignment operator or by removing trivial constructor.

AdvApp2Var_Node, AdvApp2Var_Patch are now declared as Handle.
AdvApp2Var_Iso is now passed by Handle.

Disabled operator= for TDF_Transaction and TDF_IDFilter.

Standard.cxx - fixed GCC version mischeck causing building failure with experimental GCC versions.

TopOpeBRepDS_EXPORT.cxx - fixed -Wmaybe-uninitialized warnings.

3 years ago0031542: Modeling Algorithms - Offset algorithm produces incomplete result in mode...
emv [Mon, 13 Apr 2020 10:31:12 +0000 (13:31 +0300)]
0031542: Modeling Algorithms - Offset algorithm produces incomplete result in mode "Complete" join type "Intersection"

Mark unchecked edges originated from vertices as invalid if they are contained in invalid faces.

3 years ago0031307: Modeling Algorithms - Offset algorithm produces incorrect result in mode...
emv [Mon, 20 Jan 2020 13:45:34 +0000 (16:45 +0300)]
0031307: Modeling Algorithms - Offset algorithm produces incorrect result in mode "Complete" join type "Intersection"

Do not classify edges originated from combination of edges and vertices as the classification will likely be unstable.
Mark faces containing valid inverted edges as invalid but do not remove them from valid splits.

Extend the debug command DBRep_SetComp to allow different containers for creating the TopoDS_Compound.

3 years ago0031552: Bad performance of intersection of cylindrical surfaces
ifv [Thu, 7 May 2020 11:46:06 +0000 (14:46 +0300)]
0031552: Bad performance of intersection of cylindrical surfaces

Adjusting parameters of algorithm depending on axes and parameters of cylinders is added in order to reduce computation time

Test case added: tests/lowalgos/intss/bug31552

tests/perf/modalg/bug26310_1: test case corrected according to current state of algorithm

3 years ago0031565: Visualization - SIGFPE, Arithmetic exception if SelectMgr_TriangularFrustumS...
jfa [Thu, 14 May 2020 11:20:55 +0000 (14:20 +0300)]
0031565: Visualization - SIGFPE, Arithmetic exception if SelectMgr_TriangularFrustumSet::Build() is called with single point

3 years ago0029240: Data Exchange - Crash during reading STEP file
dpasukhi [Mon, 13 Apr 2020 08:49:14 +0000 (11:49 +0300)]
0029240: Data Exchange - Crash during reading STEP file

- Issue is done in previous version OCCT
- Add test to verify import

3 years ago0027087: [Regression to OCCT 6.7.1] BRepExtrema_DistShapeShape gives wrong result
ifv [Tue, 3 Sep 2019 12:48:24 +0000 (15:48 +0300)]
0027087: [Regression to OCCT 6.7.1] BRepExtrema_DistShapeShape gives wrong result

Extrema_ExtCs.cxx: number of subdivision is incresed for curve;

Modifications to fix regressions of some tests
IntTools_BeanFaceIntersector.cxx: restriction of curve, which is used in Extrema_ExtCS
ProjLib_CompProjectedCurve.cxx: tolerance is reduced for Extrema_ExtCS
BRepOffset_Tool.cxx: checking common vertex if it is Null

tests/bugs/modalg_7/bug27087 : test case added.

tests/bugs/modalg_5/bug25232_8 : test is modified according to new behavior of algorithms

3 years ago0026925: Data Exchange - Exception can be raised if assembly is empty
dpasukhi [Tue, 12 May 2020 16:51:12 +0000 (19:51 +0300)]
0026925: Data Exchange - Exception can be raised if assembly is empty

- Issue is done in previous version OCCT
- Add test to verify the creating of the label structure using plain OCAF/XDE API
- Situation when the assembly label has no shape attached is correct

3 years ago0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument -- use... IR-2020-05-08
kgv [Fri, 8 May 2020 11:40:39 +0000 (14:40 +0300)]
0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument -- use shortcuts

Message::DefaultMessenger()->Send() have been replaced by shortcuts Message::Send().

3 years ago0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument
kgv [Wed, 15 Apr 2020 19:44:49 +0000 (22:44 +0300)]
0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument

The argument putEndl has been removed from Message_Messenger::Send() and Message_Printer::Send() methods.

Message_Printer interface has been changed, so that sub-classes have to implement new method
Message_Printer::send() accepting TCollection_AsciiString.
Old three Message_Printer::Send() methods remain available without putEndl argument
and redirecting to new send() method by default.

Removed dummy Message_PrinterOStream::GetUseUtf8() property.
Message_PrinterOStream, Message_PrinterSystemLog and Draw_Printer
now implement single method Message_Printer::send() instead of triplet.

3 years ago0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument -- prepar...
abv [Thu, 30 Apr 2020 12:45:31 +0000 (15:45 +0300)]
0031501: Foundation Classes, Message_Printer - remove theToPutEndl argument -- preparation

Operators << for Handle(Message_Messenger) are removed; their use is replaced by use of Message_Messenger::StreamBuffer
Message_Messenger has been replaced by Standard_OStream within Interface_InterfaceModel,IFSelect,IGES,STEP dump interfaces.

3 years ago0031546: Application Framework - Memory leak (100 bytes) on Load / Close OCAF document
abv [Mon, 4 May 2020 19:25:03 +0000 (22:25 +0300)]
0031546: Application Framework - Memory leak (100 bytes) on Load / Close OCAF document

Class Standard_BaseDriver is inherited from Standard_Transient, its descendants are updated accordingly.
Handle is used to manipulate objects of this class and its descendants (instead of references or raw pointers) to ensure automatic destruction.

Added test bugs caf bug31546

Related:
- Standard_OVERRIDE is added in declarations of virtual methods in descendants of Storage_BaseDriver
- Methods operator << and operator >> are removed in descendants of Storage_BaseDriver (they repeat the same methods inherited from the base class)
- Typedef PCDM_BaseDriverPointer is marked as deprecated
- Unused class DDI_Ostream is removed
- Private field Standard_Transient::count is renamed to myRefCount_ to avoid compiler warnings if the same name is used within the scope of a descendant class
- Output of meaningful error messages is restored in DRAW commands fsdread and fsdwrite

3 years ago0030185: Unify same domain algorithm corrupts the initial shape
ifv [Wed, 29 Apr 2020 07:08:39 +0000 (10:08 +0300)]
0030185: Unify same domain algorithm corrupts the initial shape

ShapeUpgrade_UnifySameDomain.cxx: checking of surface domains and projection to get pcurves are added
tests/bugs/heal/bug30185: test case added

3 years ago0029384: Visualization, TKOpenGl - basic integration with OpenVR
kgv [Thu, 16 Apr 2020 15:44:50 +0000 (18:44 +0300)]
0029384: Visualization, TKOpenGl - basic integration with OpenVR

V3d_View::AutoZFit() is now called only before redraw
within methods V3d_View::Redraw() and V3d_View::Update().

Graphic3d_CView now holds Aspect_ExtendedRealitySession object.
Aspect_OpenVRSession implements new interface via optional OpenVR library.
Graphic3d_CView::ProcessInput() - added new interface method
which should be called for processing positional input (head tracking).

Graphic3d_Camera now allows setting custom stereoscopic Projection matrices.

OpenGl_Context::Camera() - context now holds Camera object
in addition to active camera matrices.

genproj.tcl has been extended to handle optional CSF_OpenVR dependency.

3 years ago0031548: Visualization, SelectBasics_PickResult - include surface normal into picking...
kgv [Mon, 4 May 2020 22:23:41 +0000 (01:23 +0300)]
0031548: Visualization, SelectBasics_PickResult - include surface normal into picking details

SelectMgr_SortCriterion::Normal, SelectBasics_PickResult::SurfaceNormal() - added new property.
SelectMgr_RectangularFrustum::Overlaps() for triangle sets new normal property.
gp_GTrsf::GetMat4() - added conversion into NCollection_Mat4 similar to gp_Trsf::GetMat4().

3 years ago0031189: Draw Harness, ViewerTest - send messages to Message::DefaultMessenger()
kgv [Sun, 24 Nov 2019 12:02:39 +0000 (15:02 +0300)]
0031189: Draw Harness, ViewerTest - send messages to Message::DefaultMessenger()

Added short-cuts methods in Message_Messenger for sending message with specified gravity,
and stream buffer class for using stream-like interface for that.
Similar short-cuts to DefaultMessenger() are added in Message package.

ViewerTest has been updated to send messages to Message::DefaultMessenger()
instead of direct output to std::cout/std::cerr.

Off-topic: spelling error (duplicate "and") is corrected in two places

Added test bugs fclasses bug31189

3 years ago0031517: Data Exchange - wrong result of ShapeTool::UpdateAssemblies()
ika [Thu, 23 Apr 2020 14:58:59 +0000 (17:58 +0300)]
0031517: Data Exchange - wrong result of ShapeTool::UpdateAssemblies()

Get rid of problem with updating of parents shared one assembly.

3 years ago0031521: Samples - update MFC ImportExport sample to use AIS_ViewController
kgv [Fri, 24 Apr 2020 14:03:20 +0000 (17:03 +0300)]
0031521: Samples - update MFC ImportExport sample to use AIS_ViewController

The following MFC samples have been updated to use AIS_ViewController:
Geometry, HLR, ImportExport, Modeling, OCAF, Triangulation, Viewer2D.

3 years ago0031193: Visualization - OpenGl_Flipping wrong text position if local transformation set
nds [Tue, 27 Aug 2019 05:26:23 +0000 (08:26 +0300)]
0031193: Visualization - OpenGl_Flipping wrong text position if local transformation set

Before the patch, if the values of the isReversedX/Y/Z variables were set to false, then the WorldView matrix did not change and local transformation was not applied, which caused errors.
In order to correctly set the local transformation in case the text does not have its own attach point, the local transformation is set in OpenGl_Text, and the ModelWorld matrix is changed in OpenGl_Flipper, instead of the WorldView matrix. In this case, local transformation will always be applied.

bugs/vis/bug31193: test case added

3 years ago0031518: Samples - update QtWidget samples to use AIS_ViewController IR-2020-04-24
kgv [Thu, 23 Apr 2020 20:47:11 +0000 (23:47 +0300)]
0031518: Samples - update QtWidget samples to use AIS_ViewController

Qt samples IESample and Tutorial have been updated to use AIS_ViewController for view manipulations.

3 years ago0031519: Visualization, AIS_ViewController - add AIS_MouseGesture_ZoomWindow gesture
kgv [Thu, 23 Apr 2020 20:47:11 +0000 (23:47 +0300)]
0031519: Visualization, AIS_ViewController - add AIS_MouseGesture_ZoomWindow gesture

AIS_ViewController now supports AIS_MouseGesture_ZoomWindow gesture,
which displays zooming window via Rubber-Band rectangle.

3 years ago0031511: Point Cloud Rendering, Volume Rendering - reuse Graphic3d_CullingTool
kgv [Sun, 19 Apr 2020 18:42:42 +0000 (21:42 +0300)]
0031511: Point Cloud Rendering, Volume Rendering - reuse Graphic3d_CullingTool

Graphic3d_CullingTool::IsCulled() has been extended with theIsInside argument for full inclusion test.
Graphic3d_Layer::UpdateCulling() now avoids frustum culling tests for BVH children for parent nodes completely included into frustum.
Graphic3d_CullingTool::SetViewVolume() has been extended by optional model-world matrix.

3 years ago0031512: Foundation Classes - drop unused class NCollection_Comparator
kgv [Tue, 21 Apr 2020 19:26:13 +0000 (22:26 +0300)]
0031512: Foundation Classes - drop unused class NCollection_Comparator

3 years ago0031440: Visualization - Impossible to make common behaviour for multi-selection...
mzernova [Tue, 14 Apr 2020 21:54:32 +0000 (00:54 +0300)]
0031440: Visualization - Impossible to make common behaviour for multi-selection in viewer

A special mode for the selecting by polygon is added to select only completely overlapping objects.

In order to track the sensitives that were included completely by defined polygon, the boundary points of the polygonal frustrum are stored in the variable myBoundaryPoints.

If an sensitive intersects with at least one of the frustrums from myFrustums, then checking whether this object intersects with borders using the isIntersectBoundary method; if not, then the sensitive were included completely by defined polygon.

Because the polygon can be concave, then to check the sensitive were included completely by defined polygon, it is not enough to check of all its points, it is necessary that the edges of the sensitive do not intersect polygonal frustrum. To do this, for polygonal selection, a call to the Overlaps method for a point was replaced by a call to a segment where necessary.

bugs/vis/bug31440: test case added

4 years ago0031492: BRepBuilderAPI_MakeFace crashes on a wire
jgv [Fri, 10 Apr 2020 08:52:37 +0000 (11:52 +0300)]
0031492: BRepBuilderAPI_MakeFace crashes on a wire

Method BRepClass_Intersector::LocalGeometry is modified: check whether is tangent defined and check of infinite curvature is added.

4 years ago0031318: Documentation, TopoDS.hxx - typo in the reference manual IR-2020-04-17
akaftasev [Fri, 24 Jan 2020 13:34:15 +0000 (16:34 +0300)]
0031318: Documentation, TopoDS.hxx - typo in the reference manual

change "onject" to "object" in description of TopoDS class

4 years ago0031505: Point Cloud Rendering - fix on-screen statistics about number of visible...
kgv [Fri, 17 Apr 2020 07:36:57 +0000 (10:36 +0300)]
0031505: Point Cloud Rendering - fix on-screen statistics about number of visible points

OpenGl_Element now provide methods ::UpdateMemStats() and ::UpdateDrawStats()
for unified request of statistics used by OpenGl_FrameStats instead of direct handling of OpenGl_PrimitiveArray.
Graphic3d_FrameStatsCounter counters list has been extended by Graphic3d_FrameStatsCounter_NbLinesNotCulled.

4 years ago0031502: Coding - New warnings after integration fix for 0031456
kgv [Thu, 16 Apr 2020 13:51:31 +0000 (16:51 +0300)]
0031502: Coding - New warnings after integration fix for 0031456

Deprecated AIS class aliases have been moved from PrsDim to AIS package.

4 years ago0031435: Data Exchange - Problem importing STEP files
dpasukhi [Thu, 9 Apr 2020 15:40:32 +0000 (18:40 +0300)]
0031435: Data Exchange - Problem importing STEP files

- Fix recursion in EntityCluster's methods :
  -  Value
  -  SetValue
  -  Append
- Add destructor in the EntityCluster
- Add check null grade in the STEPCAFControl_GDTProperty::GetDimClassOfTolerance

4 years ago0031499: Boolean Operations - Custom fuzzy value corrupts the result of CUT
emv [Wed, 15 Apr 2020 12:53:36 +0000 (15:53 +0300)]
0031499: Boolean Operations - Custom fuzzy value corrupts the result of CUT

IntPatch_ImpImpIntersection::CyCyNoGeometric - Use the provided 3D tolerance to compare the points.

4 years ago0031207: Regression in Boolean Operations: fuse gives wrong result
emv [Mon, 13 Apr 2020 10:35:32 +0000 (13:35 +0300)]
0031207: Regression in Boolean Operations: fuse gives wrong result

ForceInterfEE, ForceInterfEF - Use normalized vectors for angle computation. Increase the criteria angle.

4 years ago0031496: Modeling Algorithms - BRepAlgo::ConcatenateWireC0() crashes
ifv [Mon, 13 Apr 2020 11:34:12 +0000 (14:34 +0300)]
0031496: Modeling Algorithms - BRepAlgo::ConcatenateWireC0() crashes

BRepAlgo.cxx: fixing of wrong treatment of reversed edges
bug31496: test case added

4 years ago0031470: Modeling Algorithms - Regression: BOP common produces empty result (box...
jgv [Mon, 30 Mar 2020 18:18:47 +0000 (21:18 +0300)]
0031470: Modeling Algorithms - Regression: BOP common produces empty result (box and holed sphere)

Approx_ComputeCLine.gxx : new class field is added to manage hang checking.
ProjLib/ProjLib_ComputeApprox.cxx : unset hang checking for analytical surfaces and curves

4 years ago0031472: Exception raised during translation of the STEP entity Constructive Geometry... IR-2020-04-10
gka [Mon, 30 Mar 2020 13:11:31 +0000 (16:11 +0300)]
0031472: Exception raised during translation of the STEP entity Constructive Geometry Representation containing one representation

Modification number of the representation items are considered for STEP entity "Constructive Geometry Representation"

4 years ago0031490: Foundation Classes, Poly_Connect - speed up temporary allocations
kgv [Wed, 8 Apr 2020 07:22:26 +0000 (10:22 +0300)]
0031490: Foundation Classes, Poly_Connect - speed up temporary allocations

Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
for allocation temporary sequence elements.

StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.

4 years ago0031469: BRepFeat_MakePrism failed
ifv [Fri, 27 Mar 2020 11:45:28 +0000 (14:45 +0300)]
0031469: BRepFeat_MakePrism failed

BRepFeat_Form.cxx: methods IsDeleted, Modified, Generated are corrected
BRepTest_FeatureCommands.cxx: history treatment is added in methods DEFIN and PERF
bugs/modalg_7/bug31469: test case added

4 years ago0031464: BRepOffsetAPI_MakeFilling algorithm increases tolerances of vertices in...
jgv [Tue, 31 Mar 2020 15:18:14 +0000 (18:18 +0300)]
0031464: BRepOffsetAPI_MakeFilling algorithm increases tolerances of vertices in input edges

Modify history in BRepFill_Filling: now vertices are also stored in the map.

4 years ago0031483: Configuration - __asm keyword not supported on ARM within Windows target
kgv [Thu, 2 Apr 2020 12:38:46 +0000 (15:38 +0300)]
0031483: Configuration - __asm keyword not supported on ARM within Windows target

_M_IX86 is now checked before using _asm fot TBB workaround.

4 years ago0031462: Modeling Algorithms - BOP result depends on the arguments order IR-2020-04-04
emv [Mon, 30 Mar 2020 13:33:53 +0000 (16:33 +0300)]
0031462: Modeling Algorithms - BOP result depends on the arguments order

Eliminate numerical instability by ensuring that the tolerance of intersection entities is slightly grater than the actual distance to the shapes creating the entity.

4 years ago0031471: Confuguration, genproj - unable to build OCC Products
kgv [Mon, 30 Mar 2020 14:55:16 +0000 (17:55 +0300)]
0031471: Confuguration, genproj - unable to build OCC Products

Restored parsing of src/VAS/Products.tcl.

4 years ago0031461: Mesh - Add possibility to force the meshing of the shape
emv [Mon, 23 Mar 2020 11:52:01 +0000 (14:52 +0300)]
0031461: Mesh - Add possibility to force the meshing of the shape

BRepMesh: Add new mesh parameter *AllowQualityDecrease* which affects the criteria used for checking of the consistency of the existing mesh to new meshing parameters.
So if set to true it will force the meshing of the shape if current deflection strongly vary from the new one, no matter in which side.

BRepTools::Clean: Keep triangulation on non-geometric shapes (faces with no surface or edges with no curves).

4 years ago0031468: Visualization - add public interface to return embedding a single fallback...
osa [Fri, 27 Mar 2020 13:09:10 +0000 (16:09 +0300)]
0031468: Visualization - add public interface to return embedding a single fallback font

4 years ago0031467: Foundation Classes, OSD_MemInfo - disable reading /proc/%d/status with Emscr... IR-2020-03-27
kgv [Thu, 26 Mar 2020 20:59:02 +0000 (23:59 +0300)]
0031467: Foundation Classes, OSD_MemInfo - disable reading /proc/%d/status with Emscripten

OSD_MemInfo::Update() no more uses procfs with Emscripten.
OSD_MemInfo::MemVirtual counter is now set to WebAssembly module heap length.

4 years ago0031465: Data Exchange, RWObj_Reader - skip duplicating smooth groups
kgv [Thu, 26 Mar 2020 10:48:09 +0000 (13:48 +0300)]
0031465: Data Exchange, RWObj_Reader - skip duplicating smooth groups

RWObj_Reader::pushSmoothGroup() now ignores smooth groups statements pointing to the same group.

4 years ago0031458: Visualization - refine classes across Prs3d and StdPrs packages
kgv [Sat, 14 Mar 2020 10:32:48 +0000 (13:32 +0300)]
0031458: Visualization - refine classes across Prs3d and StdPrs packages

Prs3d::GetDeflection() has been moved to StdPrs_ToolTriangulatedShape::GetDeflection().
Prs3d_ShapeTool has been moved to StdPrs_ShapeTool.
Code collecting free edges on Poly_Triangulation
has been moved out from StdPrs_WFShape to Prs3d::AddFreeEdges().
StdPrs_BndBox has been moved to Prs3d_BndBox.
Geom_Transformation has been replaced by TopLoc_Datum3D within visualization classes.

Select3D_SensitiveCircle constructor now takes gp_Circ instead of Geom_Circle.
StdSelect_ViewerSelector3d has been moved to SelectMgr_ViewerSelector3d.
Methods ::GetPoint3d() and ::ArrayBounds() has been moved
from subclass Select3D_SensitiveCircle to the base class Select3D_SensitiveCurve.
StdSelect_ViewerSelector3d::computeSensitivePrs() has been moved to SelectMgr::ComputeSensitivePrs().

Removed unused declarations StdSelect_Prs, StdSelect_DisplayMode,
StdSelect_SensitivityMode, StdSelect_TypeOfResult, SelectMgr_SOPtr, TColQuantity.

Package Graphic3d has been moved from TKV3d to TKService.

4 years ago0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims
kgv [Sat, 21 Mar 2020 13:31:03 +0000 (16:31 +0300)]
0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims

The following classes and their subclasses within AIS package
have been moved to new package PrsDim and renamed:
- AIS_Relation  -> PrsDim_Relation;
- AIS_Dimension -> PrsDim_Dimension,

4 years ago0031459: Visualization, AIS_TextLabel - add missing getters
mzernova [Thu, 26 Mar 2020 07:03:48 +0000 (10:03 +0300)]
0031459: Visualization, AIS_TextLabel - add missing getters

Add getters for Text, FontName and FontAspect
Remove duplicate properties: Font and FontAspect

4 years ago0031441: UnifySameDomain corrupts the shape
jgv [Sun, 22 Mar 2020 19:39:12 +0000 (22:39 +0300)]
0031441: UnifySameDomain corrupts the shape

Local function TransformPCurves is modified to process correctly same-domain elementary surfaces with different local coordinate systems.

4 years ago0031378: Modeling algorithms - brep incremental mesh is frozen during STEP file loading
oan [Thu, 12 Mar 2020 14:37:09 +0000 (17:37 +0300)]
0031378: Modeling algorithms - brep incremental mesh is frozen during STEP file loading

Refactoring of BRepMesh_Delaun::isBoundToFrontier() to unwind the recursion loop.

4 years ago0031415: Modeling Algorithms - Solid classifier works incorrectly on a cylinder
ifv [Fri, 20 Mar 2020 11:28:02 +0000 (14:28 +0300)]
0031415: Modeling Algorithms - Solid classifier works incorrectly on a cylinder

BRepClass3d_SClassifier.cxx : revert integration for CR29712

Test case added

4 years ago0031454: Visualization - perceptually uniform color scale
abv [Thu, 19 Mar 2020 07:03:40 +0000 (10:03 +0300)]
0031454: Visualization - perceptually uniform color scale

Support of CIE Lab and Lch color spaces is introduced in Quantity_Color:
- Enumeration Quantity_TypeOfColor is extended by new values representing CIE Lab and Lch color spaces (with D65 2 deg illuminant).
- Conversion of RGB color to and from these color spaces is implemented in Quantity_Color class (within existing API).
- Color difference calculation using CIE Delta E 200 formula is implemented in method DeltaE2000().

New methods MakeUniformColors() and SetUniformColors() are added in class AIS_ColorScale, generating and setting color scale based on colors of the same lightness in CIE Lch color model.

DRAW commands vcolorconvert and vcolordiff are added to perform conversions and compute difference, respectively.
A new option -uniform is added in DRAW command vcolorscale, to set uniform color scale.

Added test grid v3d colors (color conversions and difference), test bugs vis bug31454 (uniform color scale)

4 years ago0029803: STEP Import: Units (inch) not applied to entity possessing GEOMETRIC_REPRESE...
gka [Mon, 17 Feb 2020 17:24:59 +0000 (20:24 +0300)]
0029803: STEP Import: Units (inch) not applied to entity possessing GEOMETRIC_REPRESENTATION_CONTEXT

Translation of the entities AXIS2_PLACEMENT_3D including in the entity CONSTRUCTIVE_GEOMETRY_REPRESENTATION_RELATIONSHIP was added.
Entity  AXIS2_PLACEMENT_3D is translated to the planar face with axis equal to AXIS2_PLACEMENT_3D.
New parameter "read.step.constructivegeom.relationship" is added to enable this translation (by default it is OFF).

Added test bugs step bug29803

4 years ago0031460: Modeling Algorithms - Regression: Revolution not done.
ifv [Tue, 24 Mar 2020 07:23:46 +0000 (10:23 +0300)]
0031460: Modeling Algorithms - Regression: Revolution not done.

BRepPrimAPI_MakeRevol.cxx: check of intersection of edge with rotation axis is improved.
Test case added

4 years ago0028880: Modeling Algorithms - add missing BRepFeat_SplitShape::Right() getter
antonavt [Mon, 2 Mar 2020 09:16:14 +0000 (12:16 +0300)]
0028880: Modeling Algorithms - add missing BRepFeat_SplitShape::Right() getter

- Added Right() method to BRepFeat_SplitShape;
- Added an option in command buc60854, which allows to select Left() or Right() method;
- Modified method BUC60854 in QABugs_14.cxx;
- Added new option to the help of command buc60854;
- Modified test case buc60854. Now its state is "OK";
- Added check Right() in buc60854 test case.

4 years ago0031455: Modeling Algorithms - useless pointer casts in BRepAlgoAPI classes
abv [Fri, 20 Mar 2020 20:41:52 +0000 (23:41 +0300)]
0031455: Modeling Algorithms - useless pointer casts in BRepAlgoAPI classes

Useless casts are removed.

Off-topic: corrected description of constructor of TCollection_HAsciiString class from TCollection_HExtendedString for the case when input string contains non-Ascii character.

4 years ago0031301: Data Exchange - Export to STEP corrupts the shape IR-2020-03-20
gka [Thu, 27 Feb 2020 12:26:42 +0000 (15:26 +0300)]
0031301: Data Exchange - Export to STEP corrupts the shape

For small edges fully covered by tolerances of vertices BSpline periodic curves are converted to not periodic BSpline curves by cutting segment before writing.
In the class TopoDSToStep_MakeStepEdge permute of edge vertices for closed curves was added for the case when the range obtained from the vertex projection contradicts the edge range in order to avoid computation of the invalid edge range after reading.

Second test script for bug 0031301

4 years ago0031442: Samples - remove unsupported sample mfc/occtdemo
kgv [Thu, 19 Mar 2020 06:47:09 +0000 (09:47 +0300)]
0031442: Samples - remove unsupported sample mfc/occtdemo

4 years ago0031445: Advanced wrappers, C# wrapper - provide device info in About dialog of WPF...
kgv [Thu, 19 Mar 2020 14:14:48 +0000 (17:14 +0300)]
0031445: Advanced wrappers, C# wrapper - provide device info in About dialog of WPF sample

D3DHost_View::DiagnosticInformation() now appends D3D device information to the map.

4 years ago0031404: Modeling Algorithms - BOP Fuse produces a self-interfering or a good shape...
ifv [Tue, 17 Mar 2020 08:45:30 +0000 (11:45 +0300)]
0031404: Modeling Algorithms - BOP Fuse produces a self-interfering or a good shape depending on the order of arguments

Approx_ComputeCLine.gxx : number of possible cuttings is increased

tests/bugs/modalg_7/bug31404 : test case added

4 years ago0030052: Data Exchange - STEP import missing surfaces IR-2020-03-19
gka [Wed, 26 Feb 2020 13:35:58 +0000 (16:35 +0300)]
0030052: Data Exchange - STEP import missing surfaces

Changes made for #31233 are reverted.

Correction in the ShapeFix_ComposeShell:
 Modification of the method SplitByLine in order to find all points of the intersection for case when initial curve shifts in the positive or negative direction
 to avoid splitting edge when split point lies in the limits of the tolerance of the vertex.
 to correct shift of the pcurves for case when initial shift is more than 1 in the method ShapeFix_ComposeShell::SplitByLine

In the method ShapeFix_Face::FixMissingSeam added removing small edges having length less than working precision and removing wires having area less than working precision

Modified test cases; added test for related issue: bugs step bug31301

4 years ago0031439: Visualization - Access to the active axis of AIS Manipulator
mgn [Wed, 18 Mar 2020 09:30:44 +0000 (12:30 +0300)]
0031439: Visualization - Access to the active axis of AIS Manipulator

A new method that returns the active axis of the manipulator has been added.

4 years ago0031430: Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still...
Roman Lygin [Sat, 14 Mar 2020 10:49:17 +0000 (13:49 +0300)]
0031430: Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still throw exception

In constructor of Geom_RectangularTrimmedSurface, skip check if an offset surface has insufficient continuity. The reason is that this surface has already passed the check once created. So, here we must not apply more strict check than that first time.

4 years ago0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter
kgv [Thu, 12 Mar 2020 21:35:06 +0000 (00:35 +0300)]
0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter

Prs3d_Drawer, AIS_Shape, AIS_InteractiveContext - removed properties HLRDeviationCoefficient() and HLRAngle().
Prs3d_Drawer::HLRAngle() is kept as alias to Prs3d_Drawer::DeviationAngle() with deprecated flag.
Prs3d_Drawer::DeviationAngle() default value is changed from 12 to 20 degrees
to match Prs3d_Drawer::HLRAngle() which has been previously used in majority of cases.
Removed unused property HLRBRep_PolyAlgo::Angle().

4 years ago0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface
kgv [Sat, 14 Mar 2020 17:34:46 +0000 (20:34 +0300)]
0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface

Multiple PrsMgr_PresentableObject::Compute() methods have been replaced by single one
PrsMgr_PresentableObject::computeHLR().
Dummy implementations of previously declared methods have been removed
from AIS classes not implementng HLR presentation.
Class Prs3d_Projector has been removed and Graphic3d_Camera is now passed directly,
so that redundant dependency from HLRAlgo_Projector in Prs3d interfaces has been eliminated.
StdPrs_HLRShape and StdPrs_HLRPolyShape now implement common interface StdPrs_HLRShapeI.