On branch IR-2019-08-23
Your branch is up to date with 'origin/IR-2019-08-23'.

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.3.1dev-2019-08-24-src.7z
	occt-7.3.1dev-2019-08-24-vc14-32.7z
	occt-7.3.1dev-2019-08-24-vc14-64.7z

nothing added to commit but untracked files present (use "git add" to track)
commit 8ed0708507d8a8b79dfd0f639f1692e325bb5df0
Author: nds 
Date:   Fri Aug 23 14:28:04 2019 +0300

    0030857: Visualization - using one implementation of Text in graphic group
    
    Graphic3d_Group::Text(...) are obsolete, AddText() should be used instead of these methods.
    Graphic3d_Text is a new class for parameters necessary to fill OpenGl_Text. All parameters of Graphic3d_Group::Text() are moved into this class.
    
    OpenGl_TextParam is removed, these fields were moved into Graphic3d_Text.
    OpenGl_Text constructors/Init with OpenGl_TextParam parameter were removed. Constructor with Graphic3d_Text should be used instead of it.
    Using OpenGl_Text Init() with OpenGl_TextParam should be now replaced on two cases. The first case is setting values into Graphic3d_Text and the second case is calling Reset() after. As example, look at modification in OpenGl_FrameStatsPrs.

commit 077a220c51c8be71d118b87912a1328e540de985
Author: iko 
Date:   Tue Jul 9 16:55:49 2019 +0300

    0030807: Visualization, TKOpenGl - supporting cubemaps
    
    A cubemap texture initialization has been implemented.
    Setting environment cubemap as interactive background is posssible now.

commit c5cee3222fc96ac95d63a679346a29158b991e7e
Author: emv 
Date:   Tue Aug 20 14:23:29 2019 +0300

    0030905: Modeling Algorithms - Faulty shapes in UnifySameDomain
    
    Make face FORWARD before adding wire in it.

commit e837b3a26ce3af7639a37e41d13b864de1e139ac
Author: anv 
Date:   Thu Mar 29 12:36:09 2018 +0300

    0029662: Modeling Data - Allow replacement of Compounds via BRepTools_ReShape
    
    - Fixed condition to allow proceeding of nested compounds;
    - Added new key to "reshape" draw command to state a level of type until which requests are taken into account;
    - Test case added.

commit 846245d4b2c92534dea815a7bb4903bb9ac7ccee
Author: drazmyslovich 
Date:   Wed Aug 7 15:10:32 2019 +0300

    0030874: Modeling Algorithms - GCPnts_TangentialDeflection inserts the points between nearby points
    
    Check the points distance before inserting a new point in between.

commit d7fa57a7a39bd2054e3b7f3a561d89fbe9ec726a
Author: kgv 
Date:   Tue Aug 20 16:28:33 2019 +0300

    0030906: Visualization, SelectMgr_ViewerSelector - Object clipping planes overrides View clipping plane for next objects
    
    Clipping range has been moved from SelectMgr_RectangularFrustum to SelectMgr_SelectingVolumeManager
    and passed to frustum as an argument to Overlap() methods.
    This fixes an issue when Clipping is customized per-object within SelectMgr_ViewerSelector::traverseObject()
    in case when shallow copy of SelectMgr_SelectingVolumeManager is created
    (frustums are copied from global frustum manager by Handle).

commit 0be11733a7d5caa8a2d3da244d189b8cf71fa945
Author: nds 
Date:   Thu Aug 15 13:17:18 2019 +0300

    0030901: Visualization - OSD_MemInfo moving memory computation out of the constructor

commit c64135f7234de8ba230f95f2904617117729ce89
Author: kgv 
Date:   Thu Aug 15 01:04:45 2019 +0300

    0030900: Configuration - fix compilation using macOS SDK before 10.12
    
    ViewerTest - added compatibility defines.

commit 5e2477a7bd07b3bdad4b6bc060e82cd4f74e62d4
Author: kgv 
Date:   Wed Aug 14 15:06:55 2019 +0300

    0030899: Data Exchange, RWObj_Reader - reading multiline file with more than one line separator leads to memory corruption
    
    Fix misprint in condition.

commit 8e7dc6f465d8cd5cb524e1c1b485bc5979ec7dcf
Author: msv 
Date:   Tue Aug 13 16:00:48 2019 +0300

    0030897: Modeling Algorithms - Crash in UnifySameDomain [Regression]
    
    The regression caused by the patch for 0030534 has been eliminated. For that the method InsertWiresIntoFaces() has been corrected: the face to which a wire is added is first oriented as forward.

commit 2546fd477f15c53b39d9c551f8a9aa1214e5618c
Author: kgv 
Date:   Mon Aug 12 17:47:28 2019 +0300

    0026978: VIS - Interactive selection is insensitive to swept shell
    
    IVtkOCC_SelectableObject::BoundingBox(), AIS_Shape::BoundingBox() now don't use
    BRepBndLib::AddClose() on arbitrary shapes.

commit 7fab82af5fdda7b19f90029c4ad197481669b0e2
Author: kgv 
Date:   Tue Aug 13 11:33:20 2019 +0300

    0008239: Foundation Classes - directive "using namespace std" doesn't allow to build application with OCC and other 3rd party libraries
    
    Standard_Stream.hxx no more adds "using std::" entities.

commit 0423218095f84571495b58313dcf042dc6001812
Author: tiv 
Date:   Fri Aug 2 10:32:16 2019 +0300

    0030895: Coding Rules - specify std namespace explicitly for std::cout and streams
    
    "endl" manipulator for Message_Messenger is renamed to "Message_EndLine".
    
    The following entities from std namespace are now used
    with std:: explicitly specified (from Standard_Stream.hxx):
    std::istream,std::ostream,std::ofstream,std::ifstream,std::fstream,
    std::filebuf,std::streambuf,std::streampos,std::ios,std::cout,std::cerr,
    std::cin,std::endl,std::ends,std::flush,std::setw,std::setprecision,
    std::hex,std::dec.

