occt.git
2 years ago0032406: Configuration, CMake - DRAWEXE build fails on Linux with static libraries
kgv [Mon, 31 May 2021 13:05:43 +0000 (16:05 +0300)]
0032406: Configuration, CMake - DRAWEXE build fails on Linux with static libraries

Add missing CSF_dl, CSF_TclTkLibs to DRAWEXE dependencies (static build).

2 years ago0032279: Draw Harness - protect incmesh from hanging on syntax error IR-2021-05-28
mkrylova [Tue, 18 May 2021 10:51:22 +0000 (13:51 +0300)]
0032279: Draw Harness - protect incmesh from hanging on syntax error

- improved incmesh to raise exception on invalid input parameters
- added possibility to operate multiple objects
- added checking for too small values in BrepMesh algorithm

2 years ago0032399: Configuration - correct search of VTK bin path by genconf
osa [Thu, 27 May 2021 15:15:36 +0000 (18:15 +0300)]
0032399: Configuration - correct search of VTK bin path by genconf

2 years ago0032385: Coding - New msvc10 warnings after integration fix for 32338
osa [Mon, 24 May 2021 06:59:39 +0000 (09:59 +0300)]
0032385: Coding - New msvc10 warnings after integration fix for 32338

2 years ago0026365: Optimization of work of OSD_Parallel class members for GeomLib_CheckCurveOnS...
kgv [Thu, 10 Jan 2019 13:35:25 +0000 (16:35 +0300)]
0026365: Optimization of work of OSD_Parallel class members for GeomLib_CheckCurveOnSurface

Removed workaround within GeomLib_CheckCurveOnSurface.

2 years ago0032261: Mesh - some trivial improvements for mesher
Dzmitry Razmyslovich [Wed, 26 May 2021 14:03:42 +0000 (17:03 +0300)]
0032261: Mesh - some trivial improvements for mesher

BRepMesh_Delaun::decomposeSimplePolygon(): minor change to improve code readability;
Correct test case

2 years ago0032261: Mesh - some trivial improvements for mesher
Dzmitry Razmyslovich [Tue, 13 Apr 2021 05:58:53 +0000 (07:58 +0200)]
0032261: Mesh - some trivial improvements for mesher

BRepMesh_ModelHealer::amplifyEdges use a single instance of EdgeAmplifier

2 years ago0032261: Mesh - some trivial improvements for mesher
Dzmitry Razmyslovich [Mon, 29 Mar 2021 11:54:42 +0000 (13:54 +0200)]
0032261: Mesh - some trivial improvements for mesher

BRepMesh_GeomTool::IntSegSeg misses one case, when the result is Glued

2 years ago0032388: Visualization - provide ray-picking interface with zero tolerance for rectan...
osa [Tue, 25 May 2021 14:57:48 +0000 (17:57 +0300)]
0032388: Visualization - provide ray-picking interface with zero tolerance for rectangular frustum

2 years ago0032387: Visualization - use interface of ray-picking for selection/highlighting...
osa [Mon, 24 May 2021 12:27:33 +0000 (15:27 +0300)]
0032387: Visualization - use interface of ray-picking for selection/highlighting for XR pose

Fixed regression of SelectMgr_ViewerSelector::SetPixelTolerance(). Removed redundant myToUpdateTolerance flag.

SelectMgr_AxisIntersector::raySegmentDistance() - fixed usage of SquareModulus() instead of Modulus().
SelectMgr_ViewerSelector::TraverseSensitives() now skips both BVHSubset_2dPersistent and BVHSubset_3dPersistent relying on Camera.

AIS_ViewController::handleXRMoveTo() now uses interface for picking by Axis explicitly
instead of emulating axis by point picking.

2 years ago0032337: Visualization - rename Overlaps() method in selection to more self-describab...
mkrylova [Wed, 12 May 2021 13:39:17 +0000 (16:39 +0300)]
0032337: Visualization - rename Overlaps() method in selection to more self-describable names

- renamed Overlaps and hasOverlap overloaded methods to self-describable names

2 years ago0032391: Draw Harness - missing syntax validation within vseldump
kgv [Mon, 24 May 2021 21:08:05 +0000 (00:08 +0300)]
0032391: Draw Harness - missing syntax validation within vseldump

SelectMgr_SelectionImageFiller, SurfaceNormalFiller - pick results from SelectMgr_SortCriterion
instead of calling redundant Matches().
vseldump - added missing syntax error output on incorrect -type parameter.

2 years ago0031920: Application Framework - speed up methods of getting label by entry and vice... IR-2021-05-21
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

2 years ago0032196: Modeling Algorithms - Invalid section curve
jgv [Thu, 20 May 2021 22:54:07 +0000 (01:54 +0300)]
0032196: Modeling Algorithms - Invalid section curve

Modify the method IntWalk_IWalking::ComputeCloseLine: add condition for check of update of variable containing current solution

2 years ago0032338: Visualization - provide straightforward interface for ray-picking
osa [Tue, 18 May 2021 07:07:59 +0000 (10:07 +0300)]
0032338: Visualization - provide straightforward interface for ray-picking

