On branch IR-2019-01-11
Your branch is up to date with 'origin/IR-2019-01-11'.

Untracked files:
  (use "git add ..." to include in what will be committed)

	DrawAppliInit
	VERSION.html
	draw.bat
	env.bat
	exclude.lst
	msvc.bat
	occ_gitlog.bat
	occ_occt_build_ALL.bat
	occ_occt_build_android.bat
	occ_occt_build_wnt.bat
	occ_occt_pack_wnt.bat
	occt-7.3.1dev-2019-01-13-src.7z
	occt-7.3.1dev-2019-01-13-vc14-64.7z
	ttt.wrl

nothing added to commit but untracked files present (use "git add" to track)
commit 79b544e6522a280b800e2d3c5c1c68cb198d57e9
Author: osa 
Date:   Thu Jan 10 17:25:48 2019 +0300

    0030437: Visualization, TKV3d - add Draw command to print rendering statistics
    
    Add new command "vstatprofiler" to manage rendering parameters and print them.
    If there are some input parameters - print corresponding statistic counters values,
    else - print all performance counters set previously.

commit 0e3025bc14730a82b1f60bd713e1e4db55207718
Author: osa 
Date:   Wed Jan 9 17:01:18 2019 +0300

    0030434: Visualization, TKV3d - add "NoUpdate" state of frustum culling optimization
    
    Frustum culling is now managed by Graphic3d_RenderingParams::FrustumCullingState flag
    and can be switched into Graphic3d_RenderingParams::FrustumCulling_NoUpdate state
    useful for debugging the algorithm.
    
    Draw Harness command vrustumculling has been replaced by vrenderparams -frustumCulling.

commit 30a1b24e197e467e809128196a9708c5243c1af9
Author: osa 
Date:   Mon Dec 17 12:01:17 2018 +0300

    0030412: Visualization, TKV3d - add presentation of camera frustum
    
    1) Added method Graphic3d_Camera::FrustumPoints() returning corner points of camera frustum.
    2) Refactored methods OpenGl_BVHTreeSelector::isFullOut(...) and OpenGl_BVHTreeSelector::CacheClipPtsProjections()
    3) Changed computation algorithm of frustum planes (build them by corner points)
    4) Added interactive object AIS_CameraFrustum to draw camera frustum.
    5) Extended Draw command "vcamera" with option displaying camera frustum.

commit 25333d45eacee8663f6d766fb192c650c44a3c37
Author: nds 
Date:   Wed Nov 7 18:30:21 2018 +0300

    0030349: Coding - add usage of Standard_EXPORT for some not inline methods in Select3D

commit 8de8dacd023a4cae08d76bf4fa08f082d1ea41d6
Author: abv 
Date:   Thu Jan 10 08:17:04 2019 +0300

    0030430: Draw - command testgrid in parallel mode hangs if DRAW is launched without GUI
    
    Ensure that initialization of Tcl interpretor is performed in the same thread where commands are evaluated.
    
    Added test demo draw bug30430

commit 9b4243f9bfdb5653c0320e26ea708953ca82afce
Author: abv 
Date:   Sun Nov 18 19:53:10 2018 +0300

    0030377: DRAW, Windows - command executed via option -c fails on puts
    
    When DRAW on Windows is launched with option -c, the command is now properly transferred to Tcl thread (separate thread that runs Tcl interpretor on Windows except when DRAW is run in batch mode) for execution, instead of being evaluated in the main thread.
    
    Execution of DRAW in batch mode (option -b) is fixed by enabling proper initialization of the Tcl interpretor and replacement of backslashes in path to startup script by straight slashes on Windows in that mode.
    
    Declaration of global variables used for communication of console command between threads is moved to Draw_Window.hxx to ensure consistency.
    Function wscpy_s is used instead of memcpy to avoid possible buffer overrun.

commit 0939d4cf1f0393ff0d51abcf670894c80b07624e
Author: kgv 
Date:   Sat Dec 29 15:41:54 2018 +0300

    0030428: Modeling Algorithms - BRepBndLib::AddOBB() throws exception on empty Compound
    
    Added missing Bnd_Box::IsVoid() check.

commit a345becea2fcdc4443a3a52e117422c960fc6571
Author: kgv 
Date:   Tue Dec 25 20:25:55 2018 +0300

    0030424: C# wrapper - implement IEnumerable interface by NCollection classes
    
    TopExp_Explorer::Value() - added Current() alias for providing interface consistent to other OCCT Iterators.

commit 80eeb3cef1ada352dc2134be2066d2896250a295
Author: ifv 
Date:   Mon Dec 10 15:48:55 2018 +0300

    0030346: Modeling Algorithms - BRepPrimAPI_MakeRevol throws "BRepSweep_Translation::MakeEmptyVertex"
    
    Implementation of method "IsDeleted(...)" for MakeRevol and MakePrism algorithms.
    
    Problem (exception) occurs during history building and was caused by an attempt to obtain generated shape for subshape, which was really "deleted" by algorithm - this input subshape and its possible generated shape was not used in result.