commit 3977d18aca2b748950aa8668dc05844ce7bdff76
Author: jgv 
Date:   Tue Dec 18 16:57:32 2018 +0300

    0030286: Cover polygonal HLR algorithm by regression tests
    
    New folder "hlr" with subfolders "exact_hlr" and "poly_hlr" has been created.
    Draw command "vcomputehlr" has been corrected.
    QA command "OCC27341" has been deleted as "vcomputehlr" does its job.

commit 9975d32acfb5962419fc905f6e7df055281e7fee
Author: kgv 
Date:   Sat Aug 10 00:16:05 2019 +0300

    0030888: Data Exchange, RWGltf_CafReader - fix misprint in condition while iterating binary glTF 2.0 chunks

commit a6b55fba089b324d58781be0fbb81685db9305d9
Author: drazmyslovich 
Date:   Wed Aug 7 13:01:13 2019 +0200

    0030872: In case of failure, retry to acquire the driver for the format

commit 208dc370ac74ba20fd70bdad5e763d43243d17e5
Author: kgv 
Date:   Fri Aug 9 13:00:30 2019 +0300

    0030863: Visualization, SelectMgr_ViewerSelector - disabling of View clipping planes is ignored for transformed objects
    
    SelectMgr_ViewerSelector::computeFrustum() - fixed lost clipping planes when creating a new frustum.

commit caa309aaf4b1f6e50e944c4aab8aaed71379a8fd
Author: kgv 
Date:   Mon Aug 5 20:26:11 2019 +0300

    0030854: Visualization, AIS_ViewCube - pack triangulations into common array(s)
    
    Presentation computation has been modified to merge triangulations per box part type.
    Prs3d_Drawer::FaceBoundaryDraw() flag is now handled for drawing box sides edges.
    
    Graphic3d_ArrayOfPrimitives has been extended by auxiliary methods:
    - ::AddSegmentEdges(), ::AddTriangleEdges(), ::AddQuadEdges() raising exception on wrong primitive type.
    - ::AddQuadTriangleEdges() splitting quad into indexed triangulation;
    - ::AddTriangleStripEdges() splitting triangle strip into indexed triangulation;
    - ::AddTriangleFanEdges() splitting triangle fan into indexed triangulation;
    - ::AddPolylineEdges() splitting polyline into indexed segments.

commit 6f5db508042c4cfba0615641750bb41944bf7638
Author: emv 
Date:   Wed Aug 7 09:40:42 2019 +0300

    0030869: Modeling Data - BRepAdaptor_CompCurve incorrectly evaluates the boundary points
    
    Problem is solved by #0029430. Integrating test case only.

commit 8996b4490a69f1a96ca9b689dc239d1f8acf5fc5
Author: nds 
Date:   Wed Aug 7 09:42:33 2019 +0300

    0030695: Visualization - selection by box should use clipping planes set for viewer - moving check on touching the clipping plane in selection only.

commit 87bda9d805e1ace654dabc24640791492cfd2c08
Author: nds 
Date:   Tue Dec 25 09:26:49 2018 +0300

    0030425: Visualization - possibility to redefine AIS_Selection

commit ba832480110b95315a34b4089b23ee946d18d5fa
Author: abv 
Date:   Tue Aug 6 12:37:56 2019 +0300

    0030865: Samples - sample for 3D version of new OCC logo
    
    Added new Tcl sample "logo2019.tcl" and relevant test demo/samples/logo2019

commit b1bb21e714dfde5246a3cdf3f3aa905d9e718bca
Author: msv 
Date:   Tue Aug 6 09:34:18 2019 +0300

    0030864: Global variable Version defined in TopTools_ShapeSet.cxx is superseded by same name variable from executable
    
    The variable Version defined in TopTools_ShapeSet.cxx has been declared as static to limit its scope.

commit da7e89486880ff7d21196f383337ca616b06f8ca
Author: ika 
Date:   Wed Jul 31 18:09:04 2019 +0300

    0030856: Data Exchange - Wrong colors after STEP file import
    
    Fix processing of colors, attached to assemblies in STEP file.

commit 389b9d5ca3bd410a271432af1cb1c273c1407aee
Author: jgv 
Date:   Fri Mar 15 12:55:09 2019 +0300

    0030534: Regression in the tool UnifySameDomain - the shape looses faces
    
    1. Add method TransformPCurves to ShapeUpgrade_UnifySameDomain - to rotate and translate existing pcurves instead of projecting.
    2. Modify method ShapeUpgrade_UnifySameDomain::IntUnifyFaces - now it does not apply ShapeFix to new wires and new faces.
    3. In the method UnifyEdges: add merging degenerated edges.

commit c2100640f68fef6cc5e7129ed23ebb580ff778ab
Author: mpv 
Date:   Mon Jul 29 17:11:54 2019 +0300

    0030835: Possible performance improvements in methods TDF_Label::FindAttribute
    
    Make attribute iterator work with pointers to attributes, so, creation of handle on each iteration is avoided.

commit 607e5e62e7b2520cb40a3fa16522d1e1d53640db
Author: kgv 
Date:   Mon Jul 29 03:21:28 2019 +0300

    0029837: Visualization, Graphic3d_Camera - Fit All operation works incorrectly on flat object
    
    Graphic3d_Camera has been revised to store camera Direction from Eye explicitly
    and Distance to Center instead of auxiliary Center point.
    
    This allows setting camera Distance to 0 (for flat objects) without side effects
    like broken FitAll, wobbling on rotating.