2 years ago0032365: Visualization - refactoring of viewer selector
osa [Thu, 13 May 2021 15:52:39 +0000 (18:52 +0300)]
0032365: Visualization - refactoring of viewer selector

Add SelectMgr_BaseIntersector class as base intersector that can have any geometry not only frustum.
Remove cached static array of selecting volumes from selecting volume manager. Keep only one the latest active selection volume.
Change initialization interface of active volume frustum inside of selecting volume manager: Init*SelectingVolume(), set required parameters, BuildSelectingVolume(). Mark existing BuildSelectingVolume() methods as deprecated.
Use SelectMgr_SelectionType instead of SelectBasics_SelectingVolumeManager::SelectionType (the last one is marked as deprecated).
Add interface GetViewRayDirection() to selecting volume manager to get view ray direction (instead of computation it as vector from near to far point).
Add interface IsScalableActiveVolume() to selecting volume manager to check possibility of scaling of current active selecting volume.

2 years ago0032340: OCCT Documentation - highlight C++ code snippets
btokarev [Tue, 18 May 2021 10:09:50 +0000 (13:09 +0300)]
0032340: OCCT Documentation - highlight C++ code snippets

Added {.cpp} highlighting markers to the C++ code blocks in documentation;
Excessive tildes "~~~~~~~" in code block borders are reduced to required minimum of "~~~~" (4);
Removed obsolete space bars after code block borders;
TCL code blocks are now highlighted with {.php} markers;
Removed excessive {.cpp} highlighting markers appended to non-code blocks such as lists, reports and file content or structure examples;
Minor fixes for tests.md and draw_test_harness.md (whitespace removal and structural fix for "Where:" in code examples);
Minimum HDD space for OCCT updated in introduction.md.

2 years ago0032353: Modeling Data - Missing definition of ProjLib_ProjectOnSurface::Load()
kgv [Tue, 11 May 2021 07:20:42 +0000 (10:20 +0300)]
0032353: Modeling Data - Missing definition of ProjLib_ProjectOnSurface::Load()

2 years ago0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 3
kgv [Mon, 3 May 2021 18:00:18 +0000 (21:00 +0300)]
0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 3

Use typed collections instead Handle(Standard_Transient) values.

2 years ago0032366: Visualization, SelectMgr_ViewerSelector3d::ToPixMap() - add option dumping...
mkrylova [Fri, 14 May 2021 09:58:43 +0000 (12:58 +0300)]
0032366: Visualization, SelectMgr_ViewerSelector3d::ToPixMap() - add option dumping surface normals

- extended functionality to dump surface normals
- added new option to vseldump command
- added tests

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 functionality from XDEDRAW into a static public method of XCAFDoc 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.

2 years ago0032326: Tests - duplicated bottle.brep reference in test data IR-2021-05-14
bugmaster [Sat, 15 May 2021 09:47:44 +0000 (12:47 +0300)]
0032326: Tests - duplicated bottle.brep reference in test data

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 ago0032291: Modeling Algorithms - General Fuse produces wrong number of solids
jgv [Sat, 8 May 2021 16:29:46 +0000 (19:29 +0300)]
0032291: Modeling Algorithms - General Fuse produces wrong number of solids

Modify method IntWalk_IWalking::ComputeCloseLine: add new flag "isOnDegeneratedBorder" to reach the border successfully.

2 years ago0032372: Configuration, qmake - define -Wall -Wextra flags for consistency with CMake...
kgv [Fri, 14 May 2021 12:31:08 +0000 (15:31 +0300)]
0032372: Configuration, qmake - define -Wall -Wextra flags for consistency with CMake options

2 years ago0031147: Modeling Algorithms - BRepOffsetAPI_MakePipeShell null access
akaftasev [Thu, 29 Apr 2021 10:40:58 +0000 (13:40 +0300)]
0031147: Modeling Algorithms - BRepOffsetAPI_MakePipeShell null access

Added to Draw command 'setsweep ' posibility to change degmax and segmax parameter manually by '-SM' and '-DM' options
Added test
Added new condition to prevent crash

2 years ago0029645: Hang on making pipe shell using BRepOffsetAPI_MakePipeShell
akaftasev [Tue, 4 May 2021 10:28:25 +0000 (13:28 +0300)]
0029645: Hang on making pipe shell using BRepOffsetAPI_MakePipeShell

Added new boolean parameter to GeomLib::FuseIntervals() to select method of defining an element with close values

2 years ago0032357: Coding Rules - eliminate GCC11 compiler warnings -Wignored-qualifiers
kgv [Tue, 11 May 2021 16:56:36 +0000 (19:56 +0300)]
0032357: Coding Rules - eliminate GCC11 compiler warnings -Wignored-qualifiers

2 years ago0032351: Visualization, PrsDim_LengthDimension - add NULL checks for handling non...
kgv [Mon, 10 May 2021 06:05:11 +0000 (09:05 +0300)]
0032351: Visualization, PrsDim_LengthDimension - add NULL checks for handling non-Line curves