commit 39235bedc64501f212d90102730a9d144c3c9b7d
Author: kgv 
Date:   Mon Nov 12 15:46:40 2018 +0300

    0030364: Visualization, TKOpenGl - allow initializing a Surface-less EGL context
    
    OpenGl_Context::MakeCurrent()/OpenGl_Context::IsCurrent() have been modified to NOT fail
    in case if myWindow is EGL_NO_SURFACE (valid off-screen rendering case within EGL).
    OpenGl_GraphicDriver::InitEglContext() now finds EGL surface config in case if it has not been passed by argument.
    
    OpenGl_Window constructor now allows wrapping an off-screen rendering surface EGL_NO_SURFACE.
    However, it still creates a dummy surface eglCreatePbufferSurface() to workaround bugs in some GLES drivers (Vivante GC2000).
    
    V3d_View::SetWindow()/V3d_View::MustBeResized()/V3d_Viewer::SetViewOn() have been modified
    to avoid implicit View redraw (leading to undefined behavior/crashes in case if rendering
    should be done into default FBO defined right after V3d_View initialization).

commit 4473e336553277b039276db0e9c274974828175b
Author: msv 
Date:   Thu Dec 20 17:10:00 2018 +0300

    0030396: Infinite recursion during ShapeFix after BRepAlgoAPI_Cut
    
    Two test cases are added. One for Boolean operation (it is good, because BO has been fixed already), and another for fixshape operation (it causes Draw crash).

commit 6c27a5d993c08aac1af4adc9d7809be4ae5993b3
Author: oan 
Date:   Tue Nov 13 13:08:37 2018 +0300

    0029964: Bad arc discretization
    
    Added test cases.

commit 4fe725a46ae84e41169bd50c7d0643139cd6bfdb
Author: nbv 
Date:   Thu Nov 29 10:02:14 2018 +0300

    0027976: Unstable work of 2d intersection algorithm for two lines
    
    1. Test case for the issue has been created.
    The problem is still reproduced on MASTER.
    
    2. Some test cases have been moved to lowalgos/2dinter grid.

commit 4b97f9b15b9ee39466ad827ec9f28688d893365d
Author: msv 
Date:   Mon Dec 17 15:16:55 2018 +0300

    0030416: Incorrect implementation of the method Bnd_OBB::SquareExtent
    
    The method Bnd_OBB::SquareExtent has been corrected.

commit 3d999c609040bde95727268a30f4e578558c5270
Author: kgv 
Date:   Thu Dec 13 10:32:45 2018 +0300

    0030411: Data Exchange - attached model is exported as empty JT and VRML file
    
    VrmlData_ShapeConvert::ConvertDocument() now handles reference labels within free shapes in the document.

commit 7803c28d9614cb272005bdff2fa0c5edd51ada05
Author: kgv 
Date:   Thu Dec 13 10:45:14 2018 +0300

    0030409: Data Exchange - exception during VRML file export
    
    VrmlData_ShapeConvert::addShape() - handle case when parent node is NULL.

commit eeabb8f86a3c10924f91c43ade843e5a9eb47261
Author: kgv 
Date:   Thu Dec 13 15:20:48 2018 +0300

    0030413: Tests - increase counters within perf/ncollection/A1

commit 1d441d1ac7633be161c180f7a96ecb43cabc870d
Author: skl 
Date:   Mon Dec 10 14:08:09 2018 +0300

    0030402: Data Exchange - exported VRML file has broken location information

commit 2719e4f8285570345611ef5df27daeebcf4a3b3f
Author: osa 
Date:   Tue Dec 11 13:40:40 2018 +0300

    0030223: Visualization, TKOpenGl - frustum culling does not clip objects within perspective camera.
    
    Fixed multiplication order of Projection and WorldView matrices

commit d4db985b5e878c9ae06b95c637286b0152f455cf
Author: emv 
Date:   Wed Dec 12 08:07:29 2018 +0300

    0030395: DRAW bop: Some sub-shapes of some of the argument become connected through other shapes and the argument became self-interfered.
    
    Integrating only test case for the issue as it is not reproduced any more.

commit f4d20b00864a64684546bb4b32d7a3b4799990ec
Author: kgv 
Date:   Sat Dec 8 14:20:17 2018 +0300

    0030400: Configuration - specify external dependencies user32 and shell32 explicitly

commit 405b6fc5f93174d774d03feb0e754b97fa37a845
Author: jgv 
Date:   Mon Dec 3 13:58:20 2018 +0300

    0030391: Improvement of the method BRepOffset_Tool::EnLargeFace
    
    Add options to set the length of enlargement for each of 4 directions.
    Add restriction of enlargement in the case of singularity on the surface.

commit 3c7a61eae25130408ee860fbb5280456756ece52
Author: oan 
Date:   Mon Dec 3 15:46:48 2018 +0300

    0029702: Foundation Classes - Introduce possibility to control parallel execution of BVH tools
    
    Methods IsParallel() and SetParallel() have been added to BVH_Sorter, BVH_DistanceField and BVH_BuilderTransient to control parallel execution on low-level.
    Fix compilation errors for old compilers without support of c++11 (std::begin, std::end)

commit da555fc2ab912f4c8dd8945b62b011f3dbf845e9
Author: oan 
Date:   Wed Apr 18 11:21:00 2018 +0300

    0029177: Foundation Classes - Adapt BVH package for use of OSD_Parallel
    
    Explicit calls to TBB in BVH_DistanceField, BVH_LinearBuilder and BVH_RadixSorter have been replaced.
    Task functors have been separated on execution and state parts for the sake of usage by OSD_Parallel.

commit 2ebb10988d4f5b0d54c0b8a1c720bd6b49382553
Author: emv 
Date:   Wed Dec 5 10:52:38 2018 +0300

    0030394: Modeling Algorithms - Empty result of offset operation (mode "Complete", join type - "Intersection")
    
    The following changes have been made for improving the offset algorithm:
    1. Multi-connexity support - intersection of the faces connected to the edge belonging to more than two faces is now performed.
    2. Avoid intersection of the faces connected through internal edge.
    3. Filling gaps (holes) in the splits of the created offset faces to increase possibility of creation of the closed volume from these splits.
    
    Test cases for the issue.