commit e36ee9677a73d62c1e2d38efecd78a1017320db1
Author: kgv 
Date:   Mon Jul 29 17:49:58 2019 +0300

    0026154: Visualization - v3d viewer grid disappears due to automatic z-fit
    
    V3d_RectangularGrid, V3d_CircularGrid, fixed initialization of presentation bounding box (lost Z offset).

commit f6b4e578cddaaf497ef0079420dfd19c17508360
Author: kgv 
Date:   Sun Jul 28 12:24:53 2019 +0300

    0030855: Coding - New warnings within Standard_ReadLineBuffer after integration fix for 0030830
    
    Added missing cast.

commit 59515ca600bbaa9fdcf7e501bb60104ea54cf35f
Author: kgv 
Date:   Fri Jul 19 16:35:23 2019 +0300

    0030744: Visualization, TKOpenGl - stipple line does not work on OpenGL ES 2.0
    
    OpenGl_ShaderManager now provides fallback stipple lines GLSL code for obsolete OpenGL ES 2.0 devices.
    OpenGl_Caps has been extended by flags disallowing OpenGL extensions usage
    and restricting upper OpenGL version to be used by OCCT for testing purposes.

commit fa1710b5678ff24e16e246550c5e3542bb185749
Author: osa 
Date:   Wed Jul 24 14:30:53 2019 +0300

    0030830: Point Cloud Rendering - use temporary buffer to read lines from .pts and .ptx files
    
    Add Standard_ReadLineBuffer - auxiliary tool for buffered reading of lines from input stream.

commit 9460f8c0b9c2058ed357aa63a6b7e748e5496d46
Author: kgv 
Date:   Fri Jul 26 05:59:39 2019 +0300

    0030853: Visualization, AIS_ViewController - fix 1 pixel Y shift while zooming
    
    Fixed error in math converting Y-down mouse coordinates into Y-up within AIS_ViewController::handleZoom().
    Added flags ToStickToRayOnZoom()/ToStickToRayOnRotation() enabled by default,
    which will project picked point onto ray at mouse cursor to preserve focus on zoom out.

commit a3a3ff3d336815ca0c0f9f303678157929d9ebe2
Author: kgv 
Date:   Thu Jul 18 00:08:02 2019 +0300

    0030850: Visualization, OpenGl_Text - text within trihedron persistence jitters when camera is far from origin
    
    OpenGl_Text now discards (redundant) translation part from camera orientation matrix.
    Text anchor point alignment to integer coordinates is now not performed for 3D-oriented text.

commit 2108d9a25b0eebf69e4e3fcaa6b02e67b3f3e349
Author: aba 
Date:   Wed Jul 3 12:37:36 2019 +0300

    0028954: Visualization - implement interactive object for camera manipulations
    
    Added new class AIS_ViewCube implementing interactive cube
    displaying orientation of the main axes of the model space in the viewer.
    Each side, edge, or corner of the cube corresponds to particular orientation of the camera,
    and the class provides methods to move the camera to corresponding position (with animation if needed).
    
    AIS_InteractiveContext::LastActiveView(), added new property returning the last View processed by MoveTo() event.
    AIS_InteractiveContext::BoundingBoxOfSelection(), added method returning bounding box of selected objects.
    SelectMgr_EntityOwner::HandleMouseClick(), added new callback for handling
    mouse clicks by owner itself without automatic highlighting and clearing previous selection.
    Called by AIS_InteractiveContext::Select() method.
    
    AIS_ViewController::ViewAnimation() has been extened with camera animation propery,
    which can be bound to AIS_ViewCube for smooth embedding into event loop.
    
    Prs3d_ToolDisk has been extended with parameters specifying angle range.
    Graphic3d_MaterialAspect now initializes all coefficients to 1.0
    when Graphic3d_NOM_UserDefined is passed to class constructor.
    AIS_AnimationCamera::update() now sets the end camera position if animation duration is 0.
    Prs3d_DatumAspect, added missing setters.
    
    New command vviewcube has been added.

commit e8dec5e17143cb9ce4e1fcae1af14e4456de102d
Author: msv 
Date:   Mon Jul 15 19:47:14 2019 +0300

    0030790: [REGRESSION] Modeling Algorithms - Crash when loading specific step file
    
    The problem occurred when the algorithm IntCurvesFace_Intersector was called for a face occupying zero extension along V direction. This is obviously a bad face, but we need to have the algorithm not crashing the application. So, the algorithm has been protected against such input data. At attempt to make calculations it establishes NotDone status.
    
    Bad test case tests/de/step_3/D9 has been updated.
    False memory leak detection has been suppressed in tests/bugs/fclasses/bug7287_2.

commit 0dab581700d250cc0748062ce98cf4a2be2c141f
Author: mzernova 
Date:   Wed Jul 17 19:05:53 2019 +0300

    0030799: Draw Harness, ViewerTest - setup uniforms via vshader command
    
    vshaderprog command now supports setup custom uniforms

commit 1c728f2d6d660c4130479532fdd6219086fd31eb
Author: kgv 
Date:   Mon Jul 15 21:06:05 2019 +0300

    0030668: Visualization - revise adding ZLayer API
    
    V3d_Viewer::AddZLayer() has been replaced by
    V3d_Viewer::InsertLayerBefore() and V3d_Viewer::InsertLayerAfter() methods
    allowing to specify Layer settings and index of existing layer to insert new one before/after.
    The behavior of V3d_Viewer::AddZLayer() has been adjusted to append
    new Layer before Graphic3d_ZLayerId_Top
    (between Graphic3d_ZLayerId_Default and Graphic3d_ZLayerId_Top).
    
    Graphic3d_Layer now provides LayerId() property.
    Graphic3d_ZLayerSettings has been extended with IsRaytracable() property;
    Ray-Tracing now processes multiple layers instead of Graphic3d_ZLayerId_Default.
    
    Moved some methods from OpenGl_View to the base class Graphic3d_CView.

