    On branch IR-2020-03-27
    Your branch is up to date with 'origin/IR-2020-03-27'.

    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
    	occ_occt_pack_wnt32.bat
    	occt-7.4.1dev-2020-03-28-src.7z
    	occt-7.4.1dev-2020-03-28-vc14-64.7z

    nothing added to commit but untracked files present (use "git add" to track)
    commit 420f5c868231b05a936c35a8f6a7aaf311cbad64
    Author: kgv
    Date:   Thu Mar 26 23:59:02 2020 +0300

        0031467: Foundation Classes, OSD_MemInfo - disable reading /proc/%d/status with Emscripten

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

    commit 85b147584e01b731cbca31ed80ea93893e5b8397
    Author: kgv
    Date:   Thu Mar 26 13:48:09 2020 +0300

        0031465: Data Exchange, RWObj_Reader - skip duplicating smooth groups

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

    commit 7f24b768c30df045ec4a7c712724195643081dfb
    Author: kgv
    Date:   Sat Mar 14 13:32:48 2020 +0300

        0031458: Visualization - refine classes across Prs3d and StdPrs packages

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

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

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

        Package Graphic3d has been moved from TKV3d to TKService.

    commit 787ff2408c680462f82753ae698239cf5587fa98
    Author: kgv
    Date:   Sat Mar 21 16:31:03 2020 +0300

        0031456: Visualization - move out Dimensions and Relations from package AIS to PrsDims

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

    commit 64943a5187fa485536cd2dd1dd4d51b13d189b89
    Author: mzernova
    Date:   Thu Mar 26 10:03:48 2020 +0300

        0031459: Visualization, AIS_TextLabel - add missing getters

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

    commit 486ad71287503fb5f8dad83b8283c31ea4700022
    Author: jgv
    Date:   Sun Mar 22 22:39:12 2020 +0300

        0031441: UnifySameDomain corrupts the shape

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

    commit c9125b6232e39e3c9ecc9c284da94a4e6654255d
    Author: oan
    Date:   Thu Mar 12 17:37:09 2020 +0300

        0031378: Modeling algorithms - brep incremental mesh is frozen during STEP file loading

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

    commit 87c7d55469644374760149a6cccb5ccff947cab9
    Author: ifv
    Date:   Fri Mar 20 14:28:02 2020 +0300

        0031415: Modeling Algorithms - Solid classifier works incorrectly on a cylinder

        BRepClass3d_SClassifier.cxx : revert integration for CR29712

        Test case added

    commit 14b741b0ef831d72e0f97a3e699c8a8a37fe30fc
    Author: abv
    Date:   Thu Mar 19 10:03:40 2020 +0300

        0031454: Visualization - perceptually uniform color scale

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

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

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

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

    commit 89180f98222651faa3f1cffe9f6d5a9abae8a4e8
    Author: gka
    Date:   Mon Feb 17 20:24:59 2020 +0300

        0029803: STEP Import: Units (inch) not applied to entity possessing GEOMETRIC_REPRESENTATION_CONTEXT

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

        Added test bugs step bug29803

    commit 517ba7aa70cf6570e59f57ea51664598ae8e2c99
    Author: ifv
    Date:   Tue Mar 24 10:23:46 2020 +0300

        0031460: Modeling Algorithms - Regression: Revolution not done.

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

    commit 68064d7bc3806c775cd5bd3a6b16bc25c7788148
    Author: antonavt
    Date:   Mon Mar 2 12:16:14 2020 +0300

        0028880: Modeling Algorithms - add missing BRepFeat_SplitShape::Right() getter

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

    commit 62afcbbb4afd58ba26c063e763b3f6dddefafdd6
    Author: abv
    Date:   Fri Mar 20 23:41:52 2020 +0300

        0031455: Modeling Algorithms - useless pointer casts in BRepAlgoAPI classes

        Useless casts are removed.

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

    commit 7ef1f9b7c1d9301c158a593dc5facb5a33450318
    Author: gka
    Date:   Thu Feb 27 15:26:42 2020 +0300

        0031301: Data Exchange - Export to STEP corrupts the shape

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

        Second test script for bug 0031301

    commit 877fd611ac5bd76f43a6cd76581b2afe02e856a4
    Author: kgv
    Date:   Thu Mar 19 09:47:09 2020 +0300

        0031442: Samples - remove unsupported sample mfc/occtdemo

    commit dc9f1dbf693fb3806cab5488cf37fe6dbdd1c10e
    Author: kgv
    Date:   Thu Mar 19 17:14:48 2020 +0300

        0031445: Advanced wrappers, C# wrapper - provide device info in About dialog of WPF sample

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

    commit 895a80d38a9eb4b1464ecefd90406e5a413e269d
    Author: ifv
    Date:   Tue Mar 17 11:45:30 2020 +0300

        0031404: Modeling Algorithms - BOP Fuse produces a self-interfering or a good shape depending on the order of arguments

        Approx_ComputeCLine.gxx : number of possible cuttings is increased

        tests/bugs/modalg_7/bug31404 : test case added

    commit 6a9f983a1684d67d332e5a0d02822ac17575dd0f
    Author: gka
    Date:   Wed Feb 26 16:35:58 2020 +0300

        0030052: Data Exchange - STEP import missing surfaces

        Changes made for #31233 are reverted.

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

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

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

    commit 22fa1da36ebcd97e604034d47c103dff0f39c24a
    Author: mgn
    Date:   Wed Mar 18 12:30:44 2020 +0300

        0031439: Visualization - Access to the active axis of AIS Manipulator

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

    commit fb99177766f64223da023f688467b3ff7e6f69fb
    Author: Roman Lygin
    Date:   Sat Mar 14 13:49:17 2020 +0300

        0031430: Offset surfaces on C1 surfaces (with multiplicity equal to degree) may still throw exception

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

    commit 67441d0ca30466eec83edf8e8f87fcfd45c07119
    Author: kgv
    Date:   Fri Mar 13 00:35:06 2020 +0300

        0031424: Visualization - stop using Prs3d_Drawer::HLRAngle() parameter

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

    commit b5163d2f8d19e9120fc9c019f3e1fd41100c8b11
    Author: kgv
    Date:   Sat Mar 14 20:34:46 2020 +0300

        0031431: Visualization, PrsMgr_PresentableObject - simplify HLR computing interface

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

    commit 29263c947e73c9c2dc411f712cad2ffc24ffc375
    Author: kgv
    Date:   Wed Mar 11 17:06:49 2020 +0300

        0031425: Visualization - free Edge has selection sensitivity inconsistent to presentation

        BRepTools::Triangulation() has been extended with a new parameter for checking Poly_Polygon3D presense within free Edges.
        StdPrs_WFShape::Add() now performs auto-triangulation in the same way as StdPrs_ShadedShape::Add().
        StdSelect_BRepSelectionTool::GetEdgeSensitive() now creates Select3D_SensitiveSegment instead of Select3D_SensitiveCurve for tessellated segment.
        Select3D_SensitiveSegment default sensitivity factor has been changed to 3 pixels to match Select3D_SensitiveCurve.

        Test case bug23625_1, added workaround for out-of-range crash in HLRBRep_PolyAlgo on re-triangulated shape.

    commit 08669adf1b1f73ccb5c01deb7eb2404ac74aa8d0
    Author: kgv
    Date:   Tue Mar 10 21:56:59 2020 +0300

        0031419: Visualization, TKOpenGl - per-object Graphic3d_TOSM_FACET is ignored within obsolete FFP

        OpenGl_ShaderManager::PushState() now sets GL_SHADE_MODEL within FFP.
        OpenGl_Context::SetShadeModel(), added property holding cached GL_SHADE_MODEL state.

    commit 68ad329c9d14532670ff282541ef1534788fa1ee
    Author: ifv
    Date:   Tue Feb 25 11:27:28 2020 +0300

        0031303: Different calculation of offset direction in Adaptor2d_OffsetCurve and Geom2d_OffsetCurve

        Calculations in Adaptor2d_OffsetCurve are unified with similar calculations in Geom2d_OffsetCurve using   methods extracted from Geom2dEvaluator_OffsetCurve to Geom2dEvaluator.cxx

        BRepFill_OffsetWire.cxx, Geom2dGcc_Circ2d2TanRadGeo.cxx, Geom2dGcc_Circ2dTanOnRadGeo.cxx, MAT2d_Circuit.cxx are modified to satisfy changing offset direction.

    commit d6e18114eb95ed3affb9cf670ea08454dceffc2c
    Author: azv
    Date:   Thu Mar 5 11:07:37 2020 +0300

        0031407: [Regression to 7.3.0] Extrema does not process parallel circles correctly

        Use correct ranges of circles when processing the concentric case. Repeat the range comparison 3 times shifting each time for a half-period to process the extrema between boundary points of arcs.

    commit e5c11edd7bb9d776f7206b9785acbc9b19c487cf
    Author: kgv
    Date:   Wed Mar 4 17:32:44 2020 +0300

        0031405: Advanced wrappers, C# wrapper - dark colors in WPF sample

        D3DHost_FrameBuffer::IsSRGBReady() - added new propery defining if
        D3D application handles FBO as sRGB-ready texture or not.

    commit fffc249f21b71690bc500e5854c3a5da6a128e46
    Author: ifv
    Date:   Fri May 31 16:36:44 2019 +0300

        0027531: Modeling Algorithms - Make the algorithm Approx_SameParameter more clear and robust

        Approx/Approx_SameParameter.cxx,hxx:
        Class Approx_SameParameter refactoring. Logic is changed in many places to unify usage, simplify maintenance.
        Method Curve2d() is changed to return Geom2d_Curve instead of Geom2d_BSplineCurve. Corresponding message is added to the upgrade guide.
        .lxx file is merged into .hxx.
        Tangent computation is extracted into special method.
        Comparing number of sample points after CheckSameParameter(...) is added to define cases with projection fails.
        Undesirable behavior when curves are not same parameterized is fixed.

        Geom2dAdaptor/Geom2dAdaptor.cxx: treatment of offset curve is added

        Adaptor3d/Adaptor3d_TopolTool.cxx: minor improvement of performance for BSpline surfaces with huge number of knots

        Tests were modified according to new behavior of sameparameter algorithm

    commit 739c7e596882c975cd279f113f1c4b1f555dd81d
    Author: emv
    Date:   Fri Feb 21 18:19:03 2020 +0300

        0030386: Modeling Algorithms - Unable to perform Cut operation

        Get rid of requirement for the arguments of Boolean operations of type CUT and COMMON to be one-dimensional shape. For FUSE operation this requirement is kept.

    commit f732ea1ab553b92e04557e9a2252a8b36eb1af9f
    Author: ifv
    Date:   Thu Feb 20 14:42:47 2020 +0300

        0031381: Foundation Classes -wrong evaluations for rational BSpline curves using Adaptor curves

        BSplCLib_Cache.cxx - it is forbidden zeroing derivatives for rational splines when derivative order more than degree

        bug31381 - test case added

    commit ae87bb87d01660bc27090beabc1e7ea92ba1bb85
    Author: vro
    Date:   Fri Feb 28 15:37:44 2020 +0300

        0031400: Application Framework, TPrsStd_AISPresentation - Ocaf selection mechanism doesn't allow multiple selection

        TPrsStd_AISPresentation::ActivateSelectionMode() uses Multiple enumeration for definition of the selection mode instead of GlobalOrLocal.

    commit 3d60d73f765b6b75a803d74b6ef571df17b99bbc
    Author: kgv
    Date:   Tue Feb 25 14:00:31 2020 +0300

        0031394: Visualization, TKOpenGl - define OpenGl_Element::EstimatedDataSize() interface

        OpenGl_FrameStats::updateStructures() now relies on OpenGl_Element inteface
        instead of handling OpenGl_PrimitiveArray specifically
        for collecting Graphic3d_FrameStatsCounter_EstimatedBytesGeom counter.
        OpenGl_PrimitiveArray and OpenGl_Text implement new interface.

    commit 0950253ca6a21ca4d114a8743b4b9990ec0398be
    Author: nds
    Date:   Tue Feb 18 08:53:37 2020 +0300

        0031366: Documentation - Doxygen warnings in Standard_Dump.hxx

    commit f6d8ca74d5d27ff1ee2170409b6e37d3bdbbdfdf
    Author: nds
    Date:   Sun Feb 9 18:20:13 2020 +0300

        0030749: Inspectors - compilation under tcl scripts

        - 'Search Qt4' is renamed into 'Search Qt'. Configuration uses Qt5 from now. For Qt4 use CMake configuration.
        - 'Build Inspector' check box is added. It causes 'tools' toolkits compilation. Activates automatically 'Search Qt' control.
        - Many Tcl procedures are extended with additional parameter to giving a directory of processed toolkits. The default directory is 'src', inspector directory is 'tools'. This way is similar Inspector compilation implemented in Cmake build procedure.
        - Dependency libraries in DEBUG are stored in __TKDEP_DEBUG__. Qt requires it as names of debug and release libraries are different.

    commit 00cdefc7a2f830f80660b7abed03418172a13ecb
    Author: vro
    Date:   Mon Oct 14 10:29:54 2019 +0300

        0030101: Application Framework - A mistake reading a RealArray attribute with too small value

        A case of reading of a very small value was skipped, for example: 2.1219957909652723e-314.
        Fixed in XmlMDataStd_RealArrayDriver.cxx and XmlMDataStd_RealListDriver.cxx

        // A test file bug29452.xml is extended to check this skipped case.

    commit d850414af1f2f72ea7bac6856c6fd984c0d3c92b
    Author: kgv
    Date:   Sun Feb 16 15:04:17 2020 +0300

        0031315: Visualization - marker texture is lost after multi-textured object

        OpenGl_Context::BindTextures() now iterates over pair of texture sets
        considering inconsistent texture unit ranges.

    commit b380b06c5db8e55ae8ca05eddba4df5e5ff92970
    Author: kgv
    Date:   Fri Feb 14 21:27:58 2020 +0300

        0031206: Foundation Classes, Message_PrinterSystemLog - log messages to Browser console within Emscripten

        Message_PrinterOStream::SetConsoleTextColor() skips color tags in case of Emscripten.
        Message_PrinterSystemLog now implements log via emscripten_log().

    commit c64efd9e3083eb39d274021b0b82d78930132e85
    Author: kgv
    Date:   Mon Feb 17 13:59:58 2020 +0300

        0031375: Visualization, TKOpenGl - suppress warning on WebGL 1.0

        Check for WebGL version in advance.

    commit cd43c08f2b7be9b9ffd97c0eff04c5e3d629ef7b
    Author: kgv
    Date:   Fri Feb 14 19:29:51 2020 +0300

        0031372: Visualization, TKOpenGl - failed to create texture on OpenGL ES 2.0 due to unknown GL_TEXTURE_BASE_LEVEL

        OpenGl_Sampler::applySamplerParams() has been corrected to check for OpenGL ES 3.0
        when applying GL_TEXTURE_BASE_LEVEL/GL_TEXTURE_MAX_LEVEL parameters.

    commit 28b13b31aa21cf0a2b24e3fef02a53569754bb92
    Author: nds
    Date:   Mon Feb 10 17:00:39 2020 +0300

        0031014: Inspectors - variables for Qt in CMake

        It restores path to Qt binaries in 3RDPARTY_DLL_DIRS for correct start TInspectorEXE under VStudio.

    commit 10ac0403384f4d7020d4155b7db1de8d5752bde8
    Author: sshutina
    Date:   Mon Feb 10 16:32:56 2020 +0300

        0031336: Modeling data - extend BRepPrimAPI_MakeBox with planar shape creation

        -Create a new package BRepPreviewAPI, inherited from BRepPrimAPI to create both, valid and degenerative shapes
        -Create a new class BRepPreviewAPI_MakeBox for working with a box
            Preview can be vertex, edge, rectangle or box
        -BRepPrim_GWedge: in the case of non-valid data, the exception does not happen in the constructor, but at the moment of access to the shape
        -BRepPrimAPI_MakeBox: myWedge is now not private, but protected, because used in  BRepPreviewAPI_MakeBox which inherits from BRepPrimAPI_MakeBox
        -Add tests for checking of a creation a preview in tests/geometry/preview (vertex, edge, rectangle, box)
        -Update a command "box": add new parameters

    commit 7e1c1e486992e1f36d80556e1b1bf7d7c2770e77
    Author: nds
    Date:   Fri Jan 31 13:12:45 2020 +0300

        0030268: Inspectors - improvements in VInspector plugin

        - Convert package creation. It is used to prepare some auxiliary presentations/methods to prepare variables for inspector based on occt classes.
        - ViewControl package improvement:
          Classes for property view, table, table model are implemented to visualize view of properties.
          This view is filled by selection in tree if the selected object has implemented DumpJson functionality.
        - TreeModel package improvements:
          Method InitColumn is implemented in TreeModel_TreeModel to fill default columns in base model. The default columns are:
            Name, Visibility, Rows. Additional columns should be added in successors.
          Container of root items is moved into the base class
        - View package imrovements:
          Store preferences: display mode, fit all checked state and type of external context
          View_DisplayPreview is added to process preview for selected in tree view objects
          hide actions Clear, Multi, Single by default (as selection in tree view or Visibility state of item define which presentations should be displayed or erased)
        - ShapeView plugin improvements:
          Property View content based on DumpJson (columns in tree view for properties are removed),
          Properties for TopoDS_Shape are displayed
          Explode shape action in tree view to see content of shape by selected shape type. Type of displayed shapes is only preview, it is not used in export action.
          Export shape into BREP. The previous implementation about BREP files in some directory and default view is removed.
        - VInspector plugin imrovements:
          Property View content based on DumpJson (columns in tree view for properties are removed),
          Properties for AIS_InteractiveContext and AIS_InteractiveObject are displayed
          obsolete classes to provide properties are removed.
        - DFBrowser plugin improvements:
          Property View content based on DumpJson is not used yet. But there is the USE_DUMPJSON macro. It's switch off by default.
          If switch ON, it creates a Property View filled with DumpJson. It's a way of DFBrowser moving on this property view.
          Init uses static variable CDF_Session::CurrentSession()->CurrentApplication to fill plugin if application in plugin is not set but OCAF application exists

        - OCC_VERSION_HEX variable used for previous OCCT versions support (before 6.9.0 or 7.2.0) is removed

    commit a2803f37e75453497aff8a6dc343fabe4826a2b9
    Author: kgv
    Date:   Sat Feb 1 00:50:04 2020 +0300

        0031341: Visualization - Graphic3d_Layer::UpdateCulling() ignores Presentation range

        Graphic3d_Layer::UpdateCulling() now takes into account BVH_Tree::EndPrimitive().
        'vstatprofiler structs' now properly prints number of structures in case of no culling.

    commit 18348b382ebae555df9882c58415db2c64615a44
    Author: abv
    Date:   Mon Feb 10 10:29:57 2020 +0300

        0031364: Foundation Classes - unused enumerations in GeomAbs package

        Files GeomAbs_CurveForm.hxx, GeomAbs_SurfaceForm.hxx, GeomAbs_UVSense.hxx are removed

    commit 64e68ea6905433f01c59bce4ac91748d0f555757
    Author: abv
    Date:   Mon Feb 10 10:25:15 2020 +0300

        0031363: Documentation - broken Doxygen documentation of header files in Standard package

        Documentation is corrected

    commit bee13ef1cf7c244bcdf0592f42cf2b5e124c95fd
    Author: anv
    Date:   Fri Feb 7 13:12:31 2020 +0300

        0031360: Modeling Algorithms - Removing redundant class

        math_GaussPoints was removed.

    commit e73ef9d219708f91404674417051e0f85309cccc
    Author: kgv
    Date:   Thu Feb 6 20:12:55 2020 +0300

        0031356: Visualization - out of range within StdPrs_WFShape::AddEdgesOnTriangulation()

        Removed unused code causing the issue.

    commit 8b3fbdef34aed600927f10a8d58b56824ca8070d
    Author: anv
    Date:   Tue Jan 21 14:47:38 2020 +0300

        0031233: Reading SAT files produces invalid shapes

        Added removal of overlapping "tails" while splitting wires with a seam edge in ShapeFix_ComposeShell::SplitWire.

    commit e2550e48f17fd705e3bec494f9e4e088b72ae317
    Author: kgv
    Date:   Thu Jan 30 17:10:29 2020 +0300

        0031333: Data Exchange - RWGltf_TriangulationReader::readBuffer() fails to read interleaved buffer at the end of file

        Standard_ReadBuffer has been extended with a flag for reading an interleaved data.
        RWGltf_TriangulationReader::readBuffer() uses new flag for reading vertex attributes.

    commit 62beabff7ced878beda76c4cf9fb791666f6a2a7
    Author: oan
    Date:   Mon Oct 21 11:52:01 2019 +0300

        0025551: BRepMesh can produce internal nodes outside the face interior based on distorted BSpline surface

        updated test script to see the difference on current version of OCCT

    commit 5e06dfcb323c010170a0c37e4e84fa0cce678fcf
    Author: oan
    Date:   Sat Oct 19 16:28:55 2019 +0300

        0028247: Effect of minSize parameter of BRepMesh_IncrementalMesh seems to be too strong Updated description of MinSize parameter of IMeshTools_Parameters

    commit 35befde2ad9a5d49e1a1da5382d32ab62a82abb8
    Author: oan
    Date:   Sun Oct 20 01:23:53 2019 +0300

        0026382: BRepMesh produces internal nodes outside the face interior
        updated test script: clean up shape before meshing to see the difference

    commit bc73b00672a218a1301520a3562ece96f72a679c
    Author: nds
    Date:   Tue Jan 28 12:03:38 2020 +0300

        0031313: Foundation Classes - Dump improvement for classes

        - Provide DumpJson for geometrical, ocaf and visualization classes;
        - Change depth parameter of DumpJson (constant is not obligate here)
        - Introduce a new macro for transient objects to be called as the first row in DumpJson: OCCT_DUMP_TRANSIENT_CLASS_BEGIN. We need not put the class name in the macro, using get_type_name of Standard_Transient for it.
        - change implementation of OCCT_DUMP_CLASS_BEGIN and OCCT_DUMP_TRANSIENT_CLASS_BEGIN. It is not an sentry more and it does not create a new hierarchy level. It appends a new row into the output stream: "className":
        - OCCT_DUMP_* does not require semicolon
        - class header is included first in source files of TDataStd, TDocStd, TCAFDoc

    commit 00ea7f2676893c9dd9b31cf1f0a8bcad61416a6a
    Author: kgv
    Date:   Tue Jan 28 22:51:24 2020 +0300

        0031321: C# wrapper - wrap AIS_ViewController

        Added missing virtual destructor for AIS_ViewController.

    commit fe758dbe2c45d2291b8f4436f0d49fd848d3a70d
    Author: nds
    Date:   Thu Jan 30 10:47:55 2020 +0300

        0031322: Visualization, Select3D_SensitiveEntity - method NbSubElements() should be const

        Set constant state for the method NbSubElement to be able to call it from other constant methods (e.g. DumpJson of Select3D_SensitiveEntity).

    commit 8811d6f2aa79835461b9d4a3be37c9a78b409890
    Author: kgv
    Date:   Wed Jan 29 20:48:24 2020 +0300

        0031332: Data Exchange - RWGltf_CafReader ignores bufferView.byteStride within glTF 2.0

        RWGltf_GltfJsonParser::gltfParseBufferView() now reads byteStride parameter within bufferView.

    commit 1939cfd9cbb164c4cc993bd66dfe5ab008e52c33
    Author: nds
    Date:   Tue Jan 28 15:01:42 2020 +0300

        0030904: Visualization - OSD_MemInfo provide Update with parameter of computation kind

        Added method OSD_MemInfo::SetActive() for disabling specific counter.

    commit 786077023239ed807d12180613e223f95a545b70
    Author: iko
    Date:   Tue Jan 21 16:01:03 2020 +0300

        0031275: Visualization, TKOpenGl - handle normal-map texture with Path-Tracing

        Base normal map support has been implemented in path tracing (just geometry normal replacement).
        Smooth normal adaptation has been implemeneted in order to avoid black areas artefacts during path tracing.
        Tangent normal space calcuation has been moved to separate unified function.
        Tangent space orthogonalization algorithm has been changed in order to handle all orientations and combinations of UV coordinates.

    commit 6216ed573eba2e021c05ae79b13de3404ae2633d
    Author: kgv
    Date:   Wed Jan 22 20:18:44 2020 +0300

        0031312: Data Exchange - RWGltf_CafReader fails reading texture embedded into base64 bufferView

        RWGltf_GltfJsonParser::gltfParseTexture() now handles images embedded into bufferView of non-glb file.

    commit 973f7d55bd2c99dd8378a0870b4629ab56eaeeed
    Author: oan
    Date:   Tue Jan 21 13:21:38 2020 +0300

        0031258: Mesh - OCCT 7.4.0 VIS get wrong render data

        Check intervals for infinite value causing exception in GeomLib::NormEstim

    commit 0c74168c4237383a3d75a4034d544cdaad32e503
    Author: emv
    Date:   Fri Jan 17 16:46:20 2020 +0300

        0031306: Modeling Algorithms - Incomplete result of Cut operation

        The problem is fixed by #0029323. Integrating test case only.

    commit 3eba1c72ef3ad9acf45ec538e535cd3c11a9dd74
    Author: kgv
    Date:   Mon Jan 20 18:09:32 2020 +0300

        0031309: Data Exchange - RWObj_Reader fails to read mh03.obj with multi-line syntax

        Standard_ReadLineBuffer::SetMultilineMode() now accepts a flag to put gap space while joining lines, enabled by default.

    commit e83d440f92791f4f562da885a256cb31897948ba
    Author: kgv
    Date:   Fri Jan 17 12:12:11 2020 +0300

        0031304: Configuration - TKACIS building failure due to duplicated symbol GeomFillFusInt()

        Added missing "static" to internal methods of GeomFill package.

    commit 6558400123b810d47bd346c56eb5b304fa48343e
    Author: iko
    Date:   Thu Jan 16 15:55:29 2020 +0300

        0031302: Visualization, TKOpenGl - wrong tangent space calculation for normal maps

        The normal after tangent space calculation has been reverted in order to be in right orientation.
        The tangent space calculation has been modified in order to handle back faces with inverted normal.

    commit 389f5b59dddab40a48d970d8d3fd917a0b29f528
    Author: ifv
    Date:   Thu Jan 16 12:07:33 2020 +0300

        0031260: Geom2dGcc_Circ2d2TanRad fails in this case (720)

        Adaptor2d/Adaptor2d_OffsetCurve.cxx:
        Function nbPoints(...) is modified

        Test case added

    commit 08353e37cf58bf750f85021a6283d0d59223c81c
    Author: ifv
    Date:   Mon Jan 13 14:50:03 2020 +0300

        0031294: Modeling Algorithms - Regression relatively 7.3.0. Crash in method BRepPrimAPI_MakePrism::Generated(...)

        BRepSweep_NumLinearRegularSweep.cxx: raising exeption is removed

        Test case is added

        QABugs_20.cxx - test command is added

    commit c8bead475217a792089be7216da9f4222d0e89f0
    Author: iko
    Date:   Mon Jan 13 13:41:39 2020 +0300

        0031293: Visualization, TKOpenGl - broken capping when PBR shading is ON

        Division by 'w' component has been added in texture coordinates calculations in PBR functions.

    commit 9df71488b32b6a68020f793bc745cdeacefcd3ae
    Author: osa
    Date:   Mon Jan 13 12:14:59 2020 +0300

        0031295: Foundation Classes, BVH_Tools - incorrect detection of ray-box intersection

    commit ef59b5e064913bd32e4a2b66a002cbcae7fa90a4
    Author: msv
    Date:   Fri Jan 10 20:59:51 2020 +0300

        0031292: Data Exchange - SIGSEGV on reading STEP file with references to invalid entities

        Changes:

        - in StepData_StepReaderData::ReadEntity, make sure that entity handle is not null before calling IsKind() of it.

        - in StepData_StepReaderData::SetEntityNumbers, do not invert the sign of entity number of referenced parameter if the second pass is not required. Otherwise, the number -1 (obviously invalid) becomes 1 (invalid, but not obviously) without further correction of it.

        - in StepData_UndefinedEntity::ReadRecord, consider the case when the entity number is positive but refers to non-existing entity. In this case literal value will be used instead of null entity for the problematic parameter.

    commit 0c061f3d9de6938fb5dd94a1567dea3127d611b1
    Author: oan
    Date:   Tue Dec 31 01:01:06 2019 +0300

        0025287: BRepMesh_IncrementalMesh produces (way) out of tolerance mesh Added test case

    commit 88b312d3a4647916bda9a0b72cd168f0b9606265
    Author: iko
    Date:   Tue Dec 24 16:05:00 2019 +0300

        0031099: Visualization, TKOpenGl - support Point light source with artistic full cut-off distance

        "Range" parameter of point light sources (positional and spot) concidering in PBR has been added.
        Angular attenuation parameter of spot light in PBR has been reimplemented based on existing "concentration" parameter.

    commit 0858125fd4ef81ca2965e1aa2f49c5960d7dcc62
    Author: kgv
    Date:   Fri Dec 27 14:24:58 2019 +0300

        0031284: Visualization - XCAFDoc_VisMaterialPBR lacks Index of Refraction

        Added missing parameter.

    commit 89d855ba58b60130739efd7c64d7482fadc0e674
    Author: mzernova
    Date:   Fri Dec 13 11:55:50 2019 +0300

        0031225: Visualization, TKOpenGl - support cubemap for environment texture within Ray-Tracing

        Ray-Tracing now handles IBL and background cubemaps in similar way as PBR.
        Ambient light source is handled by Ray-Tracing in similar way as PBR,
        e.g. as coefficient for environment map (IBL) or as constant light source.

        Test script generating PBR spheres has been moved to Samples
        and now shared by PBR and Path-Tracing tests.

    commit d415125a68253d7e975425ffbe948012b14cd3dc
    Author: kgv
    Date:   Wed Dec 25 19:36:48 2019 +0300

        0031274: Data Exchange - RWObj_Reader ignores usemtl with empty name

        Fixed out of range access within pushMaterial().

    commit 0da2ecac41ffca078d2d4c6b46bafcea36445ec4
    Author: razmyslovich
    Date:   Tue Dec 17 21:17:17 2019 +0300

        0031251: Add a new meshing parameter to enforce face linear deflection

        Parameter has been renamed to ForceFaceDeflection. Added test case.

        New parameter -force_face_def has been added to incmesh command.

    commit bdd09cfaf4fe4d7643d0c1c3d1d4cf9e8037a32a
    Author: ifv
    Date:   Wed Dec 18 13:53:11 2019 +0300

        0031242: Scaling with different coefficients along axes produces invalid shape

        GeomConvert_1.cxx:
        Creation periodic BSpline surfaces from trimmed periodic surface if trim is boundaries of periodic domain is allowed

        BRepTools_NurbsConvertModification.cxx:
        Checking domain of 2dCurves if surfaces are periodic is added

        Test case tests/bugs/mesh/bug30008_2 is modified according to current behavior

        Test case tests/bugs/modalg_7/bug31242 is added

    commit 9504a30d153b3281750b1a1ce56ae15317160032
    Author: kgv
    Date:   Thu Dec 19 00:11:55 2019 +0300

        0031253: Visualization, TKOpenGl - phong shading GLSL compilation fail on Adreno 308

        Removed initialization of global Normal variable outside of main() block.
        occLight_IsHeadlight() flag is now packed into occLight_Position().w

    commit 9a1701fbcb2f58d55a3e1893bede9744a9047662
    Author: jgv
    Date:   Wed Dec 18 18:24:16 2019 +0300

        0030597: Result of BRepOffsetAPI_MakePipeShell doesn't match the given profiles

        Modify the local function EdgeToBSpline of BRepFill_NSections to build a BSpline curve of general type for each curve of profile.

    commit c68c346d2bf899694ee756c92a3ab6c8f63effd6
    Author: mzernova
    Date:   Tue Dec 10 14:39:56 2019 +0300

        0030600: Visualization, TKOpenGl - include GLES3/gl3.h instead of GLES2/gl2.h

        Changed GLES2/gl2.h to GLES3/gl3.h.

        OpenGl_Window_1.mm has been updated, now it is trying to create kEAGLRenderingAPIOpenGLES3 before trying to create kEAGLRenderingAPIOpenGLES2.

    commit e2447a80ea01a85a358ea0c5e4896eaa8a7a3290
    Author: ifv
    Date:   Thu Nov 28 15:22:53 2019 +0300

        0031203: Test harness command "bsection" on the planar faces return only one vertex instead edge representing intersection line

        BRepClass/BRepClass_FaceExplorer.cxx:
        Protection against intersection of test ray with almost parallel edges is added.

        SWDRAW/SWDRAW_ShapeFix.cxx: add tolerance as parameter in command checkfclass2d

        tests/bugs/modalg_7/bug31203:
        test case is added

    commit 936ce1f273f3d28a8d547792036336f8a0926ebb
    Author: oan
    Date:   Wed Dec 4 12:26:10 2019 +0300

        0031199: BRepMesh fails on thin faces

        Use real tolerance of a face to define threshold for tolerance of discrete model instead of empirical values based on discrete model itself

    commit 6ef7a1f9e5ca2bef0fac8b0b4606a58cb5f54450
    Author: jgv
    Date:   Fri Nov 29 20:03:14 2019 +0300

        0031187: Modeling Algorithms - Regression relatively 7.3.0. Unify same domain algorithm produces invalid shape.

        Modify the local function ReconstructMissedSeam to build new seam edges correctly.

    commit 23c2ae55c797db7258027b6df30b3af36fb3d954
    Author: msv
    Date:   Fri Nov 1 15:05:43 2019 +0300

        0031120: Memory leak in BRepOffsetAPI_MakeOffset

        Add destructor of MAT2d_Mat2d - full removal of edges and bisectors.

    commit 8bfae263c1ca9f06875c9a25c3883d0b0267ee42
    Author: abk
    Date:   Fri Dec 13 15:32:45 2019 +0300

        0031168: JT Import - cannot see properties attached to objects

        Draw command GetNDStrings was improved to sort the properties by the keys and
        skip conversions of the strings to type TCollection_AsciiString.

        Certain Draw commands were corrected to use the Draw interpreter instead of "std::cout".

        A Tcl procedure was created to compare two multi-line strings.

    commit 1c2ddf56124b607d103600eac4b3f0127ccc96b5
    Author: ma haidong <13501108114@163.com>
    Date:   Tue Dec 10 01:00:59 2019 +0800

        0031231: Samples - the command "donl" in ModelingDemo.tcl should be "donly"

        Fixed misprint in Tcl sample script.

    commit 5a8d30b87b5ab8f44e9011dc432d0dc8eb67a77b
    Author: kgv
    Date:   Thu Dec 5 16:20:37 2019 +0300

        0030945: JT Import, JtProperty_LateLoaded - expose type of Deferred object

        RWMesh_NodeAttributes has been extended with NamedData property for passing Metadata.

        RWMesh_CafReader::addShapeIntoDoc() has been corrected to avoid
        adding calling XCAFDoc_ShapeTool::AddSubShape() for sub-shape labels.
        Attributes for Products and Instances are now set independently to shape labels.
        Sharing of Compounds (previously always duplicated) as sub-Components has been fixed.

        TDataStd_NamedData has been extended with interface for deferred data loading.
        Setters have been corrected to avoid duplicating lookups within map.

    commit b7b22996bb8cff857eab4b64d366ef356fa69d31
    Author: kgv
    Date:   Fri Dec 6 15:08:34 2019 +0300

        0031227: Tests - log number of compared images into report

    commit 552a74d8292a1bcc245c9ce8fd2a8256c9a7dcd4
    Author: anv
    Date:   Tue Nov 5 17:57:25 2019 +0300

        0030889: ACIS Import - Incorrect result reading SAT and SAB files

        Adapting CR30932 fix for a GeomLib approximator.

    commit c37bd936c37f3d3b7f0c3ee3844fcc6cc0215062
    Author: mzernova
    Date:   Tue Dec 3 13:51:02 2019 +0300

        0031213: Coding Rules, RWStl_Reader - misnamed variable THE_BUFFER

        Renamed THE_BUFFER variable.

    commit 4e8c1d86666198c4b272d90daa646c64d44dedc2
    Author: anv
    Date:   Thu Nov 28 12:25:20 2019 +0300

        0031202: Shape Healing - FixMissingSeam creates degenerated edge

        Adding tolerance to prevent degenerated cuts in cases where all vertex tolerance is covered by distance of the edge curve from vertex point.

    commit 72f6dc612c43748a2c8862fe64c845d72be684d9
    Author: iko
    Date:   Thu Nov 7 16:52:53 2019 +0300

        0031096: Visualization, TKOpenGl - support metallic-roughness texture mapping

        OpenGl_ShaderManager - metallic-roughness, emissive, occlusion
        and normal texture maps are now supported by PBR.
        Emissive, occlusion and normal texture maps are now supported by Phong shading model.
        Path-Tracing now handles metallic-roughness and emissive texture maps.

        Graphic3d_TextureUnit enumeration has been extended by
        new values corresponding to supported texture maps.

        OpenGl_TextureSet and OpenGl_ShaderProgram have been extended with
        bitmask Graphic3d_TextureSetBits identifying texture slots read from GLSL Program
        and slots defined within Texture Set to avoid undefined behavior by binding mock textures.

        OpenGl_TextureSet now duplicates texture unit information to handle
        textures shared across multiple slots (like Occlusion [R] + Metallic-Roughness [GB]).

        OpenGl_Context::BindTextures() has been extended with active GLSL program paramter
        to set mock textures to texture units used by program but undefined by texture set.
        OpenGl_Workspace::ApplyAspects() has been extended with parameter to avoid bining texture set.

    commit f051908edca40189922731890778055f9af7a00e
    Author: mzernova
    Date:   Wed Nov 27 10:14:30 2019 +0300

        0030982: Visualization, OpenGl_View::MinMaxValues() - do not add background quad into depth range

        Deleted adding background quad into depth range. Background is drawn in 2D coordinates. Fixed problem with using gradient background in tiles.

    commit 420b38fde93a1c657e32f1f8b406bb80a94e15cb
    Author: emv
    Date:   Fri Oct 11 07:23:19 2019 +0300

        0031148: Modeling Algorithms - Offset adjacent co-planar faces with different offset values

        Extend the Offset operation (Join Type "Intersection", mode "Complete") to allow different offset values on adjacent co-planar faces.
        The gap between adjacent faces is closed by creating artificial face perpendicular to the face.

        Adding test cases.

    commit 34e7ac6817076e11ad02f58fba0bb484b446c620
    Author: emv
    Date:   Thu Nov 28 10:56:55 2019 +0300

        0031201: Modeling Algorithms - Result of a section operation is incomplete

        Fixing misprint - use the boundaries of the cylinder for Plane/Cylinder intersection.
        Test cases for the issue.

    commit 2b5a58a33cf42ab3d995e63dde8c1ff7278cb4d0
    Author: osa
    Date:   Fri Nov 22 16:02:02 2019 +0300

        0031186: Foundation Classes - add additional useful methods to BVH_Box.

        Add Transform() and Transformed() methods by Mat4 for BVH_Box (only for 3D dimension).
        Add PointBoxProjection() method to project point to box and RayBoxIntersection() method to compute hit time of ray-box intersection to BVH_Tools.
        Add BVH_Ray class to define ray object.

    commit e513a6c5389b09cfa7fbb9b3cf76c42517b7805e
    Author: kgv
    Date:   Sat Nov 23 00:08:22 2019 +0300

        0031188: Draw Harness - enable colorized messages output to console by default

        Message_PrinterOStream now uses colorized output by default.
        DRAWEXE has been corrected to disabled colorized output
        when it is called with -f argument to avoid spoiling testgrid HTML logs.

    commit 8c2d33142687b5317c84b75eafe734fe4c0f33a4
    Author: kgv
    Date:   Fri Nov 22 17:02:12 2019 +0300

        0031007: Coding - eliminate warnings issued while compiling with -pedantic flag

        Removed duplicating semicolons ;;.
        Removed redundant semicolon at namespace closure.

    commit caee80f39fc059c59f040dcc5a603d3cee158d02
    Author: mzernova
    Date:   Mon May 6 23:05:13 2019 +0300

        0030697: Draw Harness - Draw_Printer should not be set to Message::DefaultMessenger() by default

        Fixed bugs that occurred when using the default std::cout from Message::DefaultMessenger() instead of Draw_Printer

        A dedicated option was added to Draw_ProgressIndicator, for outputting data to the tcl when performing tests

        Added -tclOutput parameter to XProgress command

    commit 01b2f506d6b8162b5c26f715a1eb8b62d1298b74
    Author: kgv
    Date:   Tue Nov 19 02:09:09 2019 +0300

        0030953: Data Exchange - implement export of mesh data into glTF 2.0 format

        Added new class RWGltf_CafWriter for exporting XCAF document into glTF file
        as well as Draw Harness command WriteGltf.

        Added auxiliary method OSD_Path::FileNameAndExtension() splitting file name into Name and Extension.

    commit df8c7e3e18e5cccbabdfb94050698fb372a48174
    Author: vsv
    Date:   Tue Nov 19 11:31:46 2019 +0300

        0031153: Visualization - Non clear highlighting of selected trihedron elements

        AIS_Trihedron - removed extra fields holding highlight styles; standard styles are now used instead;
        fixed unexpected modification of global aspects;
        fixed unhighligting of selected plane within Shaded trihedron.

        AIS_InteractiveContext now sets highlight color to highlight aspects, not only base color to drawer itself.