commit 0c09fd3c6f7697c11b8b7b5f2ccbd7f6d98e957e
Author: emv 
Date:   Thu Apr 12 16:22:34 2018 +0300

    0029692: Add functionality to make the group of touching same-dimensional shapes connected
    
    Implementation of the new class *BOPAlgo_MakeConnected* for making the group of touching same-dimensional shapes connected.
    Provide the material association for the first sub-elements of the input shapes.
    Provide possibility to make the connected shape periodic.
    
    Draw commands for new algorithm:
    * makeconnected - make the input shapes connected or glued, performs material associations;
    * cmaterialson - returns the materials located on the requested side of a shape;
    * cmakeperiodic - makes the connected shape periodic in requested directions;
    * crepeatshape - repeats the periodic connected shape in requested directions requested number of times;
    * cperiodictwins - returns all periodic twins for the shape;
    * cclearrepetitions - clears all previous repetitions of the periodic shape, keeping the shape periodic.
    
    Documentation & test cases for the new algorithm.

commit 53a73fc1d14a589bafb85881fe970b370246e0b3
Author: emv 
Date:   Mon Mar 19 07:50:06 2018 +0300

    0029683: Add functionality to make the TopoDS_Shape periodic in 3D space
    
    Implementation of the new class *BOPAlgo_MakePeriodic* for making the shape periodic in 3D space.
    Periodicity of the shape means that the shape can be repeated in any periodic direction any number of times without creation of the new geometry or splits.
    The idea of this algorithm is to make the shape look similarly on the opposite sides or on the period bounds of periodic directions.
    It does not mean that the opposite sides of the shape will be mirrored. It just means the the opposite sides of the shape should be split by each other and obtain the same geometry on opposite sides.
    Such approach will allow repeating the shape, i.e. translating the copy of a shape on the period, without creation of new geometry because there will be no coinciding parts of different dimension.
    
    Draw commands for the new algorithm:
    * makeperiodic - makes the shape periodic in required directions;
    * repeatshape - repeats the periodic shape in requested periodic direction;
    * periodictwins - returns the periodic twins for the shape;
    * clearrepetitions - clears all previous repetitions of the periodic shape.
    
    Documentation & test cases for the algorithm.

commit e9c073b86655e8c3e9e6a9ad10b52710af374496
Author: jgv 
Date:   Thu Nov 15 15:36:22 2018 +0300

    0030363: BRepLib::SameParameter with option "forced" corrupts valid shape
    
    Method BRepLib::SameParameter has been corrected to synchronize check of resulting tolerance with BRepCheck.

commit 061cd2d84141b86c05cadd6a4195a65b6ec69e12
Author: nbv 
Date:   Thu Nov 15 12:00:58 2018 +0300

    0029149: BRepMesh produces invalid mesh on the bound of adjacent faces
    
    1. Test case for the issue has been created. The issue is fixed by the patch #26106.
    
    2. Since now, "tricheck" command uses edge tolerance instead of edge deflection to check cross-face-errors (set of nodes of the edge on 1st face must be equal to set of nodes of the same edge on 2nd face).

commit e2fc86bbd9b3e66a922c1306f8fcad1e6bff30a5
Author: oan 
Date:   Mon Nov 19 12:41:55 2018 +0300

    0025594: Valid shape is not visualize in shading mode.
    
    Added test case.

commit 1bb8ce7b7d1f1e63472434915a7e6a407e20fcc2
Author: oan 
Date:   Fri Nov 16 14:20:54 2018 +0300

    0025628: BRepMesh fails to mesh face with open wire, considered as correct by checkshape
    
    Do not check status for "UnorientedWire", but check number of triangles instead.

commit 87036bbb70b936fad8ab644863e6b6dbd7c62605
Author: oan 
Date:   Fri Nov 16 14:03:51 2018 +0300

    0028719: Mesh - Display issue for special model
    
    Clean existing triangulation before meshing.

commit 99524c4d24a5c49c5022a5783f24abe15c62290b
Author: ika 
Date:   Fri Oct 19 16:45:18 2018 +0300

    0030273: Modeling Algorithms - Crash in postprocessing of imported shape.
    
    Now end points of intervals calculated in GeomAdapter_Curve are not replaced by GeomAdapter_Surface.
    Left bound of periodic curve less than UMin is not corrupted by LocateParameter during intervals calculating.

commit 44d5a096a3d978140ed01353e1ce0ccf8937fede
Author: emv 
Date:   Thu Nov 29 10:20:23 2018 +0300

    0030389: Data Exchange - StlAPI_Writer does not check if the face has triangulation
    
    When merging triangulation of the faces skip those having no triangulation.
    Test case for the issue.

commit 7e19e96ae9bff17ee9c8fc27d892775823fa7bdd
Author: apn 
Date:   Tue Nov 27 15:13:47 2018 +0300

    0030385: Samples - Warnings during generation of projects from .pro files
    
    Define variables ARCH and VCVER in .pro files in qt samples.