commit 6b9b7e3c927ead3832c3422efb83f9f0b8280cb4
Author: ika 
Date:   Thu Apr 4 16:07:05 2019 +0300

    0030630: Visualization - wrong visualization of shape with mirrored transformation
    
    Solids with mirror location are displayed, according to their normals.
    
    vaspects -setBackFaceColor, added command to set backface color.

commit 7c08e3ac6e4b3476ed7b62bb7980481a059651a1
Author: msv 
Date:   Wed Jul 17 16:50:43 2019 +0300

    0030829: BRepExtrema_ShapeProximity crashes with shape from STL/WRL
    
    The fix makes algorithm independent on geometrical data. Only triangulation is needed for its work.

commit 718d07fe5ed14424ed88195c91c4d52fbcc84065
Author: Benjamin Bihler 
Date:   Thu Jul 11 11:16:12 2019 +0200

    0030403: Application Framework - Overwriting Big BinOcaf Files Does Not Reduce Their Size
    
    OSD_OpenFileDescriptor(), added truncating flag to fopen() flags for std::ios_base::out,
    since truncating is implied by C++ output flag.
    This fixes misbehavior of OSD_OpenStream() on MinGW-w64 platform.

commit bc28da5c3a87633090a4fa591b7a183d8b6b0f85
Author: abv 
Date:   Wed Jul 10 21:45:45 2019 +0300

    0029736: Some Warnings During Compound Transfer to IGES Look Dubious
    
    Incorrect (legacy) warnings during IGES export are removed

commit 2fb08f01328b927059a69290abf1d0c5559e9ed9
Author: kgv 
Date:   Thu Jul 11 09:38:54 2019 +0300

    0030628: [REGRESSION] Data Exchange - Crash on importing STEP file
    
    RWHeaderSection_RWFileDescription::ReadStep(), added check for an empty list.

commit b8d92a7f8fe56a52d85a6386c975386b648c1548
Author: ysn 
Date:   Wed Jul 25 18:13:26 2018 +0300

    0029987: Request for translation of French comments in the code
    
    French comments in two files have been translated in English.

commit f6abd02cdc029168a40ee0fe6cb49ac151387df7
Author: kgv 
Date:   Wed Jul 10 23:24:05 2019 +0300

    0030837: Data Exchange, XCAFPrs_DocumentExplorer - fix misprint in XCAFPrs_DocumentExplorerFlags_NoStyle check

commit 943b4e5b95e15384100d5c6b932201e6a2d81d55
Author: apn 
Date:   Thu Sep 8 15:20:43 2016 +0300

    0027710: Make Data-exchange test cases more machine independent
    
    Added description of de test grid in user guide.

commit c55c8fe929360f33bfcc07f979e623cee6f233c5
Author: iko 
Date:   Tue Jul 9 17:19:57 2019 +0300

    0030833: Visualization - Graphic3d_Camera constructor's exceptions
    
    Field's initialization part has been added to Graphic3d_Camera constructor receiving Handle(Graphic3d_Camera).

commit 4c04741d4cae160c181c94da7c15b5dbec796f6f
Author: oan 
Date:   Wed Jul 3 11:45:18 2019 +0300

    0030827: Add common functionality allowing to switch triangulation algorithm in runtime
    
    New classes BRepMesh_ConstrainedBaseMeshAlgo, BRepMesh_CustomBaseMeshAlgo and BRepMesh_CustomDelaunayBaseMeshAlgo are added.
    These classes allow to add any custom triangulation algorithm to BRepMesh and perform post-processing and optimization of base mesh generated by those algorithms.
    BRepMesh_Delaun: added possibility to process constraints when base mesh is generated by different algorithm.
    BRepMesh_DelaunayNodeInsertionMeshAlgo: added PreProcessSurfaceNodes flag controlling addition of surface nodes (either before creation of base mesh or after) to gain maximum performance from triangulation algorithms.
    
    Minor changes:
    Use simple algorithm for cylinders when internal vertices mode is switched off to speed up computations.
    BRepMesh_IncrementalMesh: added Perform method allowing to execute algorithm using manually created Context.

commit 0d56f7433b23f4aa855701f5e71b9612b2584afb
Author: asl 
Date:   Wed Jul 3 11:29:47 2019 +0300

    0030824: Visualization, PrsMgr_PresentableObject - A new flag to disable automatic selection of children
    
    A new flag myToPropagateVisualState is introduced for PrsMgr_PresentableObject: by default it is true, it means that the visual state (display/erase/color) should be propagated to all children. If false, the visual state is not propagated.
    The flag can be set via the method ToPropagateVisualState() or via Draw command: "vparent  -ignoreVisu"

commit acc6542a1be93fa1f3d50067f835c62ce670964e
Author: tiv 
Date:   Tue Jul 2 19:53:20 2019 +0300

    0030820: Draw Harness, ViewerTest - vsetcolor has no effect on objects created by vsegment and vtriangle
    
    MyPArrayObject class (an interactive object representing some array of primitives) is improved: a possibility of color changing is added to it.

commit 803bdcdf2b1cddb9552fd892968b5fc11a73b392
Author: kgv 
Date:   Mon Jul 1 11:56:41 2019 +0300

    0030821: Data Exchange, RWGltf_CafReader - fallback to Mesh name in case of Node name is empty
    
    Added option to use Mesh name as fallback, enabled by default.