Added several missing NULL-checks.
Reduced restrictions on building Edge-Edge and Edge-Vertex length dimension.
Added empty constructor for more straightforward initialization from vdimension command.

2 years ago0032349: Visualization, TKOpenGl - move base buffer interface out from OpenGl_VertexB...
kgv [Thu, 6 May 2021 17:03:24 +0000 (20:03 +0300)]
0032349: Visualization, TKOpenGl - move base buffer interface out from OpenGl_VertexBuffer class to OpenGl_Buffer

OpenGl_Buffer - added new class as a base for OpenGl_VertexBuffer, OpenGl_IndexBuffer, OpenGl_TextureBuffer.
OpenGl_TextureBufferArb has been renamed to OpenGl_TextureBuffer.
OpenGl_FrameBuffer - added initializers taking vec2i instead of (int,int) for dimensions.

2 years ago0032332: Modeling Algorithms - Incorrect result of ShapeUpgrade_UnifySameDomain
jgv [Wed, 28 Apr 2021 19:54:03 +0000 (22:54 +0300)]
0032332: Modeling Algorithms - Incorrect result of ShapeUpgrade_UnifySameDomain

Method UnionPCurves of ShapeUpgrade_UnifySameDomain is modified: check of the range of new pcurves is added: if the range differs from the 3D-curve's one, the pcurves are being recomputed by projection.

2 years ago0032270: Configuration - Removing VS 2008 from maintenance
kgv [Mon, 10 May 2021 12:14:29 +0000 (15:14 +0300)]
0032270: Configuration - Removing VS 2008 from maintenance

Documentation - updated list of supported platforms.

2 years ago0031939: Coding - correction of spelling errors in comments [part 12]
luz paz [Tue, 4 May 2021 13:03:06 +0000 (16:03 +0300)]
0031939: Coding - correction of spelling errors in comments [part 12]

Fix various typos via codespell.

2 years ago0031939: Coding - correction of spelling errors in comments [part 11]
luz paz [Tue, 4 May 2021 10:56:47 +0000 (13:56 +0300)]
0031939: Coding - correction of spelling errors in comments [part 11]

Fix various typos via codespell.

2 years ago0032191: Tests - merge duplicated tests/v3d selection cases IR-2021-04-30
mkrylova [Tue, 27 Apr 2021 10:10:13 +0000 (13:10 +0300)]
0032191: Tests - merge duplicated tests/v3d selection cases

- merged duplicated tests vselect cases

2 years ago0032331: Visualization - Exception when trying to display some surfaces using iVtk...
anv [Tue, 27 Apr 2021 18:33:54 +0000 (21:33 +0300)]
0032331: Visualization - Exception when trying to display some surfaces using iVtk with VTK 9

Updated memory allocation for vtkPolyData to use more suited method for VTK versions after 9.0

2 years ago0032342: Draw Harness - preload basic Tcl scripts into WebAssembly
kgv [Thu, 29 Apr 2021 19:13:20 +0000 (22:13 +0300)]
0032342: Draw Harness - preload basic Tcl scripts into WebAssembly

DrawResources Tcl scripts and $tcl_library (init.tcl) are now preloaded into WebAssembly emulated filesystem for DRAWEXE.wasm.
DRAWEXE now mimics "pload" command for statically linked plugins.

2 years ago0032341: Coding Rules - eliminate GCC11 compiler warnings -Wmaybe-uninitialized
kgv [Thu, 29 Apr 2021 18:01:17 +0000 (21:01 +0300)]
0032341: Coding Rules - eliminate GCC11 compiler warnings -Wmaybe-uninitialized

2 years ago0032314: Data Exchange - Reading corrupted STEP files crashes
dpasukhi [Wed, 28 Apr 2021 08:53:40 +0000 (11:53 +0300)]
0032314: Data Exchange - Reading corrupted STEP files crashes

RWAxis2Placement3d:
 fixed problem with reading parameters ( if sub-entity invalid, set has-parameter to false )

2 years ago0032088: Modeling Algorithms - Empty result of offset operation in mode "Complete...
emv [Wed, 27 Jan 2021 13:24:11 +0000 (16:24 +0300)]
0032088: Modeling Algorithms - Empty result of offset operation in mode "Complete" join type "Intersection"

Mark inverted edges located inside loops of invalid edges as invalid as well.

2 years ago0031949: JT Import - some colors are lost while reading XT representation from JT...
dpasukhi [Mon, 21 Dec 2020 10:52:11 +0000 (13:52 +0300)]
0031949: JT Import - some colors are lost while reading XT representation from JT file

Added checking to style of faces from SHELL and edges from WIRE
RWMesh_CafReader::fillDocument() is virtual now

2 years ago0032334: Visualization - SelectMgr_RectangularFrustum::Overlaps() does not set triang...
kgv [Tue, 27 Apr 2021 09:31:23 +0000 (12:31 +0300)]
0032334: Visualization - SelectMgr_RectangularFrustum::Overlaps() does not set triangle normal in some cases

Added missing SelectBasics_PickResult::SetSurfaceNormal().