commit e05c25c1235d8740cde1a49bf43f6a4bad916c88
Author: abv 
Date:   Sat Nov 17 12:51:26 2018 +0300

    0027620: Test perf bop boxholes crashes DRAW
    
    Implementation of capturing of output to standard streams in DRAW (see command dlog) is revised to avoid problems with command "test" executing long test scripts:
    
    1. Method OSD_File::Capture() is removed: on Windows it was allocating a C file descriptor for a file opened using WinAPI, and never released that descriptor (once allocated, it cannot be released separately from WinAPI file handle). Direct calls to dup/dup2 are used instead.
    
    2. In Draw_Window.cxx the standard Tcl channels are initialized manually using corrected version of Tcl internal function. This works around a problem with Tcl channels on Windows being bound to OS device handle owned by the system which can get invalidated as result of calls to dup2() (used to capture output to standard streams).
    
    3. Temporary file for capturing is opened once and used to store whole log, thus the need to collect log in the string stream in memory is avoided
    
    4. Possible errors of dup() and dup2() are checked and reported
    
    Test demo draw dlog is added
    
    Off-topic changes:
    
    - Test demo draw getsource is corrected for VS2017 which generates file name in lowercase
    - Field myFaceBounds is initialized in constructor of the class BRepAlgo_NormalProjection to avoid undefined behavior
    - Test bugs modalg_5 bug24012 is corrected to use command nproject instead of custom one, and to check propertes of the resulting shape

commit 0df4bbd689e4640edc03a46235f2bc398c0c5b12
Author: nbv 
Date:   Tue Nov 20 16:34:27 2018 +0300

    0030380: Exception while reading Step-file
    
    Incorrect initialization of array (when upper bound is less than lower bound) has been avoided in some places.

commit a2fb712bead9aa015c9eb3f402fe160db13b0648
Author: kgv 
Date:   Thu Nov 22 22:51:37 2018 +0300

    0030382: Draw Harness, ViewerTest - command vdir doesn't work anymore

commit 1d54b80764aaf3eca366cfe888cb5da952c1adb1
Author: jgv 
Date:   Wed Jun 14 16:28:15 2017 +0300

    0028828: Modeling Algorithms - New functionalities of BRepFilletAPI_MakeChamfer algorithm
    
    Two new functionalities have been added in BRepFilletAPI_MakeChamfer:
    - constant throat (the section of chamfer is isosceles triangle, its height is constant in all sections - this is the "throat" of the weld);
    - constant throat with penetration(the section of chamfer is right-angled triangle, the first of two surfaces (where is the top of the chamfer) is virtually moved inside the solid by offset operation, the apex of the section is on the intersection curve between moved surface and second surface, right angle is at the top of the chamfer, the length of the leg from apex to top is constant - this is the "throat" of the weld).
    
    - New abstract classes BlendFunc_GenChamfer and BlendFunc_GenChamfInv have been added;
    - Class BlendFunc_Chamfer is now descended from BlendFunc_GenChamfer, class BlendFunc_ChamfInv is now descended from BlendFunc_GenChamfInv.
    - New class BlendFunc_ConstThroat is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatInv is descended from BlendFunc_GenChamfInv.
    - New class BlendFunc_ConstThroatWithPenetration is descended from BlendFunc_GenChamfer, new class BlendFund_ConstThroatWithPenetrationInv is descended from BlendFunc_GenChamfInv.
    - Class ChFi3d_ChBuilder has now mode of chamfer that can be ClassicChamfer, ConstThroatChamfer and ConstThroatWithPenetrationChamfer.
    - Two new DRAW Test Harness commands "chamf_throat" ant "chamf_throat_with_penetration" have been added for the second mode of ChBuilder.
    - The interface of DRAW Test Harness command "chamf" changed for symmetric case.

commit 364c88864bef89b644d5b3e07e506866525b10e3
Author: nbv 
Date:   Fri Nov 2 10:06:26 2018 +0300

    0025950: Bad performance of intersection algorithm.
    
    1. Test case has been created.
    
    2. Minor correction in DrawTrSurf.cxx file.

commit ce1c28b8b47e0f055703370949864ed00516a57b
Author: kgv 
Date:   Wed Nov 14 15:15:04 2018 +0300

    0030374: Visualization, TKOpenGl - activate texture unit Graphic3d_TextureUnit_1 after OpenGl_LayerList::renderTransparent()

commit 5290fb106f2695e35ae44b91ff4d1b6b47409526
Author: ika 
Date:   Thu Nov 8 15:16:12 2018 +0300

    0030362: Data Exchange - Writing dimensions with inches produced invalid file.
    
    Writing dimensions into STEP files in inches not produce invalid references between STEP entities.