commit b6c113d0eb8315a9b0ade4974e0778d53e95f89a
Author: emv 
Date:   Mon Jun 24 11:41:30 2019 +0300

    0030817: Modeling Algorithms - BRepOffsetAPI_MakePipeShell produces invalid result
    
    BRepFill_TrimShellCorner::CheckAndOrientEdges() - When orienting next edge in a sequence take into account the Orientation of the previous edge.
    Test cases for the issue.

commit 82c59511b4aa7ec9695664bf0c1d083733e682f1
Author: kgv 
Date:   Wed Jun 26 11:26:31 2019 +0300

    0030811: Data Exchange, RWGltf_CafReader - fix inaccessibility of properties
    
    Added missing Standard_EXPORT and getters.
    Fixed metadata loss.

commit d9dd07545dae9b35a580ee4b6917e25781e716bf
Author: kgv 
Date:   Tue Jun 25 23:26:58 2019 +0300

    0030810: Data Exchange, RWObj_CafReader - fix material assignment
    
    RWObj_MtlReader fixed incorrect folder iteration within findRelativePath().
    Fixed discarding texture-only material.
    RWObj_TriangulationReader::addMesh() - fixed usage of wrong material for flushing previous group.

commit 88c3accd1aadfb7b34297de59566d7a7d1535eb0
Author: emv 
Date:   Wed Jun 19 08:54:50 2019 +0300

    0030787: BRepOffsetAPI_MakePipeShell: hangs on the attached model
    
    Protect IntTools_EdgeEdge::FindSolutions method from cases where splitting edge on parts does not give bounding box decreasing.
    Use at least Epsilon from edges parameters as a step in BRepLib::FindValidRange.
    Test case for the issue.

commit 3c1b70842dc206536b3bf7e1a106b0de5ce8a614
Author: oan 
Date:   Mon Jun 24 19:03:45 2019 +0300

    0030780: [Regression to 7.3.0] BRepMesh fails triangulating one face of the shape
    
    Added new parameter KeepSmallEdges to IMeshTools_Parameters allowing to compute min size for each edge locally, depending on the length of particular edge.
    Parameter -smalledges now available for incmesh command.

commit 62810a3c5187958a1fdf07668e6f6537d435a505
Author: kgv 
Date:   Tue Jun 25 15:31:56 2019 +0300

    0030809: Data Exchange - fix misprint in RWMesh_CafReader::generateNames()

commit bbf3fcdecdea7131c3d73984099b2378ee9dfdd5
Author: aba 
Date:   Tue Jun 25 12:30:24 2019 +0300

    0030806: Visualization - AIS Manipulator highlighting is not affected by the view affinity
    
    - AIS_Manipalator object view affinity is now applied to presentation for highlighting.

commit e05d8d90c0ac0db2f70f15cb5258cca27bc31f11
Author: kgv 
Date:   Mon Jun 24 15:03:49 2019 +0300

    0030805: Visualization, StdSelect_BRepSelectionTool - empty sensitivity from polygon-only Edge
    
    StdSelect_BRepSelectionTool::GetEdgeSensitive() now takes polygon points before creating curve Adaptor.

commit 841aa8c47b5ccb8ca3bd5f82670c0ecc64f9b4c7
Author: kgv 
Date:   Tue Jun 25 19:39:49 2019 +0300

    0030804: Foundation Classes - Poly_Connect crashes due to out-of-range array modification
    
    Fixed initialization of edges array based on the wrong statement.

commit 95bde2af7f2f47158d08e43249ebc4a9dc22fc40
Author: kgv 
Date:   Mon Jun 24 11:38:54 2019 +0300

    0030802: Draw Harness - add scrollbars to DFBrowse