2 years ago0032323: Configuration - drop unused dependency from Xmu
kgv [Fri, 23 Apr 2021 10:02:08 +0000 (13:02 +0300)]
0032323: Configuration - drop unused dependency from Xmu

Removed unused header Aspect_XWD.hxx.
Removed redundant includes of unused X11 extension headers.
Added missing dependency on pthread to TKDraw.

Added "-z defs" linker flag to qmake projects to detect missing library dependencies.
Removed unused CSF_MotifLibs.

2 years ago0032319: Foundation Classes, OSD_MemInfo - use mallinfo2() instead of deprecated...
kgv [Thu, 22 Apr 2021 17:42:47 +0000 (20:42 +0300)]
0032319: Foundation Classes, OSD_MemInfo - use mallinfo2() instead of deprecated mallinfo()

2 years ago0032320: Documentation - mention rapidjson-dev and qtcreator within Debian packages IR-2021-04-23
kgv [Thu, 22 Apr 2021 17:57:38 +0000 (20:57 +0300)]
0032320: Documentation - mention rapidjson-dev and qtcreator within Debian packages

2 years ago0032315: Configuration, CMake - fix building Draw Harness plugins as static libraries
kgv [Fri, 19 Mar 2021 21:31:01 +0000 (00:31 +0300)]
0032315: Configuration, CMake - fix building Draw Harness plugins as static libraries

DPLUGIN() macros no more defines exported function PLUGINFACTORY when building static libraries.
DRAWEXE executable now pre-loads a set of plugins when building static libraries.
dversion - added WebAssembly info.

2 years ago0032311: Documentation - Removing obsolete tag COLS_IN_ALPHA_INDEX
bugmaster [Wed, 21 Apr 2021 11:31:50 +0000 (14:31 +0300)]
0032311: Documentation - Removing obsolete tag COLS_IN_ALPHA_INDEX

2 years ago0032313: Modeling Algorithms - Missing definition of constructor in GeomFill_NSections
kgv [Wed, 21 Apr 2021 11:17:30 +0000 (14:17 +0300)]
0032313: Modeling Algorithms - Missing definition of constructor in GeomFill_NSections

2 years ago0032307: Modeling Algorithms - Empty result of offset operation in mode "Complete...
emv [Fri, 16 Apr 2021 12:21:32 +0000 (15:21 +0300)]
0032307: Modeling Algorithms - Empty result of offset operation in mode "Complete" Joint type "Intersection"

Make sure the vertices created by pairwise intersection of edges connected in the same vertex are unified correctly.

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

2 years ago0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 2
kgv [Sat, 17 Apr 2021 19:32:17 +0000 (22:32 +0300)]
0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 2

Applied name conventions and dropped tabulation symbols.

2 years ago0031939: Coding - correction of spelling errors in comments [part 10]
luz paz [Mon, 19 Apr 2021 08:42:46 +0000 (11:42 +0300)]
0031939: Coding - correction of spelling errors in comments [part 10]

Fix various typos via codespell.

2 years ago0032308: Configuration - make Xlib dependency optional
kgv [Fri, 16 Apr 2021 13:12:16 +0000 (16:12 +0300)]
0032308: Configuration - make Xlib dependency optional

MACOSX_USE_GLX has been renamed to HAVE_XLIB and now configurable on Linux target.

Xw_Window.hxx now export class on non-Linux platforms.
OpenGl_Window now creates an off-screen EGL surface also in case of
window-less desktop setup (e.g. with disabled Xlib on Linux).

Draw_Window - code has been cleaned up.
Class definition has been unified across platforms when possible.
Unusued constructors have been removed.
Internal header files (MainWindow.h, init.h, etc.) have been renamed to .pxx
to avoid their unexpected distribution in "inc".

3 years ago0032306: Draw Harness, ViewerTest - move window message processing to TKService
kgv [Fri, 16 Apr 2021 10:01:17 +0000 (13:01 +0300)]
0032306: Draw Harness, ViewerTest - move window message processing to TKService

Aspect_WindowInputListener - basic mouse/keyboard/expose input methods
have been moved out from AIS_ViewController to dedicated base interface.

Added WNT_Window::ProcessMessage()/Xw_Window::ProcessMessage() methods
redirecting Win32/X11 message to Aspect_WindowInputListener.

3 years ago0031984: Modeling Algorithms - Sweep crashes if Bi-normal is given IR-2021-04-16
jgv [Tue, 13 Apr 2021 13:03:21 +0000 (16:03 +0300)]
0031984: Modeling Algorithms - Sweep crashes if Bi-normal is given

Small modification in BRepFill_Sweep: to avoid exception, return status NotDone if construction of pipe surface fails.

3 years ago0032213: Modeling Algorithms - Invalid result of UnifySameDomain
jgv [Thu, 8 Apr 2021 00:49:14 +0000 (03:49 +0300)]
0032213: Modeling Algorithms - Invalid result of UnifySameDomain

Modify unification of faces: add splitting new wire into several ones.

3 years ago0032301: Visualization, TKOpenGl - depth peeling is broken with OpenGl_Caps::buffersO...
kgv [Thu, 15 Apr 2021 12:34:52 +0000 (15:34 +0300)]
0032301: Visualization, TKOpenGl - depth peeling is broken with OpenGl_Caps::buffersOpaqueAlpha option