commit 5fe14d0fac01827796c44a07acae1397d1ea1e8e
Author: nbv 
Date:   Fri Nov 9 10:22:55 2018 +0300

    0030354: BOP Cut doesn't modify the attached face
    
    The reason of this problem is in wrong work of classifier algorithm (see the message ~0080992 to the issue #30354). Therefore, the algorithm of IntTools_FClass2d class has been improved. Namely, now orientation of the polygon is computed from area-criterion instead of angle. As result, some simplification of the method IntTools_FClass2d::Init(...) has been made.
    
    
    
    1. New constructor has been added to the class CSLib_Class2d. It allows applying TColgp_SequenceOfPnt2d.
    
    2. DRAW-commands "addpolygonnode" and "polygonprops" have been created. They are covered by the test case "tests/geometry/2dpolygon/A1".
    
    3. New method Poly::PolygonProperties(...) has been created. See help for detailed information.
    
    4. New testgrid "lowalgos classifier" has been created.

commit dc57476a0e478cd473400be81495083f2233ce12
Author: oan 
Date:   Fri Nov 2 16:50:47 2018 +0300

    0028379: BRepMesh produces mangled mesh for a cone
    
    Split seam edge of a cone according to the specified parameters.
    Seam edge functor is called before check of triangulation consistency in order to keep face status consistent.
    The cause is that split seam edge can set Outdated flag when Reused is set by another functor without reset which can lead to refusement of such face by triangulation procedure.
    Fix compilation error on VS2008

commit 9d083161b6c8c22a0674a60f09971b170a1d3910
Author: nbv 
Date:   Fri Nov 9 18:00:46 2018 +0300

    0025952: Wrong intersection curve
    
    Test cases for the issue have been created.

commit 1f17d5fbf72c702b4bda0aaaae931f0e5cbc1c44
Author: nbv 
Date:   Thu Nov 8 15:18:16 2018 +0300

    0030234: BRepMesh_IncrementalMesh fail to discretize some zero-length free edges
    
    Test case for the issue has been created.
    This problem is fixed by the patch #30345.

commit 0f16fd3cec449f4e11f505c3ee438a348350ea58
Author: nbv 
Date:   Tue Nov 6 16:40:02 2018 +0300

    0029962: Master version of BRepMesh does not respect obvious details despite of specified deflection
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit ac2ee719c0738c71c7909b14f1048efbb5372593
Author: nbv 
Date:   Tue Nov 6 17:03:31 2018 +0300

    0029685: Meshing - BRepMesh does not respect requested deflection
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 9d09a1263e39413d92dc982a54f42378ccba6152
Author: nbv 
Date:   Wed Nov 7 16:15:46 2018 +0300

    0029751: Incremental mesh produces different meshes for windows and linux (debian 8)
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 57d0f56b5873aa8e0d525ea9f01d0aebdec5a7f5
Author: nbv 
Date:   Wed Nov 7 15:59:29 2018 +0300

    0027158: BRepMesh manage vertex tolerance in parametric space in improper way
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit a385e6d1cd93ff4e645e42d866676f1de3458c64
Author: nbv 
Date:   Wed Nov 7 14:19:10 2018 +0300

    0026889: Very poor mesh result from shape
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 70bc8e4a71d72031f5be7c5fffa7f81af4750235
Author: nbv 
Date:   Wed Nov 7 15:44:01 2018 +0300

    0023795: Performance regression of meshing
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 080fcebfcacaacafcf28ec527fa7acfb75d03d47
Author: nbv 
Date:   Wed Nov 7 16:56:57 2018 +0300

    0026928: Edges are meshed too coarsly
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 51cf5bb604005774be08ce107a3d1b7cd63d8065
Author: nbv 
Date:   Thu Nov 8 11:45:01 2018 +0300

    0030345: Mesh, BRepMesh_CurveTessellator - GCPnts_TangentialDeflection throws Standard_ConstructionError
    
    Now the algorithm GCPnts_TangentialDeflection is initialized by appropriate parameters.

commit e2f8fe449c653a758f238a681c83194af9ac9a12
Author: nbv 
Date:   Thu Nov 8 09:57:17 2018 +0300

    0025042: Cone Meshing: Missing two connecting edges.
    
    Adding test case for the issue.
    The problem has been fixed after the patch #28379.

commit 42a213c67fa377f58cd4e5df66a6f672720ea1e6
Author: nbv 
Date:   Wed Nov 7 14:56:27 2018 +0300

    0023513: BRepMesh doesn't stop until out-of-memory
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 22887d12c4e2d0f9b5153fe69939544a38f96327
Author: kgv 
Date:   Tue Nov 6 19:42:22 2018 +0300

    0030348: Shape Healing - ShapeFix_Wire::FixEdgeCurves() throws Standard_OutOfRange exception
    
    Call FixClosed() instead of out-of-range FixConnected() at the last edge.

commit fb99e177e1f08f51dae716fe2c0edea7a087a3f6
Author: nbv 
Date:   Tue Nov 6 14:22:14 2018 +0300

    0027693: BRepMesh: fine edge tessellation leads to excess number of triangles along the whole U or V stripes
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 24f355f0971563c3767d358432833d46a8c27cde
Author: nbv 
Date:   Thu Nov 8 10:39:21 2018 +0300

    0027845: BRepMesh produces invalid result on spline cavity
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 17412926165b3c94a5451f4165cd5e204cd10c73
Author: nbv 
Date:   Tue Nov 6 14:46:15 2018 +0300

    0026965: BRepMesh_IncrementalMesh hangs, and consumes infinite memory
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit 3f9b6e9ea4527ef8d2c09d659089a4971e7de070
Author: nbv 
Date:   Tue Nov 6 17:22:34 2018 +0300

    0029205: BRepMesh skips some edges and generates invalid triangulation for the face
    
    Adding test case for the problem.
    The issue has been fixed by a patch for #26106.

commit cab49d68fc845c7865d445dc037a50f9cbb7e1b3
Author: jgv 
Date:   Mon Oct 1 18:18:54 2018 +0300

    0030186: BRepOffsetAPI_MakePipe Generated() method produces no results for the spine edges
    
    Add method BuildHistory providing history for sub-shapes of profile and spine to BRepFill_Pipe.

commit c3ca03eb17874e80409f32efbdcefb4095d45eb2
Author: nbv 
Date:   Wed Nov 7 13:22:42 2018 +0300

    0030347: Mesh, BRepMesh_ModelPostProcessor - NCollection_Array1 throws Standard_RangeError
    
    Obtaining of 3D-polygon is forbidden for not discretized edge.

commit 8946be34223ee6fa1c6574f41c7a79778be3a8ec
Author: kgv 
Date:   Tue Nov 6 16:07:21 2018 +0300

    0030344: Coding Rules - suppress GCC compiler warnings -Wstrict-overflow on Standard_OutOfRange_Raise_if and Standard_RangeError_Raise_if

commit 23babb36ecbfe858cd052388418ea1a84a94781a
Author: abk 
Date:   Wed Oct 31 19:04:57 2018 +0300

    0030243: Regression in HLR PolyAlgo in OCCT 7.1.0
    
    The misprint leading to the problems was fixed.
    
    "Draw" tests were created to check the fix.
    
    "Draw" test bugs/modalg_7/bug28784 was corrected
    for right changes of the results.

commit 6e7791948b3fc1f6509d3cbf8c57f13cb99f3945
Author: drazmyslovich 
Date:   Mon Apr 23 15:47:52 2018 +0200

    0029716: Some TDF and XCAFDoc labels-related issues
    
    1. "Descendants" closure mode is not taken into account by TDF closure tool
    2. CopyTool always creates a new label at the target ignoring the relocation table
    3. XCAFDoc_GraphNode throws an exception if Child of Father is not found during the unsetting

commit cf4bee7c0c0b9a0fcbe84f706217375127ff33ff
Author: kgv 
Date:   Fri Nov 2 17:55:03 2018 +0300

    0027115: Configuration, genproj - add headers to generated MS VS projects
    
    Header files and non-compilable source files are now included within generated VS projects.
    genproj now generates DRAWEXE.rc.

commit 6ff61620a35a7074cf278e29bb712f75b20e7e9f
Author: nbv 
Date:   Fri Jan 12 17:15:02 2018 +0300

    0029329: Low performance of the General Fuse algorithm
    
    Creation of test case.

commit c84c2ef70ce5d9d35591772af2e3122a388b3541
Author: kgv 
Date:   Fri Nov 2 18:40:51 2018 +0300

    0030337: Draw Harness, ViewerTest - do not restrict vtexture to AIS_Shape

commit 3c8287eb0a7dd9fb14e5c654b83926105bb76458
Author: nbv 
Date:   Fri Nov 2 10:57:48 2018 +0300

    0026820: bsection returns single vertex instead of curve
    
    Test case has been created only because the problem is not reproduced on current MASTER.

commit 9bc5f5850a61be8afe2bd8c2490903a418fa8fc4
Author: nbv 
Date:   Mon Oct 29 13:34:21 2018 +0300

    0021494: Intersection between cone and sphere fails
    
    The condition (workaround), which forbid to return the intersection curve, has been removed.

commit 32c408d76a41ca0e86284d1459bf84ab67c449a5
Author: nbv 
Date:   Thu Nov 1 14:32:08 2018 +0300

    0025082: bopcommon returns different result on Windows and Linux system
    
    Test cases have been created because the problem is not reproduced on current MASTER

commit 4006ca98a2bd133b51934c912ccdc53a30bb8a3f
Author: nbv 
Date:   Wed Oct 31 14:29:28 2018 +0300

    0030322: Remove DRAW-command "mesh" as useless
    
    In fact, the DRAW-command "mesh" is duplicate of "incmesh".
    
    The difference is that the "mesh" creates DRAW-object MeshTest_DrawableMesh. However, this object is currently not applicable (e.g. we cannot display it).
    
    DRAW-commands "mesh", "addshape", "smooth", "edges", "vertices", "medge", "mvertex", "triangle", "dumpvertex", "dumpedge", "dumptriangle" and "onetriangulation" have been removed.
    
    The class MeshTest_DrawableMesh has been removed as useless.
    
    Testgrids "mesh standard_mesh" and "mesh advanced_mesh" have been removed.

commit 6933df8fe0845a1393fe6c8c34ac977e1caee1b3
Author: nbv 
Date:   Thu Oct 25 15:21:34 2018 +0300

    0030305: Strange logic in BRepMesh_Deflection::ComputeDeflection(...) method
    
    Before the fix, angular deflection was scaled to some coefficient in the method BRepMesh_Deflection::ComputeDeflection(...). Now, angular deflection is constant.

commit 46478ffe32cfca537a35b744700e082f59ec4c4c
Author: nbv 
Date:   Fri Oct 19 16:38:02 2018 +0300

    0030008: BRepMesh does not respect angular deflection in internal area of bspline surface
    
    1. Check whether the mesh satisfies the required angular deflection has been amended. Namely normals (to the surface) in the ends of any not "frontier" link are made collinear (with the given angular tolerance).
    
    2. New parameters AngleInterior and DeflectionInterior have been added in IMeshTools_Parameters structure.
    
    3. In case of thin long faces with internal edges, add points of internal edges to control parameters using grabParamsOfInternalEdges() in order to avoid aberrations on its ends. Disable addition of parameters from boundary edges in case of BSpline surface. Deviation can be controlled through the deflection parameter.
    
    4. Grab parameters from edges in case if there is just a single interval on BSpline surface along U and V direction.

commit 7bd071edb13e5aa7a1d3aed4ed4366fe3da83324
Author: oan 
Date:   Mon Oct 9 13:04:54 2017 +0300

    0026106: BRepMesh - revision of data model
    
    Removed tight connections between data structures, auxiliary tools and algorithms in order to create extensible solution, easy for maintenance and improvements;
    Code is separated on several functional units responsible for specific operation for the sake of simplification of debugging and readability;
    Introduced new data structures enabling possibility to manipulate discrete model of particular entity (edge, wire, face) in order to perform computations locally instead of processing an entire model.
    
    The workflow of updated component can be divided on six parts:
    * Creation of model data structure: source TopoDS_Shape passed to algorithm is analyzed and exploded on faces and edges. For each topological entity corresponding reflection is created in data model. Note that underlying algorithms use data model as input and access it via common interface which allows user to create custom data model with necessary dependencies between particular entities;
    * Discretize edges 3D & 2D curves: 3D curve as well as associated set of 2D curves of each model edge is discretized in order to create coherent skeleton used as a base in faces meshing process. In case if some edge of source shape already contains polygonal data which suites specified parameters, it is extracted from shape and stored to the model as is. Each edge is processed separately, adjacency is not taken into account;
    * Heal discrete model: source TopoDS_Shape can contain problems, such as open-wire or self-intersections, introduced during design, exchange or modification of model. In addition, some problems like self-intersections can be introduced by roughly discretized edges. This stage is responsible for analysis of discrete model in order to detect and repair faced problems or refuse model’s part for further processing in case if problem cannot be solved;
    * Preprocess discrete model: defines actions specific for implemented approach to be performed before meshing of faces. By default, iterates over model faces and checks consistency of existing triangulations. Cleans topological faces and its adjacent edges from polygonal data in case of inconsistency or marks face of discrete model as not required for computation;
    * Discretize faces: represents core part performing mesh generation for particular face based on 2D discrete data related to processing face. Caches polygonal data associated with face’s edges in data model for further processing and stores generated mesh to TopoDS_Face;
    * Postprocess discrete model: defines actions specific for implemented approach to be performed after meshing of faces. By default, stores polygonal data obtained on previous stage to TopoDS_Edge objects of source model.
    
    Component is now spread over IMeshData, IMeshTools, BRepMeshData and BRepMesh units.
    
    
    
    1. Extend "tricheck" DRAW-command in order to find degenerated triangles.
    
    2. Class BRepMesh_FastDiscret::Parameters has been declared as deprecated.
    
    3. NURBS range splitter: do not split intervals without necessity. Intervals are split only in case if it is impossible to compute normals directly on intervals.
    
    4. Default value of IMeshTools_Parameters::MinSize has been changed. New value is equal to 0.1*Deflection.
    
    5. Correction of test scripts:
    
    1) perf mesh bug27119: requested deflection is increased from 1e-6 to 1e-5 to keep reasonable performance (but still reproducing original issue)
    2) bugs mesh bug26692_1, 2: make snapshot of triangulation instead of wireframe (irrelevant)
    
    Correction in upgrade guide.