commit 64a44752853acc129e137c533eb5564446a79f9f
Author: msv 
Date:   Fri Jun 21 20:35:30 2019 +0300

    0029679: Draw Harness - Command 2dapprox works wrong when giving points in command line
    
    Correct the behavior of the command 2dapprox for the case of points input in the command line.
    Restore the work of the command 2dinterpole (implemented in the same method as 2dapprox).
    Add test cases.
    Correct generation of snapshots for the tests lowalgos/2dinter/*.

commit 0c33a0bf4d320a4afef435687477636a570100b3
Author: kgv 
Date:   Sat Jun 22 19:50:10 2019 +0300

    0030748: Visualization - Marker displayed in immediate layer ruins QT Quick view controls
    
    OpenGl_Workspace::ResetAppliedAspect() now resets active texture unit to GL_TEXTURE0.

commit 4151c94d20bae84a9798a37003dcac8eda732f3a
Author: kgv 
Date:   Sun May 5 20:31:35 2019 +0300

    0029296: Data Exchange - implement import of mesh data from files in OBJ format
    
    RWObj_Reader and RWObj_CafReader - added new classes reading triangulation from OBJ file.

commit 0a419c51eda746c42eefb06f94a3e1384acb9a1c
Author: kgv 
Date:   Tue Jun 18 19:41:15 2019 +0300

    0030691: Data Exchange - implement import of mesh data from files in glTF format
    
    Added RWGltf_CafReader class implementing glTF reader.
    Added readgltf Draw Harness command for reading glTF files.

commit eec6e810f142d02c18f14aa49587ed49ffddb50c
Author: oan 
Date:   Sun Jun 16 19:12:56 2019 +0300

    0027685: Visualization of a shape imported from IGES hangs
    
    Adding test case

commit c2a25d522ba47e02bba09858df16f58fe61a3b0c
Author: emv 
Date:   Mon Jun 17 16:26:45 2019 +0300

    0030785: Mesh - protect BRepMesh_IncrementalMesh::Perform from raising exception
    
    IMeshTools_ModelAlgo and IMeshTools_ModelBuilder have been changed to provide exception protected interfaces for performing the operations.
    Protect single Edge/Face discretization methods from raising exceptions to skip broken Edges/Faces and allow mesh construction on the whole model.

commit fe525c6f7c2fc11ce946df18fbb4144c4d315052
Author: kgv 
Date:   Sun Jun 16 17:09:14 2019 +0300

    0030777: Visualization - Incorrect selection/highlighting of clipped objects
    
    SelectMgr_ViewerSelector::traverseObject() now handles Object clipping planes in the same way as View clipping planes.

commit 3b739e69c9b12911964bb8c66740830f32b067df
Author: ika 
Date:   Tue Jun 18 12:18:01 2019 +0300

    0030789: Data Exchange - Some names are lost during STEP import
    
    Add importing name from PRODUCT_DEFINITION_WITH_ASSOCIATED_DOCUMENTS STEP entity.
    Update test cases with files contained this entity.

commit c9983ee86372ab389eb67a84fbccfd56baa5203c
Author: kgv 
Date:   Sat May 11 10:07:19 2019 +0300

    0030706: Visualization - fetch font folder list from fontconfig library on Linux
    
    vfont command now prints fonts in alphabetical order.

commit 912761ea17469dfc43a1c219da41ea4925fab5d9
Author: kgv 
Date:   Sun Jun 16 13:09:49 2019 +0300

    0030782: Visualization, Font_FTFont - use predefined fallback fonts for extended Unicode subsets
    
    Font_FTFont now uses fallback fonts for characters from unsupported Unicode subsets,
    managed by Font_FTFont::ToUseUnicodeSubsetFallback()
    and Font_FontMgr::ToUseUnicodeSubsetFallback() option, enabled by default.
    The fallback list includes common font families for Chinese, Korean and Japanese languages.
    
    Font_FTFont::RenderGlyph() now supports FT_PIXEL_MODE_MONO input format used by some CJK fonts.
    OpenGl_Font::createTexture() now limits single texture size to circa 4096 glyphs.
    
    test/testgrid now expects test scripts being in UTF-8 encoding in sync with "DRAWEXE -f script.tcl".
    
    AIS::InitFaceLength() - fixed usage of uninitialized result.

commit 1bb67d3844af0f972667f584d1d3112cfa2b83f0
Author: emv 
Date:   Thu Apr 18 11:17:18 2019 +0300

    0030595: Oriented Bounding Box seems not optimal for some shapes
    
    Add possibility of construction of the Optimal Oriented Bounding Box from set of points (the case of shape with triangulation).
    
    The interface of the BRepBndLib::AddOBB method is not changed, but the option  now controls also the construction of the OBB from Set of points.
    The slightly modified DiTo algorithm will be used, checking all possible axes created by the extreme points.
    The performance of the construction of the Optimal OBB is lower but the quality is usually much higher (can't be worse by definition).
    
    Test cases for the issue.

commit 6b41f0f335692887425b9940bb3c88da1ab9232a
Author: kgv 
Date:   Wed Jun 5 09:34:21 2019 +0300

    0030754: Coding - the array of weights should begin with Lower, not the constant value 1 within Geom_BSplineCurve.cxx

commit d6b200e03a50251bbe58a7041ec5c0f7f25ff0ad
Author: ika 
Date:   Thu Jun 13 15:30:51 2019 +0300

    0030779: Data Exchange - Problems with located subshapes in expand compounds
    
    Protect Expand compounds against problems with located subshapes.
    Add method XCAFDoc_ShapeTool::AddSubShape() with Boolean output parameter.
    Speed up XCAFDoc_ShapeTool::Expand().
    Speed up XCAFDoc_ShapeTool::FindSubShape().

commit 7f662bf4eff610473951f8f03a3cd278d097e03e
Author: mpv 
Date:   Mon Jun 3 16:05:25 2019 +0300

    0030761: Application Framework - HOMEDRIVE and TEMP are undefined on UWP
    
    Avoid CDF_Stroe to find default folder since there is no case where this folder does not reset to exact value given by the user.
    Also, remove the exception raising for the case this method is called from outside.

commit 13c556d9dea7ee1e91276f619e233f83057701e2
Author: nds 
Date:   Thu Jun 6 16:40:52 2019 +0300

    0030725: Visualization - remove Display calling from SetSelected methods of context
    
    AIS_InteractiveContext::Load/ClearGlobal is modified for correct processing SetSelected for child objects.
    As Display/Erase of object with children displays/erases these children, then the children status inside context should also be updated.

commit 49582f9dbf0b2a0502bcb37ea5789af5d940ca45
Author: kgv 
Date:   Mon Jun 10 21:03:41 2019 +0300

    0030507: Visualization - introduce AIS_ViewController
    
    ViewerTest_EventManager now inherits AIS_ViewController.
    Platform-dependent user input handling within ViewerTest has been revised
    to process events in common way through AIS_ViewController.
    The mouse navigation has been changed, so that left mouse clicked
    without modifers now rotates View.
    The rubber-band selection can be activated via Alt+LeftMouseButton.
    Selection is now done on mouse unclick and keyboard short-cuts take effect on unclick.
    
    Aspect_Window::SetTitle() - added new method configuring Window title.
    Introduced new types Aspect_Touch, Aspect_VKey, Aspect_ScrollDelta
    for processing window events in platform-independent way.

commit 61aef3ce0551b672f9ed471b02cc47d1d4deb32f
Author: szy 
Date:   Mon Jun 10 12:59:39 2019 +0300

    0030772: Data Exchange - Invalid person's name constructed by STEPConstruct_AP203Context class.
    
    // fixed remarks.

commit d31fb73a09629de3be7dec93e712fa0197d7003d
Author: age 
Date:   Wed Jun 5 12:30:01 2019 +0300

    0030765: Visualization - Incorrect intersection with Select3D_SensitiveBox when clipping is turned on
    
    SelectMgr_RectangularFrustum::Overlaps method for computing intersection of box with frustum was reworked. Now the nearest non-clipped point is calculated.

commit 8d2c79f4e3971ed6b67af3573dae2ea03506eb1d
Author: nds 
Date:   Thu Jun 6 11:50:21 2019 +0300

    0030726: Visualization - change Selected state of owner in AIS_Selection
    
    AIS_InteractiveContext::IsHilighted() behavior has been changed.
    It should use the same logic for owner processing like when it is highlighted. IsSelected of owner is used for selection state, not highlight.
    
     Without this correction, object is never shown as selected by click (Select(bool)):
     if (!HighlightStyle (theOwner, aCustomStyle) ||
        (!aCustomStyle.IsNull() && aCustomStyle != anObjSelStyle))
    
     IsSelected is already true, so the highlight style is equal to selection style, nothing to do.

commit fc552d842e7da8c0f9b0f705235121a336ab9ee9
Author: kgv 
Date:   Fri May 3 17:50:28 2019 +0300

    0030692: Data Exchange - introduce base framework RWMesh for importing mesh data formats into XDE document
    
    RWMesh_CafReader - added new interface class for common workflow for reading mesh data files into XDE document.
    
    OSD_Path - added auxiliary methods splitting path into folder+file pair
    and checking relative/absolute path semantically:
    OSD_Path::FolderAndFileFromPath(), ::IsRelativePath(), ::IsAbsolutePath().
    
    V3d_TypeOfOrientation enumeration has been extended with aliases
    (like front/left) for Z-up and Y-up conventions.
    V3d_View::SetProj() now accepts argument for asking Y-up instead of Z-up.
    
    Added command vviewproj defining standard camera direction.
    Commands vaxo, vleft, vright, vtop, vbottom, vfront, vbottom now redirect to vviewproj.
    
    TCollection_AsciiString::SubString() now uses Standard_OutOfRange_Always_Raise_if() to suppress GCC warning.
    
    Eliminated gcc 4.4 compilation errors within Standard_OutOfRange_Raise_if,Standard_RangeError_Raise_if.

commit 5771d380b12c4dad22c5cf6f153ba1aeffb63aa9
Author: apn 
Date:   Tue Jun 4 14:20:56 2019 +0300

    0030715: Configuration, CMake - error build with QTANGLE
    
    SEARCH_TEMPLATES was modified to find EGL and GLES2 libraries in different folders (angle-gles, egl-gles, egl, angle, etc).
    Find 3rdparty products procedure allows to define 3RDPARTY_LIBRARY_DIR or 3RDPARTY_DLL_DIR manually to find necessary libraries and dlls.

commit 78005ffefef5267b11d93a37457d698f60371bd0
Author: emv 
Date:   Mon Jun 3 11:36:18 2019 +0300

    0030760: Modeling Algorithms - Intersection fails in Occt 7.3.0
    
    Use FORWARD orientation of edges and face when attaching pcurve from one edge to another.
    Test case for the issue.

commit 9324aa2d0db76088d01531a879d0eb5633d9d0fd
Author: emv 
Date:   Thu Apr 18 15:34:37 2019 +0300

    0030656: Modeling Algorithms - Change Boolean Operations algorithm to use BVH tree instead of UBTree
    
    Switching the Boolean Operations algorithm to use the BVH tree instead of UB tree as selection of the elements from BVH tree is usually faster.

commit 0616aa9ecf40aaa3f9f63a0d3500551dcf12a956
Author: abv 
Date:   Tue Jun 4 09:21:28 2019 +0300

    0030764: Coding - warnings in Image_AlienPixMap.cxx when built with MSVC10
    
    Disable warnings when including system headers (conflict between VS 2010 and Windows SDK definitions).

commit 0ae9ac21790bf0028468341716d662b33d6a68e4
Author: kgv 
Date:   Sun May 26 12:46:32 2019 +0300

    0030729: Visualization - TKOpenGl reports OpenGL 4.5 loading functions error on Intel drivers
    
    Make reported error more verbose.

commit b30b2c138115dead85f5151446bac8636c2cf130
Author: kgv 
Date:   Thu May 30 10:02:25 2019 +0300

    0028668: Point Cloud Rendering - standard selection API returns invalid values
    
    Added an argument to OpenGl_GraphicDriver::GetSharedContext() for returning only currently bound OpenGL context.
    SelectMgr_SelectingVolumeManager::GetMousePosition() - added getter returning mouse coordinates.

commit edc4ba21c408a805d1474ea626ad9dd054db8f4c
Author: kgv 
Date:   Wed May 29 15:22:10 2019 +0300

    0030756: Visualization, TKOpenGl - capping plane does not work for ZLayer with non-zero origin
    
    OpenGl_CappingPlaneResource::updateTransform() now takes into account ZLayer origin.
    
    Fixed VT_ProcessKeyPress() passing arbitrary input to Draw::Atoi() leading
    to messages in console like "unclosed braces".

commit 9aceb23df6f7a85f01c22823d00e0d2102546cb7
Author: kgv 
Date:   Sat May 25 18:59:17 2019 +0300

    0030745: Visualization, TKOpenGl - fix initialization of GLES3 context
    
    OpenGl_GraphicDriver::InitContext() now tries to initialize GLES3 context
    (EGL_CONTEXT_CLIENT_VERSION) and then fallback to GLES2.

commit 8e6ce38cf4d364dbb3c7db968e79eeb6396873ff
Author: iko 
Date:   Tue May 7 15:44:39 2019 +0300

    0030698: Volume Rendering - Early clipping of volume object's bounding box
    
    Flag to control check of bounding box clipping before drawing has been added.

commit 7c1a82100041c3b397b8e44925cee83d985e7804
Author: emv 
Date:   Wed Apr 17 17:29:02 2019 +0300

    0030655: Modeling Data - Provide interfaces for selection of the elements from BVH tree
    
    Provide the easy to use interfaces for selection of the elements from BVH tree.
    The selection rules should be implemented in the selector class derived from *BVH_Traverse* or in *BVH_PairTraverse* in Reject/Accept methods.
    
    The *BVH_Traverse* is used for selection of the elements from the tree.
    The *BVH_PairTraverse* is used for selection of the pairs of elements from two BVH trees.
    
    Auxiliary changes:
    - Two methods BVH_Box::IsOut(OtherBox) and BVH_Box::IsOut(Point) have been added;
    - Added methods for conversion of Bnd boxes to BVH boxes
    
    Added new class *BVH_Tools* containing useful static methods operating on BVH points and boxes.
    
    The classes BRepExtrema_OverlapTool and BVH_DistanceField have been rebased to use the new traverse methods.

commit 1b827f04843bb9323b0e663aacafe3400eaf3eea
Author: Benjamin Bihler 
Date:   Thu May 23 15:49:50 2019 +0300

    0030731: Modeling Data - B-Spline should have explicit data check error messages
    
    Error messages have been added in throw statements.

commit e3249d8e5a92f5106c72ae14a74e2934bca786fb
Author: kgv 
Date:   Mon May 6 16:00:16 2019 +0300

    0030694: Data Exchange - support non-standard GB2312-encoded STEP files
    
    STEPCAFControl_Reader::SourceCodePage() - added property defining text encoding
    for converting names within STEPCAFControl_Reader::ReadNames() method.
    Added associated "read.stepcaf.codepage" parameter,
    which default value is Resource_UTF8, preserving current behavior.
    
    Resource_FormatType enumeration has been extended by UTF8 and SystemLocale values.
    Resource_Unicode - added conversion methods taking Resource_FormatType as argument.
    
    GetName command has been corrected to NOT replace non-Latin symbols.

commit 48ba181118ec22a4cc0f12a0732c16049e8c602e
Author: kgv 
Date:   Fri May 24 11:00:35 2019 +0300

    0030702: Configuration, CMake - error for iOS build due to searching macos frameworks
    
    Look for UIKit+OpenGLES on iOS instead of AppKit+OpenGL.

commit f6973d90548ca5c12b3f325168f1fa64e71c7c98
Author: kgv 
Date:   Thu May 23 22:46:58 2019 +0300

    0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
    
    Cache subshapes list into map instead of re-iterating it multiple times within the loop.
    Avoid iteration at all if modified state has been already detected.
    
    XCAFDoc now returns GUIDs by const reference instead of a copy.

commit 9369e98a623f5ffac1af4f63f7cf6fbb9eb8e056
Author: jgv 
Date:   Thu Apr 25 19:46:14 2019 +0300

    0030590: Wrong result of Boolean Cut algorithm
    
        Modification in static method BoundedArc of IntStart_SearchOnBoundaries:
        add exact intersection of canonical curve-surface (when Func is IntPatch_ArcFunction).

commit 7783ba112026e86f555ff7d211ae99787a5a9c84
Author: ika 
Date:   Wed May 22 15:22:54 2019 +0300

    0030727: Data Exchange - Problems in Shape Tool
    
    Add protection from return of not top-level shape by FindShape method.
    Add protection against located roots into FindMainShape method.
    Add new Draw command for FindMainShape.
    Add flag findInstance to Draw command FindShape

commit 47cd8af2d2187e16bb358dc2f30a1a54d7ab2dfa
Author: emv 
Date:   Tue Apr 23 12:31:23 2019 +0300

    0030670: Modeling Algorithms - Performance improvement of Boolean Operations algorithm
    
    The following improvements have been made in Boolean operations algorithm:
    1. Added possibility to update FaceInfo structure for many faces at once which helps to avoid nested loops.
    2. Improve Point-Face classification procedure by caching the FaceExplorer for a face.

commit a4d594cbda8cbcecfca6f41731576a4421f6b112
Author: kgv 
Date:   Thu May 23 12:02:29 2019 +0300

    0030440: Visualization - Graphic3d_Camera::Frustum() returns wrong planes in portrait mode
    
    Graphic3d_Camera::Frustum() now handles window Aspect Ratio < 1.0.

commit 0ef04197f700fdf9bb02c1d156c2a96753f4b838
Author: kgv 
Date:   Tue May 21 19:42:15 2019 +0300

    0030687: Visualization - remove redundant interfaces SelectBasics_EntityOwner and SelectBasics_SensitiveEntity
    
    SelectBasics_EntityOwner has been merged into SelectMgr_EntityOwner.
    Unused property SelectMgr_EntityOwner::ResetLocation() has been removed.
    SelectBasics package has been moved from TKService to TKV3d.
    
    SelectBasics_SensitiveEntity has been merged into Select3D_SensitiveEntity.

commit 547fcc76b28520ee1a7e8de3789a27ecbbfa8f52
Author: tiv 
Date:   Tue May 21 16:18:48 2019 +0300

    0030718: Mesh - broken triangulation within 32-bit builds
    
    The problem caused by the changing of HashCode() method of TColStd_PackedMapOfInteger::TColStd_intMapNode class done as a part of 30550 changes is solved.