OpenGl_LayerList::renderTransparent() - color mask is now set to write into Alpha channel of depth peeling FBOs.
OpenGl_View::blitBuffers() - avoid using undefined color for glClear(GL_COLOR_BUFFER_BIT) operation.

3 years ago0032304: Configuration - genproj should not override env.bat in OCC Products
kgv [Thu, 15 Apr 2021 13:05:01 +0000 (16:05 +0300)]
0032304: Configuration - genproj should not override env.bat in OCC Products

3 years ago0032302: Visualization, TKOpenGles - do not use window buffer by default
kgv [Thu, 15 Apr 2021 08:27:38 +0000 (11:27 +0300)]
0032302: Visualization, TKOpenGles - do not use window buffer by default

OpenGl_Caps::useSystemBuffer is now set to FALSE on both OpenGL and OpenGL ES.
OpenGl_Caps::buffersNoSwap and OpenGl_Caps::buffersOpaqueAlpha are now set to TRUE by default on WebGL.

3 years ago0032232: Draw Harness - make Tk dependency optional
kgv [Sat, 20 Mar 2021 10:10:49 +0000 (13:10 +0300)]
0032232: Draw Harness - make Tk dependency optional

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

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

3 years ago0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 1
kgv [Sat, 10 Apr 2021 07:21:33 +0000 (10:21 +0300)]
0032292: Coding Rules - improve HLRBRep_PolyAlgo readability part 1

HLRBRep_PolyAlgo::StoreShell() - removed a couple of redundant variables (pointers to handles) and extra iterators.
Added a couple of missing NULL checks (HLRBRep_PolyAlgo::Normal() now skips CSLib::Normal() in case of no surface).

3 years ago0032297: Coding Rules - merge GCPnts_UniformAbscissa.pxx into GCPnts_UniformAbscissa.cxx
kgv [Sat, 10 Apr 2021 14:44:18 +0000 (17:44 +0300)]
0032297: Coding Rules - merge GCPnts_UniformAbscissa.pxx into GCPnts_UniformAbscissa.cxx

3 years ago0032296: Coding Rules - merge GCPnts_QuasiUniformDeflection.pxx into GCPnts_QuasiUnif...
kgv [Sat, 10 Apr 2021 13:45:59 +0000 (16:45 +0300)]
0032296: Coding Rules - merge GCPnts_QuasiUniformDeflection.pxx into GCPnts_QuasiUniformDeflection.cxx

3 years ago0032295: Coding Rules - merge GCPnts_AbscissaPoint.pxx into GCPnts_AbscissaPoint.cxx
kgv [Sat, 10 Apr 2021 12:36:47 +0000 (15:36 +0300)]
0032295: Coding Rules - merge GCPnts_AbscissaPoint.pxx into GCPnts_AbscissaPoint.cxx

3 years ago0032294: Coding Rules - merge GCPnts_QuasiUniformAbscissa.pxx into GCPnts_QuasiUnifor...
kgv [Sat, 10 Apr 2021 08:55:28 +0000 (11:55 +0300)]
0032294: Coding Rules - merge GCPnts_QuasiUniformAbscissa.pxx into GCPnts_QuasiUniformAbscissa.cxx

3 years ago0032293: Coding Rules - merge GCPnts_UniformDeflection.pxx into GCPnts_UniformDeflect...
kgv [Sat, 10 Apr 2021 08:13:14 +0000 (11:13 +0300)]
0032293: Coding Rules - merge GCPnts_UniformDeflection.pxx into GCPnts_UniformDeflection.cxx

3 years ago0032289: Visualization - add NCollection_Mat3 for 3x3 matrix similar to NCollection_Mat4 IR-2021-04-09
kgv [Fri, 9 Apr 2021 09:16:55 +0000 (12:16 +0300)]
0032289: Visualization - add NCollection_Mat3 for 3x3 matrix similar to NCollection_Mat4

Introduced NCollection_Mat3 class similar to NCollection_Mat4.
Added NCollection_Mat4::operator() alias to NCollection_Mat4::Value().
Added NCollection_Mat4::Negated(), ::Subtracted(), ::Added(), ::Divided() operations.
Added a note to NCollection_Mat4::GetData() that matrix values are stored in column-major order.
Removed duplicated operator== operators from NCollection_Mat4/NCollection_Vec4/NCollection_Vec3/NCollection_Vec2 classes.

Removed obsolete and no more used matrix state fields from OpenGl_Workspace.
Removed obsoiete structure OpenGl_Matrix (replaced by OpenGl_Mat4).
OpenGl_ShaderProgram - duplicated methods have been replaced by templates.

3 years ago0032285: Coding Rules - get rid of generic methods in GCPnts_TangentialDeflection
kgv [Tue, 6 Apr 2021 12:16:22 +0000 (15:16 +0300)]
0032285: Coding Rules - get rid of generic methods in GCPnts_TangentialDeflection