commit 80da8585f4351470d5034519a8468a88bd12a819
Author: emv 
Date:   Wed Oct 24 09:12:26 2018 +0300

    0030281: Regression to 7.2.0: Modeling Algorithms - Wrong result of CUT operation
    
    Boolean Operations - Force the face with internal edges to be treated by the BuilderFace algorithm. It is needed for the cases when internal edges of the face go from side to side and should really split the face.
    Test case for the issue.

commit 9619ef4c940cd127193522054b4a773c5260918d
Author: jgv 
Date:   Thu Oct 25 16:30:56 2018 +0300

    0030174: ShapeUpgrade_UnifySameDomain does not unify cylindrical faces
    
    Hotfix for issue 27271 (avoiding potential seam edges) is deleted.
    
    Correction of test case

commit e28b8c6218617f6842d598917626427be468dd45
Author: nbv 
Date:   Fri Oct 26 11:37:00 2018 +0300

    0029673: Exception while Face-Face intersection
    
    If 2D-curves are requested in intersection result but they cannot be created (by some reason) then the full set of curves (3D and two 2D) is rejected from the intersection result.

commit a6ebe9fc7c1dc34a5b2c375d9849d1020efd4282
Author: nbv 
Date:   Fri Oct 26 14:06:28 2018 +0300

    0028493: [Regression vs 7.0.0] Intersection algorithm produces curve with loop
    
    1. New testgrid "lowalgos/intss" has been created. It will contain all test cases on geometrical intersection of two surfaces ("intersect" DRAW-command) and two faces ("bopcurves" DRAW-command).
    
    2. New test case for the issue #28493 has been created because the problem is not reproduced on MASTER.
    
    3. Test case (lowalgos/intss/bug24472) for the issue #29501 has been modified in order to check loops of the resulting intersection curves.

