gka [Mon, 9 Dec 2019 15:29:06 +0000 (18:29 +0300)]
0031228: It is impossible switch off setting default names for objects inherited TObj_Partition
In order to switch off setting default names for objects of the type TObj_Partition argument "theSetName" defining addition of the default names was added
kgv [Fri, 11 Sep 2020 14:37:37 +0000 (17:37 +0300)]
0030662: Documentation - update programming example in Visualization user guide
"A programming example" section has been updated to provide a working code.
sshutina [Fri, 11 Sep 2020 09:14:58 +0000 (12:14 +0300)]
0031221: Visualization - selection filter in context
- Added the new filter SelectMgr_AndOrFilter which allows to define the context filter. By default OR selection filter is used
- Added the enumeration SelectMgr_FilterType provides filter types
- To define behavior SelectMgr_AndOrFilter use SetFilterType in AIS_InteractiveContext
- Added the test
- SelectMgr_OrFilter don't store the disabled objects, it's stored in SelectMgr_AndOrFilter
ika [Thu, 10 Sep 2020 18:56:08 +0000 (21:56 +0300)]
0031466: Data Exchange - Cannot import layers from STeP file (7.4.0 regression)
Return possibility to find layers fir subshapes.
msv [Fri, 10 Jul 2020 11:19:31 +0000 (14:19 +0300)]
0025748: Parallel version of progress indicator
Progress indication mechanism is refactored to support incrementing progress within multithreaded algorithms.
The class Message_ProgressIndicator is only an interface to the user application.
It accumulates the progress provided by progress scopes.
The counter is protected by mutex for thread-safety.
The new class Message_ProgressScope replacing Message_ProgressSentry should be used to advance the progress.
The scopes are nested to each other to reflect the nested nature of operations.
The new class Message_ProgressRange should be used to pass the progress to sub-scopes.
All OCCT algorithms involving progress indication have been updated to new API.
Improvements in Draw_ProgressIndicator:
- Separate console mode has been added in order to make possible to put the progress into std::cout instead
or in addition to the draw interpreter, instead of trigger option "-tclOutput".
- Treatment of Ctrl-Break signal has been added.
Now any operation can be aborted by Ctrl-C or Ctrl-Break keystroke.
Added new test case 'perf fclasses progr_par' for testing of parallel work of the progress.
mkrylova [Wed, 2 Sep 2020 13:08:35 +0000 (16:08 +0300)]
0031683: Visualization - V3d_View::SetBackgroundImage() should accept Image_PixMap
Added V3d_View::SetBackgroundImage() accepting Graphic3d_Texture2D on input.
Graphic3d_CView/OpenGl_View have been modified to merge Graphic3d_CView::SetBackgroundImage()
and ::SetBackgroundCubeMap() implementations into a single method.
dpasukhi [Wed, 9 Sep 2020 10:06:05 +0000 (13:06 +0300)]
0030848: Data Exchange - Problem load step file
Update .step scanner rules to read anything within the text, including nested apostrophes
dpasukhi [Wed, 9 Sep 2020 10:00:15 +0000 (13:00 +0300)]
0030053: STEP read fails due to comment string
- Update .step scanner:
- add rules to read anything within the comment
- add a function to initialize of lexical scanner
- add states for Commit & End instead of global variables modcom & modend
dpasukhi [Wed, 9 Sep 2020 10:02:39 +0000 (13:02 +0300)]
0030397: Data Exchange - STEP Reader extension to support entities which have a text description field with not supported symbols
STEP file is now opened in binary mode (instead of text mode) to avoid unexpected handling of control symbols inside string constants.
mpv [Fri, 19 Jun 2020 20:12:17 +0000 (23:12 +0300)]
0030773: Application Framework - To allow to inherit existing attributes to reuse persistence mechanisms
Added possibility to inherit existing attributes if the same persistent fields are used. All methods that allow controlling the data model changes or getting some callbacks may be overridden in successor. They may have same GUIDs as a base class or new ones.
Special macros IMPLEMENT_DERIVED_ATTRIBUTE and IMPLEMENT_DERIVED_ATTRIBUTE_WITH_TYPE must be used instead of standard Handle macro definition IMPLEMENT_STANDARD_RTTIEXT to register new derived attributes.
Using this improvement several existing attributes from TDataStd, TDataXtd and XCAFDoc packages become inherited from other base attribute-classes. XML and Bin drivers of these attributes are removed. New base attribute classes are added: TDataStd_GenericEmpty and TDataStd_GenericExtString.
This improvement does not change both present formats Bin and XML documents. The obsolete Standard scheme is not changed at all.
vro [Tue, 21 Jan 2020 08:46:45 +0000 (11:46 +0300)]
0031310: Application Framework - A document with a reference array attribute crashes on attempt to save on disk
mpv [Tue, 8 Sep 2020 06:50:18 +0000 (09:50 +0300)]
0031748: Application Framework - Efficient OCAF transactions in OCCT
mpv [Wed, 26 Aug 2020 07:15:22 +0000 (10:15 +0300)]
0029195: OCAF - ensure thread safety for different documents.
OCAF persistence architecture modification to satisfy multi-threading criteria.
jgv [Tue, 1 Sep 2020 20:55:52 +0000 (23:55 +0300)]
0031736: ShapeUpgrade_UnifySameDomain algorithm does not unify all possible faces
1. Correct processing faces that can be converted into planar ones.
2. Correct processing faces based on V-closed surfaces.
nds [Thu, 10 Sep 2020 03:46:26 +0000 (06:46 +0300)]
0031658: Inspector - using AIS_ViewController in View package
- View: using AIS_ViewController, AIS_ViewCube.
nds [Tue, 8 Sep 2020 19:59:02 +0000 (22:59 +0300)]
0031656: Visualization - drag item to handle in AIS_ViewController
ProcessDragging method in AIS_InteractiveObject. Empty by default. Should be implemented if drag is used for the object.
osa [Tue, 8 Sep 2020 15:22:45 +0000 (18:22 +0300)]
0031758: Visualization, AIS_InteractiveContext - unify clearDynamicHighlight() method
nds [Mon, 7 Sep 2020 21:16:32 +0000 (00:16 +0300)]
0031326: Foundation Classes - Init from Json for base OCCT classes
InitFromJson method implementation for some simple classes.
OCCT_INIT_* defines introduction to do automatic parsing of the stream into values.
Inspector is extended to visualize objects created on the dump stream if it might be created.
nds [Mon, 7 Sep 2020 20:00:50 +0000 (23:00 +0300)]
0030784: Visualization - check if selectable of owner in internal container in AIS_InteractiveContext before using
dpasukhi [Sat, 5 Sep 2020 11:56:34 +0000 (14:56 +0300)]
0031489: Data Exchange - STEP Reader can't read a big file
- Add checking for null object for edge_curve within TranslateEdgeLoop;
- Update STEP parser rule allowing empty element in the list of entity parameters;
- Update test case of bug26451 for a new scanner rule;
- Update test case of bug30273 for a new added check for null object
nds [Mon, 7 Sep 2020 08:10:32 +0000 (11:10 +0300)]
0030537: Visualization - wrapping text in font text formatter
Font_TextFormatter inherits Standard_Transient, now it is given as a handle in functions.
Graphic3d_Text - extended with Font_TextFormatter to be able to have it filled out of text render. If it is not defined here, the default text formatter of context is used.
OpenGl_Context - has default Font_TextFormatter for rendering OpenGl_Text.
AIS_TextLabel extending with Font_TextFormatter to prepare test case for text wrapping.
Prs3d_Text returns created graphic text to be able to manage it outside.
sshutina [Thu, 6 Feb 2020 15:17:35 +0000 (18:17 +0300)]
0031354: Visualization - Dump improvement for V3d, Graphic3d, Aspect
- do not dump light in view as it's dumped in the viewer
mzernova [Mon, 31 Aug 2020 14:28:25 +0000 (17:28 +0300)]
0031733: Visualization, Prs3d_ToolQuadric - create indexed arrays
Prs3d_ToolQuadric has been modified to return an indexed triangulation.
Added methods Prs3d_ToolQuadric::CreateTriangulation() and Prs3d_ToolQuadric::CreateTriangulation()
as more straightforward API returning generated triangulation.
Added missing const to constant methods.
Confusing method Prs3d_ToolQuadric::FillArray() filling both
Graphic3d_ArrayOfTriangles and Poly_Triangulation at once has been marked deprecated.
V3d_Trihedron, AIS_ViewCube and AIS_Manipulator
now set Closed flag to groups with shaded sphere and arrows.
emv [Wed, 2 Sep 2020 10:18:01 +0000 (13:18 +0300)]
0027973: Result of Common operation contains a face with an open wire
Integrating test case only as the problem is not reproduced anymore.
emv [Wed, 2 Sep 2020 11:02:34 +0000 (14:02 +0300)]
0026534: Boolean Cut returns empty result
Integrating test case only as the problem is not reproduced anymore.
mpv [Mon, 31 Aug 2020 10:49:18 +0000 (13:49 +0300)]
0029838: Application Framework - TObj.msg defines unused messages
mpv [Wed, 2 Sep 2020 10:53:07 +0000 (13:53 +0300)]
0031340: LDOM fails to read XML file starting with BOM
Added support of BOM (byte order mask) characters at the start of an XML stream or file and provided information about found BOM in LDOMParser.
emv [Wed, 2 Sep 2020 11:29:50 +0000 (14:29 +0300)]
0026452: Infinite loop in Edge/Edge intersection.
Integrating test case only as the problem is not reproduced anymore.
akaftasev [Mon, 17 Aug 2020 15:44:19 +0000 (18:44 +0300)]
0030795: BRepOffsetAPI_MakePipeShell: hangs on the attached model and produces infinite rails
Added new condition to catch bad shape
kgv [Tue, 1 Sep 2020 14:29:33 +0000 (17:29 +0300)]
0031744: Configuration - add batch files to build OCCT for Android target
Added script adm/scripts/android_build.bat and template android_custom.bat.template
intended for automating building routines targeting Android platform.
OpenCASCADEConfig.cmake has been extended to detect "$INSTALL_DIR/libs/$CMAKE_ANDROID_ARCH_ABI/cmake/opencascade" location.
msv [Wed, 1 Apr 2020 16:13:46 +0000 (19:13 +0300)]
0031742: Configuration - Add batch files for cmake build
The scripts cmake_gen.bat and cmake_gen.sh have been added to facilitate batch building of OCCT correspondingly on Windows and Linux platforms.
The files build.bat and install.bat are copied to the build directory by cmake configure procedure to enable batch building and installation on Windows platform.
osa [Mon, 18 Nov 2019 11:35:45 +0000 (14:35 +0300)]
0031737: Configuration - Add batch files to build OCCT with Emscripten
The scripts occ_build_wasm.bat and occ_build_wasm.sh have been added
to simplify batch building of OCCT with Emscripten (Web Assembly packages) correspondingly on Windows and Linux platforms.
These scripts are configurable through calling files with custom environment wasm_custom_env.bat and wasm_custom_env.sh.
mpv [Mon, 31 Aug 2020 15:24:59 +0000 (18:24 +0300)]
0031320: TObj - method TObj_Object::GetFatherObject() is not protected against deleted object
kgv [Mon, 31 Aug 2020 10:03:32 +0000 (13:03 +0300)]
0031728: Visualization, Font_FontMgr - provide function to register fallback fonts in application level
Added public method Font_FontMgr::AddFontAlias() for registering custom aliases and fallback fonts.
vfont command has been extended with arguments -aliases, -addAlias, -removeAlias, -clearAlias and -clearAliases.
ifv [Sat, 15 Aug 2020 15:28:00 +0000 (18:28 +0300)]
0026088: Modeling Algorithms - Exception in pipe algorithm
GeomFill_Sweep.cxx: treatment KPart for sphere is improved
bug26088: test case is corrected - TODO is removed
abv [Fri, 28 Aug 2020 15:09:54 +0000 (18:09 +0300)]
0031740: Configuration - recover support of Yacc and Lex generation
Scripts adm/cmake/bison.cmake and adm/cmake/flex.cmake are refactored to enable actual search for bison and flex.
Apart of standard locations, also sub-folders of 3RDPARTY_DIR whose names contain "bison" and "flex", respectively, are added to search.
Cache variables 3RDPARTY_BISON_EXECUTABLE and 3RDPARTY_FLEX_EXECUTABLE are removed to avoid confusion (they duplicated similar variables without "3RDPARTY_" prefix).
Lex and Yacc files are corrected to match changes made manually in generated files during last years:
- StepFile/step.yacc: correction missing from #22972
- StepFile/step.lex: corrected for compilation (broken by #31060)
- MSVC-specific code is synchronized between StepFile/step.lex and ExprIntrp/ExprIntrp.lex
- Old commented code and duplicate code blocks removed
Commands for execution of Flex and Bison tools in CMake scripts are tweaked to avoid embedding line numbers (with local paths) in generated files.
Scanners and parsers are regenerated from updated source files with modified options.
Note that lex.ExprIntrp.c is regenerated with multiple differences because option -f (fast scanner) was used for generation of previous version (by WOK).
kgv [Mon, 31 Aug 2020 08:03:01 +0000 (11:03 +0300)]
0031743: Draw Harness - fix misprint in Draw_Interpretor::SetToColorize()
kgv [Fri, 28 Aug 2020 12:18:43 +0000 (15:18 +0300)]
0030617: Coding - using reinterpret_cast instead of static_cast for downcast
Several reinterpret_cast have been replaced by static_cast when applicable.
kgv [Fri, 28 Aug 2020 13:02:18 +0000 (16:02 +0300)]
0028990: Coding Rules - deprecate redundant class Prs3d_Root
Prs3d_Root usage has been replaced by direct calls to Prs3d_Presentation methods.
kgv [Fri, 28 Aug 2020 11:24:40 +0000 (14:24 +0300)]
0031369: Foundation Classes, Standard_ReadBuffer - access violation on second ::ReadChunk() call after read failure
Standard_ReadBuffer::readRawDataChunk() - do not increment NULL pointer and return invalid address.
kgv [Fri, 28 Aug 2020 11:10:43 +0000 (14:10 +0300)]
0031086: Coding Rules - STEPCAFControl_Reader has virtual functions, but no virtual destructor
Added missing virtual destructor.
kgv [Fri, 28 Aug 2020 09:53:51 +0000 (12:53 +0300)]
0031706: Data Exchange, RWGltf_CafReader - imports model with incorrect transformation
RWGltf_GltfJsonParser::bindNamedShape() - shape location is now multiplied not just overridden.
emv [Wed, 26 Aug 2020 05:10:42 +0000 (08:10 +0300)]
0031734: Modeling Algorithms - Incorrect result of offset operation in mode "Complete" join type "Intersection"
BRepOffset_MakeOffset_1::IntersectFaces - Build intersection pairs for rebuilding process basing on the intersection results and removed faces.
kgv [Mon, 24 Aug 2020 16:13:08 +0000 (19:13 +0300)]
0031731: Draw Harness - colorize errors and exception messages
Draw_Interpretor, CommandCmd() - catched exceptions and messages put into Tcl string result
before throwing a Tcl exception (return 1) are now print in intense red (using Message::SendFail()).
Duplication of exception message in std::cout and Tcl output has been removed.
Draw Harness plugins have been updated to use either Message::SendFail() or theDI instead of std::cout/std::cerr
for printing colored error message before throwing a Tcl exception.
kgv [Fri, 21 Aug 2020 08:52:15 +0000 (11:52 +0300)]
0031720: Visualization, Font_FontMgr - register one more CJK fallback font available on newer Android devices
kgv [Fri, 21 Aug 2020 08:47:24 +0000 (11:47 +0300)]
0031727: Samples, JNI Sample - JNI DETECTED ERROR on calling OcctJniRenderer.postMessage()
Use CallVoidMethod() instead of CallObjectMethod().
osa [Fri, 21 Aug 2020 08:22:45 +0000 (11:22 +0300)]
0031715: Visualization - add access to proxy shader program
kgv [Mon, 17 Aug 2020 09:58:31 +0000 (12:58 +0300)]
0031582: Configuration, CMake - OCCT fails to build with VTK 9.0
Handle "VTK::" prefix instead of "vtk" used by previous VTK versions for targets.
Corrected unexpected location of endif() and broken indentation.
Obsolete $VTK_USE_FILE is no more included (basing on VTK version check).
Standard_WarningsDisable.hxx/Standard_WarningsRestore.hxx pair is now used to suppress VTK warnings instead of partial disabling.
ifv [Tue, 11 Aug 2020 14:00:03 +0000 (17:00 +0300)]
0026568: Modeling Algorithms - Exception when creating pipe
BRepFill_Pipe.cxx: protection against wrong shape type is added
GeomFill_Sweep.cxx: protection against using 0-vector to create Direction is added
bug26568: test script is corrected: "TODO ..." is removed
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
kgv [Tue, 18 Aug 2020 07:10:50 +0000 (10:10 +0300)]
0031714: Draw Harness - print command name with intense within help output
Added command "dputs" similar to "puts" but with extra arguments modifying text color/intensity.
Command "help" now prints the name of command with intense style.
mpv [Thu, 30 Jul 2020 16:30:21 +0000 (19:30 +0300)]
0031681: Foundation Classes - Shared Libraries Cannot Be Loaded
Standard_ErrorHandler now accesses global mutex via proxy function
instead of a global variable to avoid initialization order issues.
kgv [Wed, 29 Jan 2020 10:18:01 +0000 (13:18 +0300)]
0031324: Data Exchange - Cannot read BinOcaf document with colour
BinMDataXtd_PresentationDriver and XmlMDataXtd_PresentationDriver have been corrected
to convert old (OCCT 7.4.0) Quantity_NameOfColor enumeration values to new ones.
kgv [Thu, 13 Aug 2020 12:50:31 +0000 (15:50 +0300)]
0031713: Draw Harness, IVtkDraw - add commands ivtksetcolor, ivtkaxo, ivtkclose, ivtksettransparency
Added missing NULL checks before accessing GetInteractor().
Errors are now reported using Message::SendFail().
Not found actor names are now reported as syntax error instead of silently skipping them.
ivtkinit now accepts aguments -srgb and -msaa for overriding defaults.
Default MSAA settings have been changed from 8 to 0 to match vinit behavior.
Added command ivtkclose closing a Vtk view.
Added commands ivtkaxo, ivtkfront, ivtkback, ivtkleft, ivtkright,
ivtktop and ivtkbottom assigning view projection similar to sonamed commands in ViewerTest.
Added commands ivtksetcolor and ivtksettransparency assigning
color properties to shaded presentation.
kgv [Wed, 12 Aug 2020 12:58:22 +0000 (15:58 +0300)]
0031709: Draw Harness - move methods ViewerTest::ParseOnOff()/ParseColor() to package Draw
Methods ParseOnOff()/ParseColor() have been moved from package ViewerTest to Draw.
Command "vlight -color" now accepts RGB values, not only name.
Implementation of pload command has been cleaned up.
kgv [Mon, 10 Aug 2020 08:23:56 +0000 (11:23 +0300)]
0031702: Visualization, TKOpenGl - hatching interior is ignored in second View within the Viewer
Current state variables have been moved out from OpenGl_LineAttributes to OpenGl_Context.
szy [Mon, 11 Nov 2019 15:18:48 +0000 (18:18 +0300)]
0031049: OCAF - Error message during Ascii file (std) opening.
ifv [Thu, 6 Aug 2020 10:07:52 +0000 (13:07 +0300)]
0031697: Foundation Classes - Expr_GeneralExpression::Derivative does not seem to work (691 & 720)
Expr_NamedUnknown.cxx - wrong comparing of named unknown is fixed
QABugs_20.cxx - new QAcommand is created
QABugs_11.cxx - wrong command is corrected
bug902 - wrong test is corrected
bug31697 - new test is added
kgv [Mon, 3 Aug 2020 14:53:18 +0000 (17:53 +0300)]
0031698: Visualization, Graphic3d_Aspects - provide stipple line factor parameter
Added Graphic3d_Aspects::LineStippleFactor() property.
Adjusted help for vaspects command suggesting a shorter syntax.
kgv [Fri, 24 Jul 2020 16:18:26 +0000 (19:18 +0300)]
0031689: Coding Rules - including STEPCAFControl_Writer.hxx produces compilation error
Added missing #include <NCollection_Vector.hxx>.
ifv [Mon, 20 Apr 2020 12:44:28 +0000 (15:44 +0300)]
0030944: [Regression to 7.0.0] Modeling Algorithms - Intersection curves between pair of faces are not found
IntPatch_ImpPrmIntersection.cxx: treatment of coinciding lines is improved
IntWalk_IWalking_1.gxx: bug correction
bug30944 : test case added
kgv [Thu, 23 Jul 2020 19:39:27 +0000 (22:39 +0300)]
0031687: Draw Harness, ViewerTest - extend command vrenderparams with option updating viewer defaults
SelectMgr_ViewerSelector3d::ClearSensitive() - fixed crash on removing presentations (via command vsensera).
Added new parameters -sync and -reset to vrenderparams command synchronizing parameters across Views.
Parameters -raster and -rayTrace now accept optional on|off values.
Improved command description.
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.
akaftasev [Mon, 2 Mar 2020 12:29:34 +0000 (15:29 +0300)]
0031353: TDocStd_Application does not have api to set progress indicator
Add support of Message_ProgressIndicator in BinTools classes.
Add support of Message_ProgressIndicator with possibility of user break in methods of opening and saving TDocStd_Application.
Add tests of ProgressIndicator in TDocStd_Applacation.
Benjamin Bihler [Tue, 21 Jul 2020 09:39:52 +0000 (11:39 +0200)]
0031677: Configuration - Allow Optimization Level O3 When Compiling With G++
Removed suppression of optimization level O3 with using Mingw64.
mkrylova [Tue, 14 Jul 2020 13:49:41 +0000 (16:49 +0300)]
0031618: Data Exchange, RWGltf_CafWriter - exporting some models produces glTF files not passing validation
Added a check for non-empty mesh and new warning
that notifies about skipping an empty node
mkrylova [Fri, 17 Jul 2020 10:08:31 +0000 (13:08 +0300)]
0031035: Coding - uninitialized class fields reported by Visual Studio Code Analysis
Added initialization of fields that had not initialization
Added default constructors to classes without constructors
dpasukhi [Tue, 14 Apr 2020 08:51:56 +0000 (11:51 +0300)]
0028345: Data Exchange - Reading STEP model using STEPCAF crashes
# Add test to verify import
* Note: Each layer contains a valid name, but only one contains a link to the shape, so .step file contains only one valid Layer.
jgv [Mon, 20 Jul 2020 14:38:22 +0000 (17:38 +0300)]
0031617: Export STEP in nonmanifold mode corrupts the shape
Modify method XSControl_TransferWriter::TransferWriteShape: add removal of locations before writing the shape.
Benjamin Bihler [Tue, 21 Jul 2020 11:37:03 +0000 (13:37 +0200)]
0031680: Configuration - Compilation Fails With G++ 10.1, LD 2.34 and Link-Time Optimization
Added a non-inline empty virtual destructor to LDOM_OSStream to force vtable generation in one
translation unit only.
kgv [Sat, 18 Jul 2020 21:36:04 +0000 (00:36 +0300)]
0031673: Draw Harness, ViewerTest - command vlocation applies transformation in opposite order
gp_Trsf::SetRotationPart() - added method replacing rotation matrix without reseting other components,
similar to existing SetTraslationPart() and SetScaleFactor().
Transformation multiplication order has been fixed
for vlocation arguments -rotate, -translate, -mirror and -scale.
Added -prerotate, -pretranslate, -premirror and -prescale options following previous behavior.
vlocation -setRotation now uses new method gp_Trsf::SetRotationPart()
for consistency with methods -setLocation and -setScale.
kgv [Fri, 17 Jul 2020 12:12:49 +0000 (15:12 +0300)]
0031671: Coding Rules - eliminate warnings issued by clang 11
Fixed -Wdeprecated-copy warning by removing trivial operator=.
Fixed formatting issues in places producing -Wmisleading-indentation warning.
kgv [Thu, 16 Jul 2020 13:15:22 +0000 (16:15 +0300)]
0031668: Visualization - WebGL sample doesn't work on Emscripten 1.39
OpenGl_Context now skips loading functions related to mapping buffer,
which are required by OpenGL ES 3.0 specs but not provided by WebGL 2.0.
Message_PrinterSystemLog does not use a broken emscripten_log() anymore, which corrupted UNICODE strings.
WasmOcctView::initWindow() - callbacks now set using EMSCRIPTEN_EVENT_TARGET_WINDOW
instead of 0 used by older Emscripten API.
Mouse callbacks now track canvas element and use
EmscriptenMouseEvent::targetX/targetY instead of ::canvasX/canvasY
as the latter was broken.
Added emscripten_set_main_loop() setup to shut up eglSwapInterval() error message.
Fixed missing \0 at the end of string converted by toUtf8Array().
azv [Tue, 7 Jul 2020 14:40:50 +0000 (17:40 +0300)]
0031016: Projection of an ellipse is a B-spline in some cases
Improve projection of ellipse and circle on a plane in case of the same parametrization of the original curve and the projected one is not necessary. Now the projection is a canonical curve instead of B-spline.
emv [Fri, 10 Jul 2020 11:19:31 +0000 (14:19 +0300)]
0031662: Modeling Algorithms - Incomplete result of section operation
Integrating test case for the issue as the problem is not reproduced.
emv [Fri, 10 Jul 2020 06:02:26 +0000 (09:02 +0300)]
0031655: Modeling Algorithms - Invalid result of General Fuse operation
IntTools_BeanFaceIntersector: Perform exact intersection range search in case there are few intersection points.
mkrylova [Wed, 8 Jul 2020 09:46:33 +0000 (12:46 +0300)]
0030277: Coding Rules - avoid extremely long class names in STEP packages
Has changed the names of classes that are too long
and fixed names in files where these classes are used
akaftasev [Tue, 12 May 2020 09:21:59 +0000 (12:21 +0300)]
0026555: Modeling Algorithms - Exception-safe status reporting in BRepOffset_MakeOffset
Set safe exit status for:
Standard_NullObject exception,
Standard_NullObject: BRep_Tool:: TopoDS_Vertex hasn't gp_Pnt,
BRep_Tool: no parameter on edge,
BRepOffset_MakeOffset::TrimEdge no projection
kgv [Sun, 28 Jun 2020 18:59:22 +0000 (21:59 +0300)]
0031637: Documentation - minor clean-up of User Guide for Visualization module
Fixed a couple of misprints, usage of changed classes / methods.
Added references to other supported 3d displays.
Added reference to PBR metallic-roughness material properties in addition to Common.
Cosmetics: removed numerous trailing spaces, double spaces.
Added missing {.cpp} language qualifier to code quotations.
Sentences within paragraphs have been split into multiple lines in source file.
akaftasev [Tue, 12 May 2020 09:21:59 +0000 (12:21 +0300)]
0027909: Modeling Algorithms - Exception during offset computation
Added function ChFi3d::IsTangentFaces for more accurate definition of connection type.
Test cases have been changed according to the current behavior.
ifv [Fri, 15 May 2020 13:17:34 +0000 (16:17 +0300)]
0029839: Modeling Algorithms - Unexpected Circle to BSpline surface extrema behavior
Extrema_ExtCS.cxx: treatment of small line segments is added;
Extrema_GenExtCS.cxx: treatment of particular cases curve-quadric and conic-surface are added
Extrema_GlobOptFuncCQuadric, Extrema_GlobOptFuncConicS: new distance functions for particular cases are added
BOPAlgo_PaveFiller_5.cxx : treatment of large common parts edge-face is improved
ElSLib.cxx : method TorusParameters(...) is modified to avoid divide by zero
math_PSOParticlesPool.cxx : initialization of array is added
emv [Mon, 6 Jul 2020 09:05:30 +0000 (12:05 +0300)]
0031604: Wrong result of Boolean Operation Cut
BOPAlgo_WireSplitter::Path - continue building the next loop with the last edge not included into found loop.
kgv [Fri, 3 Jul 2020 16:48:57 +0000 (19:48 +0300)]
0031649: Visualization, TKOpenGL - broken skybox in VR output
OpenGl_ShaderManager::GetBgCubeMapProgram() and OpenGl_BackgroundArray::createCubeMapArray()
have been corrected to draw cube in straightforward way instead of a screen-quad.
Graphic3d_Camera::SetCustomStereoProjection() now recieves decomposed projection + head-to-eye matrices.
Added method Graphic3d_Camera::StereoProjection() returning projection matrix without translation part.
OpenGl_BackgroundArray::Render() now applies stereoscopic projection matrix in case of VR output,
but keeps using mono projection matrix in case of common 3D displays.
kgv [Sat, 4 Jul 2020 20:37:04 +0000 (23:37 +0300)]
0031652: Visualization - crash on highlighting HLR Computed presentation displayed with Shaded display mode
PrsMgr_PresentationManager::displayImmediate() now uses proper ZLayer for a shadow presentation
of computed presentation (fixes dynamic highlighting on mouse move).
Graphic3d_CView::SetComputedMode() - added invalidation of bounding box on turning OFF compute mode.
AIS_ViewController::contextLazyMoveTo() now ignores MoveTo() while rotating
view with temporary disabled compute mode (leading to undefined results and crashes).
Graphic3d_Structure::Graphic3d_Structure() - do not copy Graphic3d_TOS_COMPUTED visual
from linked structure, as Graphic3d_CView::SetComputedMode() does not compute such structures.
kgv [Sat, 4 Jul 2020 11:37:05 +0000 (14:37 +0300)]
0031650: Visualization - invalid picking of object with local transformation and per-object clipping plane
SelectMgr_SelectingVolumeManager::SetViewClipping() now updates clipping range
using picking ray in world coordinates, as clipping planes are always defined in world space.
mzernova [Tue, 3 Dec 2019 09:32:39 +0000 (12:32 +0300)]
0029993: Visualization - AIS_TextLabel computes selection primitive only for attachment point
The text label is selected as a rectangle (adds a sensitive object - Select3D_SensitiveFace).
The bounding box has been resized to fit the sensitive rectangle.
Transform persistent has been added to AIS_TextLabel to correctly position the sensitive rectangle.
The findConnectedObject function has also been changed to correctly set transform persistence.
kgv [Thu, 2 Jul 2020 09:29:44 +0000 (12:29 +0300)]
0031588: Visualization, TKOpenGl - display immediate updates in brackets within frame stats
kgv [Thu, 2 Jul 2020 12:40:29 +0000 (15:40 +0300)]
0031647: Samples - do not enable floating point exceptions in MFC samples
emv [Fri, 26 Jun 2020 11:20:52 +0000 (14:20 +0300)]
0031639: Modeling Algorithms - Offset algorithm incorrectly fills one of the holes
Check if unclassified edge may be added as neutral (invalid in one split, valid in other) by checking the SD faces in which the edge was classified.
kgv [Fri, 26 Jun 2020 20:49:48 +0000 (23:49 +0300)]
0031635: Documentation - minor clean-up of User Guide for Foundation Classes module
Changes in Technical Overview:
Corrected reference of "Mesh" as dedicated module, which is actually a Toolkit within "Modeling Algorithms" module.
Reduced references to "Configurable optimized memory manager",
which has not been updated for a long time and no more encouraged to be used as replacement of standard memory allocator of C library.
VRML/STL converters have been moved from section Mesh to Data Exchange.
Visualization chapter has been slightly reworded and reordered;
added references to PBR metallic-roughness material model.
Data Exchange chapter - reworded sentence "The exchanges run smoothly regardless of the quality of external data..."
to "This module handles various problems of interoperability between CAD systems...";
added AP242 to the list of STEP capabilities.
Changes in User Guide for Foundation Classes:
Removed references to "physical quantities" in package Quanity, deprecated since #
0028799 and not actually used anywhere.
Adjusted description of string classes to avoid duplicated statements.
Collections section has been refactored to replace obsolete TCollection references by NCollection.
Remove obsolete statement "furthermore *catch()* statement does not allow passing exception object as argument".
Fixed broken nested enumeration in a couple of places.
Fixed usage of inappropriate quote symbols in code snippets.
Fixed references to non-existing classes like ZeroDivide instead of Standard_DivideByZero.
Removed suggested usage of Standard_Failure::Raise() instead of "throw Standard_Failure()" following #
0026937.
Code snippets now suggest "catch(const Standard_Failure& )" instead of "catch(Standard_Failure )" (#
0026937).
Fixed broken code snippets with lost symbols like <<.
Cosmetics: removed numerous trailing spaces, double spaces.
Added missing {.cpp} language qualifier to code quotations.
Sentences within paragraphs have been split into multiple lines in source file.
kgv [Tue, 30 Jun 2020 15:48:36 +0000 (18:48 +0300)]
0031642: Visualization - crash in Graphic3d_Structure::SetVisual() on redisplaying edge in AIS_Shape
Fixed unexpected calling of PrsMgr_Presentation::Erase() from Graphic3d_Structure::SetVisual().
kgv [Tue, 30 Jun 2020 22:12:37 +0000 (01:12 +0300)]
0031643: Visualization - Graphic3d_Camera::Copy() raises exception on copying ZNear < 0.0
Graphic3d_Camera::CopyMappingData() now copies ProjectionType at first.
kgv [Fri, 26 Jun 2020 06:58:50 +0000 (09:58 +0300)]
0031632: Draw Harness - handle 3d mouse Raw HID input on Windows
WNT_HIDSpaceMouse - added auxiliary class for processing 3d mouse Raw HID input.
AIS_ViewController::Update3dMouse() - added default processor for 3d mouse input event.
ViewerTest now redirects WM_INPUT to AIS_ViewController::Update3dMouse().
Aspect_VKey enumeration has been extended by 3D view buttons.
WNT_Window::RegisterRawInputDevices() has beend added as a small wrapper
over WinAPI RegisterRawInputDevices() for common HID input devices.
AIS_ViewCube now stores animation duration within AIS_AnimationCamera instead of dedicated duplicating class property.
ifv [Wed, 17 Jun 2020 14:10:12 +0000 (17:10 +0300)]
0031616: Modeling algorithm - Section between two shells returns wire with gaps (720)
Adaptor3d_TopolTool.cxx, IntTools_TopolTool.cxx:
Anisotropy of BSpline surface along U and V direction is taken in account for calculation of numbers of sample points;
bug31616: test case added
mzernova [Mon, 13 Jan 2020 07:21:10 +0000 (10:21 +0300)]
0031279: Visualization, TKOpenGl - environment background is misplaced within Ray-Tracing
Fixed problem with misplacing background texture in Ray-Tracing.
An environment background is always drawn using a perspective matrix.
iko [Fri, 21 Feb 2020 10:24:28 +0000 (13:24 +0300)]
0031370: Documentation - provide information about PBR implementation
PBR documentation (math) has been added as developer guide.
kgv [Sat, 20 Jun 2020 11:57:02 +0000 (14:57 +0300)]
0031621: Draw Harness - handle navigation keys
AIS_ViewController::handleNavigationKeys() - added an interface for processing navigation keys.
ViewerTest_EventManager now maps WASD+Arrows navigation keys.
Axonometric view hotkey A has been replaced by Backspace.
Shaded/Wireframe are now mapped with hotkeys W+Ctrl/S+Ctrl.
Hotkey D (reset view to undefined default state) has been removed.
mzernova [Tue, 10 Mar 2020 13:06:24 +0000 (16:06 +0300)]
0031412: Visualization - entity behind is returned as topmost at the edges
SelectMgr_RectangularFrustum now handles degenerated triangle as a segment or a point.
Triangle orthogonal to view direction is now handled as a segment.
myViewRayDir field is now defined as normalized vector to avoid confusing math.
For the case when the segment and myViewRayDir are almost parallel,
the segmentSegmentDistance function may set the depth to zero, although this will not
be the correct value, therefore it is better to pass a segment that will not
be parallel to myViewRayDir as an argument to the function.
vpoint command has been extended by arguments -2d and -nosel
for displaying picking mouse position as on-screen point in pixels.
Fixed double-binding-map error in case of displaying point with already used name.
bugs/vis/bug31412: test case added.
kgv [Sat, 20 Jun 2020 20:00:17 +0000 (23:00 +0300)]
0031622: Samples - update MFC Animation sample with proper frame updates
Animation sample has been updated to:
- use reuse AIS_ViewController for general viewer manipulations;
- update animation using elapsed time;
- do not block camera manipilations;
- get rid of redundant controls.
kgv [Sat, 20 Jun 2020 14:48:52 +0000 (17:48 +0300)]
0030939: Draw Harness, ViewerTest - AIS_ViewCube animation does not work on Linux and macOS
ViewerTest_EventManager::handleViewRedraw() now starts ViewerTest_ContinuousRedrawer
working thread to workaround Tcl event loop invalidation issue.