3 years ago0032274: Tests - unstable snapshots from test case v3d/bugs/bug24785
kgv [Wed, 7 Apr 2021 11:29:58 +0000 (14:29 +0300)]
0032274: Tests - unstable snapshots from test case v3d/bugs/bug24785

Test case has been adjusted to reproduce scenario it was supposed to check.

3 years ago0032106: Modeling Algorithms - Tolerance of General Fuse result depends on a sequence...
ifv [Thu, 1 Apr 2021 08:10:00 +0000 (11:10 +0300)]
0032106: Modeling Algorithms - Tolerance of General Fuse result depends on a sequence of arguments

BOPTools_AlgoTools2D::MakePCurveOnFace(...): extension of surface for projection with large tolerance is added.

test/bugs/modalg_7/bug32106 : new test case added

3 years ago0031087: Configuration - make FreeType dependency optional
kgv [Tue, 6 Apr 2021 19:25:38 +0000 (22:25 +0300)]
0031087: Configuration - make FreeType dependency optional

Added option USE_FREETYPE to CMake configuration, enabled by default.
Added handling of HAVE_FREETYPE macros.

genproj now overrides env.bat/env.sh on template change.

3 years ago0032264: Data Exchange - STEP exporter generates bad geometry [REGRESSION since 7... IR-2021-04-02
gka [Wed, 31 Mar 2021 08:43:16 +0000 (11:43 +0300)]
0032264: Data Exchange - STEP exporter generates bad geometry [REGRESSION since 7.4.0]

Location of edge is applied to geom curve before analysis of vertices projections

3 years ago0032276: Coding Rules - replace IntTools_CArray1OfReal by NCollection_Array1
kgv [Fri, 2 Apr 2021 09:35:23 +0000 (12:35 +0300)]
0032276: Coding Rules - replace IntTools_CArray1OfReal by NCollection_Array1

IntTools_CArray1OfReal has been replaced by TColStd_Array1OfReal.
IntTools_CArray1OfInteger has been removed (unused).

3 years ago0031939: Coding - correction of spelling errors in comments [part 9]
luz paz [Thu, 1 Apr 2021 17:18:10 +0000 (20:18 +0300)]
0031939: Coding - correction of spelling errors in comments [part 9]

Fix various typos via codespell.

3 years ago0031190: Modeling Algorithms - progress indication in GeomPlate is inconsistent
akaftasev [Mon, 29 Mar 2021 16:15:54 +0000 (19:15 +0300)]
0031190: Modeling Algorithms - progress indication in GeomPlate is inconsistent

Added ability to display progress indicator in plate commands
Added tests

3 years ago0032174: Data Exchange - read.step.root.transformation parameter has reversed definition
kgv [Thu, 25 Feb 2021 19:44:31 +0000 (22:44 +0300)]
0032174: Data Exchange - read.step.root.transformation parameter has reversed definition

Parameter definition has been corrected to match other Boolean parameters to map 0=OFF and 1=ON.

3 years ago0025845: VIS - Surface normals to be associated with polygonal source
kgv [Tue, 30 Mar 2021 18:26:45 +0000 (21:26 +0300)]
0025845: VIS - Surface normals to be associated with polygonal source

IVtk_IShapeData::InsertCoordinate() has been replaced by IVtk_IShapeData::InsertPoint()
defining vertex position with surface normal.
IVtkVTK_ShapeData now allocates normals array within vtkPolyData.
IVtkOCC_ShapeMesher now fills in vertex positions with surfcae normals.
IVtkTools_SubPolyDataFilter has been corrected to optionally copy normals.

ivtksetboundingdraw command has been merged into "ivtksetdispmode -faceBoundaryDraw".

3 years ago0032269: Visualization - update trinfo command with -lods option
osa [Tue, 30 Mar 2021 12:49:57 +0000 (15:49 +0300)]
0032269: Visualization - update trinfo command with -lods option

3 years ago0032262: Samples - JNIViewer sample compilation failure due to usage of removed alias...
kgv [Mon, 29 Mar 2021 14:56:06 +0000 (17:56 +0300)]
0032262: Samples - JNIViewer sample compilation failure due to usage of removed aliases to Image_Format

3 years ago0032251: Documentation, gendoc.tcl - reference manual excludes TKIVtk and other optio...
kgv [Sat, 27 Mar 2021 12:48:37 +0000 (15:48 +0300)]
0032251: Documentation, gendoc.tcl - reference manual excludes TKIVtk and other optional modules

gendoc.tcl -refman now temporarily sets HAVE_ environment variables for including optional modules.

3 years ago0032250: Documentation - pseudographics within gp_Trsf description is not properly...
kgv [Sat, 27 Mar 2021 11:45:06 +0000 (14:45 +0300)]
0032250: Documentation - pseudographics within gp_Trsf description is not properly escaped

Added @code tags to documentation of several classes in the package gp.

3 years ago0032248: Visualization - load "false" deferred glTF data immediately
osa [Fri, 26 Mar 2021 12:02:41 +0000 (15:02 +0300)]
0032248: Visualization - load "false" deferred glTF data immediately

3 years ago0032247: VIS, IVtkOCC_ShapeMesher - allow disabling auto-triangulation behavior
kgv [Fri, 26 Mar 2021 09:37:10 +0000 (12:37 +0300)]
0032247: VIS, IVtkOCC_ShapeMesher - allow disabling auto-triangulation behavior

IVtkOCC_Shape now stores Prs3d_Drawer object used by IVtkOCC_ShapeMesher and IVtkOCC_SelectableObject.
IVtkOCC_ShapeMesher::internalBuild() made more consistent to AIS_Shape::Compute() in cleaning/triangulating shape.

Added command ivtkdefaults similar to vdefaults managing triangulation default parameters.

3 years ago0032242: Configuration, CMake - USE_GLES2 option does not appear in interactive confi... IR-2021-03-26
kgv [Tue, 23 Mar 2021 21:26:16 +0000 (00:26 +0300)]
0032242: Configuration, CMake - USE_GLES2 option does not appear in interactive configurator

USE_D3D, USE_OPENGL and USE_GLES2 options declarations have been reordered.

3 years ago0032225: Modeling Data - Wrong result of extrema curve-surface
ifv [Thu, 18 Mar 2021 14:07:37 +0000 (17:07 +0300)]
0032225: Modeling Data - Wrong result of extrema curve-surface

Extrema_GenExtCS.cxx: subdivision on intervals for periodic c curves is added

Extrema_FuncExtCS.hxx: access to fields mySqDist, myPoint1, myPoint2 is added

bug32225: new test case is added

3 years ago0028196: Modeling Data - Algorithm 'Extrema_GenLocateExtPS' failed to find the extrem...
ifv [Thu, 17 Dec 2020 14:41:59 +0000 (17:41 +0300)]
0028196: Modeling Data - Algorithm 'Extrema_GenLocateExtPS' failed to find the extremum in a case

Extrema_GenLocateExtPS.cxx, Extrema_GenLocateExtPS.hxx:

Adjusting tolerances according to surface sizes is added.
Additional methods for searching solution are added for cases if basic method fails.

Extrema_FuncPSDist.cxx - small bug fixing.

BRepFill_TrimShellCorner.cxx - fixing regression

ChFi3d_Builder_CnCrn.cxx setting parameters for Plate algorithm to improve stability of solution

ProjLib_ComputeApproxOnPolarSurface.cxx - code optimization

Some test cases are modified according to current state of Extrema algorithm

3 years ago0032234: Configuration, OSD_Process::UserName() - avoid using getpwuid() unimplemente...
kgv [Sun, 21 Mar 2021 20:26:56 +0000 (23:26 +0300)]
0032234: Configuration, OSD_Process::UserName() - avoid using getpwuid() unimplemented by Emscripten SDK

3 years ago0032246: Tests, Visualization - unstable test case bugs/vis/bug79 reporting memory...
kgv [Thu, 25 Mar 2021 12:26:37 +0000 (15:26 +0300)]
0032246: Tests, Visualization - unstable test case bugs/vis/bug79 reporting memory leak

Test case has been adjusted to check memory trend after the loop.

3 years ago0032086: Visualization - support deferred data loading
osa [Fri, 26 Feb 2021 15:01:11 +0000 (18:01 +0300)]
0032086: Visualization - support deferred data loading

1) Extend Poly_Triangulation by mesh purpose, possibility to be cleared and late-load deferred data interfaces.
2) Update BRep_TFace to store list of triangulations istead of single one. And also active one. Update getter and setter of single triangulation and add new methods to interaction with whole triangulations list.
3) Update BRep_Tool to get single triangulation of face according to the input mesh purpose or whole triangulations list.
4) Update BRep_Builder to make face by not only single triangulation but whole triangulations list with specified active one.
5) Add new methods to BRepTools to interact with shape triangulations (Load/Unload/Activate/LoadAll/UnloadAllTriangulation(s))
6) Add new 'tlateload'command for shape to load/unload/activate triangulations.
7) Update 'trinfo' command by '-lods' options to print detailaed information about LODs of this shape
8) Support empty triangulations by selection. Use bounding box selection in this case.
9) Add new 'outdisplist' option to XDispaly command to print list of displayed objects to output variable but not to theDI
10) Add new '-noecho' option to vdisplay command to skip printing of displayed objects to theDI
11) Create new RWMesh_TriangulationSource as mesh data wrapper for delayed triangulation loading.
12) Create new RWMesh_TriangulationReader as base interface for reading primitive array from the buffer.
13) Cache nodes/triangles number defined in glTF file
14) Use RWMesh_TriangulationSource class as base of RWGltf_GltfLatePrimitiveArray one and RWMesh_TriangulationReader class as base of RWGltf_TriangulationReader one
15) Add possibilty to support of LODs by glTF reader. It is possible to skip data loading and load them later
16) Add new '-skiplateloading' (to skip triangulation loading), '-keeplate' (to keep information about deferred storage to load/unload triangulation later),
'-toprintdebuginfo' (to print additional debug information) options to ReadGltf command
17) Add new test of glTF late loading