commit 100be67aa408e03c4f344dbb63ed418291eb661e
Author: ika 
Date:   Fri Oct 26 18:04:10 2018 +0300

    0030315: Data Exchange - Crash reading views during STEP import.
    
    Add NULL check to protect against crash.

commit df1d6870c0c8ad74e52f686f0fafed41122f55d9
Author: nbv 
Date:   Thu Oct 25 17:14:21 2018 +0300

    0024676: Wrong result done by intersection algorithm
    
    Only test case has been created because the problem is not reproduced on the current MASTER

commit f15c5f90c3b0600f5095d623ad9f7d874d0036ce
Author: aba 
Date:   Wed Oct 24 19:25:12 2018 +0300

    0030291: Visualization - manipulator crashes when is attached with scaling mode disabled
    
    - in ComputeSelection() method checks are added to avoid taking triangulation of manipulator parts that are not computed

commit cdcf6fc27ae893f873a94eee0e32cebacbea9d7a
Author: nbv 
Date:   Tue Oct 23 16:58:59 2018 +0300

    0026509: Intersection algorithm produces set of curves providing closed contour in 3D-space and not closed contour in 2D-space
    
    Test cases have been created. No fix is needed because the described problem has not to be cause of failing of high-level OCCT-algorithms.
    See the message ~80300 (issue #26509) for detail information.

commit 04f0f1b046fd90b263cb9c1071f468ff7888e94c
Author: kgv 
Date:   Tue Oct 23 17:39:36 2018 +0300

    0030270: Modeling Algorithms - BRepBndLib should provide an option for skipping infinite entities
    
    Bnd_Box now keeps calculating of finite part of bounding box after specifying it to be Open in some direction.
    The finite part can be retrieved using new method Bnd_Box::FinitePart().
    
    Prs3d::GetDeflection() now uses Bnd_Box::FinitePart() when applying relative deflection.
    
    Draw Harness command bounding has been extended with option -finite returing a finite part of AABB.

commit 253cfde728daadd69031667282985fe873a899ed
Author: vro 
Date:   Wed Oct 24 14:04:57 2018 +0300

    0030214: Application Framework, TPrsStd_AISPresentation - Hidden Presentations Cannot Be Removed

commit a8b8f90dd3d7970d7a62c62b2f02fb41473982ce
Author: nbv 
Date:   Tue Oct 23 14:07:11 2018 +0300

    0024905: Boolean cut produced invalid result
    
    The method BOPAlgo_PaveFiller::PutClosingPaveOnCurve(...) has been improved in order to take into account extended vertex tolerance.

commit 5ada54fb790c148956349aa2478316a71c3d968a
Author: skl 
Date:   Tue Oct 23 07:50:33 2018 +0300

    0030280: Data Exchange - broken VRML output due to unescaped symbols starting comment block

commit e5826d916c66b65c26f5d7eb3e78db973b4e8103
Author: ifv 
Date:   Tue Oct 16 17:10:44 2018 +0300

    0030203: ProjLib_ComputeApproxOnPolarSurface::BuildInitialCurve2d array out of bound
    
    Bug fixing: avoiding calculation if tPp == NbOfPnts

commit d8406b2f3aaf717bb631f06633a02ac21acd4c53
Author: ifv 
Date:   Mon Oct 15 15:38:00 2018 +0300

    0030199: Extrema Point<->Curve gives inaccurate result
    
    Special treatment of bspline curve of first degree is implemented in Extrema_GExtPC.gxx
    Test case is added
    Some test cases are modified according to actual state of algorithm

commit 3b4c69452bc6cf55a39bb98281b919a4b0fc6587
Author: mnv 
Date:   Fri Sep 7 10:18:46 2018 +0300

    0030119: Visualization, OpenGl_ShaderManager - implement mechanism generating in/out section of shader programs
    
    Added functionality which generate in/out part of shaders source code from prepared list of variables.

commit 87a64d53ab4714dcaa89370d3c1b47f7d378d4ad
Author: kgv 
Date:   Fri Oct 19 11:06:41 2018 +0300

    0030269: Modeling Algorithms - unhandled Standard_NullObject within BRepBndLib::Add()
    
    Added BRep_Tool::IsGeometric() check before every BRepAdaptor_Curve::Initialize().

commit b49b181901ee3cde623f92547b78194a6bef1d29
Author: osa 
Date:   Mon Oct 22 11:32:46 2018 +0300

    0030278: Foundation Classes - make IndexedMapNode as protected inside of NCollection_IndexedMap

commit cb6a45e3182e3b03ea1616411c26251a0c57b30b
Author: jgv 
Date:   Fri Oct 12 13:02:34 2018 +0300

    0030204: BRepOffsetAPI_MakePipeShell crash
    
    Add protection from type mismatch while ensuring Same Parameter on U-edges

commit b34d86cb28b03b7483f40d69b5c62c50a6807432
Author: szy 
Date:   Tue Oct 9 17:30:10 2018 +0300

    0030169: Application Framework - Document format version management improvement

commit 90fd614536913a34592ba270d8505ca48bd417cb
Author: kgv 
Date:   Wed Oct 17 14:01:30 2018 +0300

    0030248: Volume Rendering - importing volume with default parameters leads to crashes within OpenGl_Texture::Init3D()

commit 5f41ce6626909e1df87d226b9703233697ad7959
Author: ifv 
Date:   Thu Oct 11 15:52:48 2018 +0300

    0030230: An optimal bounding box of a face is too large
    
    Bug fixing
    Test case added

commit 20f720f11b2116846d2b46caf3b2cbcaaac1457d
Author: apn 
Date:   Tue Oct 16 20:24:46 2018 +0300

    0030241: Test system - create option to exclude test groups from testgrid command
    
    Add option "-exclude" to testgrid command.
    It's possible to exclude groups, grids and test cases from test execution.
    Add possibility to exclude subgroups from executed groups and test cases from executed subgroups\groups.

commit 78a8dfb9f85ea4e00907431492225f7d0ae8d537
Author: vro 
Date:   Mon Oct 15 15:07:52 2018 +0300

    0030215: Application Framework, TPrsStd_AISPresentation - Enable Lazy Presentation Updates

commit da87ddc3ebd3893c11f92f5ae42ec29cc6ee1fe0
Author: asl 
Date:   Tue Oct 16 23:17:47 2018 +0300

    0030076: Visualization, TKV3d - API to update certain vertex attribute(s) without recomputing a presentation
    
    Graphic3d_Buffer can be now optionally initialized as non-interleaved array of vertex attributes
    and provides an interface to invalidate buffer sub-range tracked by OpenGl_PrimitiveArray.