3 years ago0032243: Tests - unexpected file artifact s.stl at the root of repository
kgv [Wed, 24 Mar 2021 07:52:51 +0000 (10:52 +0300)]
0032243: Tests - unexpected file artifact s.stl at the root of repository

Several test cases have been corrected to avoid creation
of temporary files s.stl, comp_nonmanifold.step, bug31301_1.stp at unexpected location.

3 years ago0032208: Tests - refactor visualization tests to cover several graphic drivers
kgv [Mon, 22 Mar 2021 09:29:04 +0000 (12:29 +0300)]
0032208: Tests - refactor visualization tests to cover several graphic drivers

Removed testgrids 'bugs/vis' and '3rdparty'; tests have been redistributed across other grids.
Moved testgrid 'v3d/ivtk' into dedicated 'vtk/ivtk'.

Added testgrid 'vselect' dedicated to 3D viewer picking/selection functionality
and filled with tests from 'v3d/vertex', 'v3d/face' and similar groups.

Added testgrid 'opengl' dedicated to OpenGL driver low-level functionality (GLSL programs and similar)
and filled with tests from 'v3d/glsl', 'v3d/raytrace', '3rdparty/fonts', 'bugs/vis' (portion) and similar.

Added testgrid 'opengles3' dedicated to OpenGL ES 3.0 driver low-level functionality
and reusing tests from 'opengl' testgrid.
Subgroup 'opengles3/raytrace' is disabled on Windows, as Ray-Tracing currently requires OpenGL ES 3.2.
while ANGLE library implements only OpenGL ES 3.0.

Added testgrid 'opengles2' dedicated to OpenGL ES 2.0 driver low-level functionality
and reusing a limited subset of passing tests from 'opengl' testgrid.
Currently testgrid is activated only on Windows platform when using ANGLE library
(properietary OpenGL ES drivers do not allow creation of restricted 2.0 context).

Test cases have been cleaned out to put bug description into log,
to properly load necessary plugins and to explicitly dump viewer.

3 years ago0032237: Visualization, TKOpenGl - fix Gouraud shading within perspective camera...
kgv [Mon, 22 Mar 2021 14:57:30 +0000 (17:57 +0300)]
0032237: Visualization, TKOpenGl - fix Gouraud shading within perspective camera projection

3 years ago0032222: Visualization, V3d_Viewer - use Graphic3d_TOSM_FRAGMENT by default instead...
kgv [Mon, 22 Mar 2021 17:32:02 +0000 (20:32 +0300)]
0032222: Visualization, V3d_Viewer - use Graphic3d_TOSM_FRAGMENT by default instead of Graphic3d_TOSM_VERTEX

3 years ago0032230: Coding Rules - remove class headers Graphic3d_HighlightStyle.hxx deprecated...
kgv [Fri, 19 Mar 2021 09:37:30 +0000 (12:37 +0300)]
0032230: Coding Rules - remove class headers Graphic3d_HighlightStyle.hxx deprecated since OCCT 7.2.0

Removed unused Graphic3d_HighlightStyle, Graphic3d_CTexture, Graphic3d_MapOfZLayerSettings,
Graphic3d_TypeOfComposition, Graphic3d_TypeOfComposition, V3d_Parameter, V3d_ViewPointer, SelectMgr_SequenceOfFilter.

Added missing deprecation statements to SelectBasics_SensitiveEntity, SelectMgr_EntityOwner and PrsMgr_Presentation3d.

3 years ago0032235: Foundation Classes, Message_MsgFile - force initialization of global mutex
kgv [Fri, 19 Mar 2021 21:08:50 +0000 (00:08 +0300)]
0032235: Foundation Classes, Message_MsgFile - force initialization of global mutex

Initialization of several global variables has been refactored to a function.

3 years ago0025262: Foundation Classes - Poly package improvements
pdn [Tue, 23 Sep 2014 08:04:57 +0000 (12:04 +0400)]
0025262: Foundation Classes - Poly package improvements

Improvements of functionality of Poly package:
* Add function to intersect a triangulation by an axis.
* Add function to intersect a triangle by an axis.
* Correct the bugs in the methods RemoveDegenerated, RemoveTriangle and ReplaceNodes of the class Poly_CoherentTriangulation.

3 years ago0032140: Modeling Algorithms - unify same domain calls crossed for opposite vectors
jgv [Mon, 5 Oct 2020 20:39:08 +0000 (23:39 +0300)]
0032140: Modeling Algorithms - unify same domain calls crossed for opposite vectors

1. Correct unification of circular edges: avoid trying to make an axis with null magnitude.
2. New method UnionPCurves: unify existing pcurves of chain instead of projecting the curve of unified edge onto surfaces

3 years ago0032206: Visualization, TKOpenGl - move out OpenGL ES support to dedicated library...
kgv [Wed, 17 Mar 2021 18:03:04 +0000 (21:03 +0300)]
0032206: Visualization, TKOpenGl - move out OpenGL ES support to dedicated library TKOpenGles

Added TKOpenGles and TKOpenGlesTest toolkits built with HAVE_GLES2 macros.
Added CSF_OpenGlesLibs as alternative to CSF_OpenGlLibs.