occt.git
9 years agoAdjusting CPU time for new testing cases.
mkv [Mon, 1 Dec 2014 08:01:56 +0000 (11:01 +0300)]
Adjusting CPU time for new testing cases.

9 years ago0025470: Wrong result of COMMON operation
emv [Fri, 28 Nov 2014 10:25:00 +0000 (13:25 +0300)]
0025470: Wrong result of COMMON operation

Fix for correct splitting of infinite faces.

Test cases for issue CR25470

9 years ago0025514: TKernel, OSD_Timer - do not accumulate error in timer within queries in...
kgv [Fri, 28 Nov 2014 10:22:41 +0000 (13:22 +0300)]
0025514: TKernel, OSD_Timer - do not accumulate error in timer within queries in running state

Test-case for issue #25514

Update of test-case

9 years ago0025487: Extrema_GenExtPS needs to be optimized
aml [Fri, 28 Nov 2014 10:19:30 +0000 (13:19 +0300)]
0025487: Extrema_GenExtPS needs to be optimized

Better caching and cashe usage in Extrema_GenExtPS.

Test-cases for issue #25487

Update of test-cases

9 years ago0025503: BRepMesh - IncrementalMesh always re-meshes the shape even if existing trian...
msv [Fri, 28 Nov 2014 10:03:57 +0000 (13:03 +0300)]
0025503: BRepMesh - IncrementalMesh always re-meshes the shape even if existing triangulation satisfies the given deflection

Test case for issue CR25503

Correction of test cases for issue CR25503

9 years ago0025304: Visualization, TKOpenGl - support texturing within built-in GLSL programs
kgv [Tue, 25 Nov 2014 05:52:08 +0000 (08:52 +0300)]
0025304: Visualization, TKOpenGl - support texturing within built-in GLSL programs

9 years ago0025474: Visualization, TKOpenGl - support lighting + colored vertices within built...
kgv [Sun, 23 Nov 2014 14:29:38 +0000 (17:29 +0300)]
0025474: Visualization, TKOpenGl - support lighting + colored vertices within built-in GLSL programs

9 years ago0025477: Boolean Operations with additional tolerance - Fuzzy Boolean operations
emv [Fri, 28 Nov 2014 09:23:58 +0000 (12:23 +0300)]
0025477: Boolean Operations with additional tolerance - Fuzzy Boolean operations

Implementation of Fuzzy Boolean operations. Such operations allow to perform Boolean operations on the shapes
with near-coincidence between the entities of these shapes, i.e. between shapes in which some entities from one shape
are intended to be coincide with some entities from the other, but the coincidence is not precise.

API for Boolean operations has been improved to have a possibility to add new options.

Modified entities:
1. New option of setting additional tolerance have been added to the following classes:
class BOPAlgo_ArgumentAnalyzer
class BOPAlgo_BOP
class BOPAlgo_Builder
class BOPAlgo_MakerVolume
class BOPAlgo_PaveFiller
class BOPDS_DS
class BRepAlgoAPI_BooleanOperation
class BRepAlgoAPI_Check
class BRepAlgoAPI_Common
class BRepAlgoAPI_Cut
class BRepAlgoAPI_Fuse
class BRepAlgoAPI_Section

2. Following draw commands have been modified to support new functionality:
BOP commands:
bop b1 b2 [tol]
bcommon r b1 b2 [tol]
bcut r b1 b2 [tol]
bfuse r b1 b2 [tol]
bsection r s1 s2 [-n2d/-n2d1/-n2d2] [-na] [tol]
mkvolume r b1 b2 ... [-c] [-ni] [-s] [tol]
bfillds [-s -t] [tol]

Check commands:
bopcheck Shape [level of check: 0 - 9] [-t -s] [-tol tol]
bopargcheck [-F/O/C/T/S/U] [/R|F|T|V|E|I|P|C|S]] [#BF] [-tol tol]

3. Two new classes have been added to API to provide the root interface for algorithms
class BRepAlgoAPI_Algo
class BRepAlgoAPI_BuilderAlgo

Fix to eliminate the warning.

Test-cases for issue #25477

9 years ago0025507: Visualization - the method V3d_View::Place() is incorrect
osa [Fri, 28 Nov 2014 09:19:35 +0000 (12:19 +0300)]
0025507: Visualization - the method V3d_View::Place() is incorrect

Test was updated

Correction of test case for issue CR25507

9 years ago0025339: Draw command "mkoffset" does not take into account "intersection" mode on...
apn [Fri, 7 Nov 2014 13:14:04 +0000 (16:14 +0300)]
0025339: Draw command "mkoffset" does not take into account "intersection" mode on faces

Added test case bugs/modalg_5/bug25339

9 years ago0025527: Documentation - remove redundant references to OpenCL
kgv [Thu, 27 Nov 2014 14:21:19 +0000 (17:21 +0300)]
0025527: Documentation - remove redundant references to OpenCL

9 years ago0023460: Update QT products samples
apn [Tue, 18 Nov 2014 10:41:56 +0000 (13:41 +0300)]
0023460: Update QT products samples

Rename all generation-vc-projects.bat (in OCCT) to genproj.bat.
Fixed warnings in VoxelDemo.

9 years agoIncrementation of OCCT version up to 6.8.1 dev
bugmaster [Fri, 21 Nov 2014 13:16:24 +0000 (16:16 +0300)]
Incrementation of OCCT version up to 6.8.1 dev

9 years ago0025354: Intersection operation
mkv [Fri, 21 Nov 2014 10:24:35 +0000 (13:24 +0300)]
0025354: Intersection operation
Adding test cases

9 years ago0025494: Wrong result obtained by projection algorithm
bugmaster [Fri, 21 Nov 2014 13:10:52 +0000 (16:10 +0300)]
0025494: Wrong result obtained by projection algorithm

Calculation of last parameter of projected curve was changed for the projecting of a curve to surface of revolution, if the curve is intersected with the axis of revolution

Test case for issue CR25494

9 years ago0025498: CMake refuses to build OCCT without any 3rd party libraries
razmyslovich [Wed, 19 Nov 2014 10:39:04 +0000 (11:39 +0100)]
0025498: CMake refuses to build OCCT without any 3rd party libraries

Adding guards for empty CMake variables

9 years ago0025459: Visualization - AIS_ColoredShape::SetMaterial() should not reset custom...
kgv [Fri, 14 Nov 2014 09:55:57 +0000 (12:55 +0300)]
0025459: Visualization - AIS_ColoredShape::SetMaterial() should not reset custom colors

9 years ago0025505: General Fuse produces self-intersection shape
pkv [Fri, 21 Nov 2014 12:39:24 +0000 (15:39 +0300)]
0025505: General Fuse produces self-intersection shape

Changes:
class BOPAlgo_BuilderSolid
method:
void BOPAlgo_BuilderSolid::PerformAreas()

The misprint has been corrected

Test case for issue CR25505

9 years ago0025504: Exception raised during projection curve on surface
azv [Fri, 21 Nov 2014 12:35:44 +0000 (15:35 +0300)]
0025504: Exception raised during projection curve on surface

Avoid moving of projected point to a boundary of surface

Test case for CR25504

9 years ago0025500: Visualization, TKOpenGl - global trihedron should not inherit transformation...
kgv [Fri, 21 Nov 2014 12:34:16 +0000 (15:34 +0300)]
0025500: Visualization, TKOpenGl - global trihedron should not inherit transformation from last object

Test case for CR25500

9 years ago0025491: BRepOffsetAPI_MakeOffset algorithm crashes on customer's shape and big value...
jgv [Fri, 21 Nov 2014 12:22:22 +0000 (15:22 +0300)]
0025491: BRepOffsetAPI_MakeOffset algorithm crashes on customer's shape and big value of offset

Test case for CR25491

Correction of test case for issue CR25491

9 years ago0025455: fixshape works at the second attempt
gka [Fri, 21 Nov 2014 11:51:01 +0000 (14:51 +0300)]
0025455: fixshape works at the second attempt

Added check and fix of tolerances of all vertices after performing all fixes.
It is necessary to avoid situation when point of vertex belonging a few faces was changed for current face
but edges containing this vertex belonging before fixed face are not taking into account.
Mode FixVertexTolMode to manage check tolerance of vertices was added in ShapeFix_Shape
class. (default value is equal to -1)
Method to change FixVertexTolMode mode  FixVertexTolMode() was added in ShapeFix_Shape class

Test case for CR25455

9 years ago0025488: Wrong result of two trimmed cylinders intersection
nbv [Fri, 21 Nov 2014 11:44:01 +0000 (14:44 +0300)]
0025488: Wrong result of two trimmed cylinders intersection

1. Function IsSame(...) for IntSurf_PntOn2S was added (see IntSurf_PntOn2S.cdl for detail information).
2. Inserting additional points is forbidden if existing WLine contains only two points coincided.

Test-case for issue #25488

9 years ago0025469: BRepMesh corrupts triangulation of another not connected shape
oan [Fri, 21 Nov 2014 11:15:34 +0000 (14:15 +0300)]
0025469: BRepMesh corrupts triangulation of another not connected shape

Do not clean polygons that are created for different faces not connected with current shape.
Remove old code producing additional points for BSpline curves due to fix #24959.

Test cases fir issue CR25469

Revert changes producing additional points for BSpline curves with C1 continuity

Test cases fir issue CR25469

Correction of test cases for issue CR25469

9 years ago0025479: BRepTools::Clean() cleans all edge polygons, even related to different shapes
oan [Thu, 13 Nov 2014 16:40:57 +0000 (19:40 +0300)]
0025479: BRepTools::Clean() cleans all edge polygons, even related to different shapes

9 years ago0025480: Incorrect result of BRepOffsetAPI_MakePipe
jgv [Fri, 21 Nov 2014 11:04:52 +0000 (14:04 +0300)]
0025480: Incorrect result of BRepOffsetAPI_MakePipe

Test case for CR25480

9 years ago0025436: Visualization - AIS_InteractiveContext::HilightPreviousDetected() should...
isk [Wed, 12 Nov 2014 11:27:50 +0000 (14:27 +0300)]
0025436: Visualization - AIS_InteractiveContext::HilightPreviousDetected() should switch from first value in the list to the last

9 years ago0025483: Visualization, TKOpenGl - fix memory leak due to unused stack in OpenGl_Stat...
kgv [Fri, 14 Nov 2014 14:24:56 +0000 (17:24 +0300)]
0025483: Visualization, TKOpenGl - fix memory leak due to unused stack in OpenGl_StateInterface

9 years ago0025456: BOPAlgo_CheckerSI reports an error on the given shape
pkv [Fri, 21 Nov 2014 10:58:02 +0000 (13:58 +0300)]
0025456: BOPAlgo_CheckerSI reports an error on the given shape

Changes:
1. class IntTools_FaceFace
         method:
         void IntTools_FaceFace::MakeCurve(const Standard_Integer Index,
                                    const Handle(Adaptor3d_TopolTool)& dom1,
                                    const Handle(Adaptor3d_TopolTool)& dom2)

The value of testing parameter has been changed for the cases of infinite curves

Test case for issue CR25456

9 years ago0025451: BRepFilletAPI_MakeFillet fails on customer's shape when small radius of...
jgv [Fri, 21 Nov 2014 10:55:11 +0000 (13:55 +0300)]
0025451: BRepFilletAPI_MakeFillet fails on customer's shape when small radius of fillet is given

Test-case for issue #25451

Update of test-cases

9 years ago0025449: Excess vertex in result of General Fuse operation.
pkv [Fri, 21 Nov 2014 10:50:44 +0000 (13:50 +0300)]
0025449: Excess vertex in result of General Fuse operation.

Changes:
1. class IntTools_EdgeFace
     method:
     Standard_Boolean IntTools_EdgeFace::CheckTouchVertex
     (const IntTools_CommonPrt& aCP,
     Standard_Real& aTx)

The parametric size of the contact zone between vertex and face has been changed

Test cases for issue CR25449

9 years ago0025450: Common operation returns wrong shape
pkv [Fri, 21 Nov 2014 10:48:35 +0000 (13:48 +0300)]
0025450: Common operation returns wrong shape

Changes:
class BOPAlgo_PaveFiller
 method:
 void BOPAlgo_PaveFiller::PerformEF()

 The index of the face has been added in post-treatment map

Test cases for issue CR25450

Correction of test case for issue CR25450

9 years ago0025460: BRepOffsetAPI_ThruSections fails on customer's shape (wing on 11 sections)
jgv [Fri, 21 Nov 2014 10:46:20 +0000 (13:46 +0300)]
0025460: BRepOffsetAPI_ThruSections fails on customer's shape (wing on 11 sections)

Test-case for issue #25460

9 years ago0025432: Wrong result obtained by MakerVolume operator.
pkv [Fri, 21 Nov 2014 10:44:01 +0000 (13:44 +0300)]
0025432: Wrong result obtained by MakerVolume operator.

Changes:
class BOPTools_AlgoTools
static function:
Standard_Boolean FindPointInFace(const TopoDS_Face& aF,
                                 const gp_Pnt& aP,
                                 gp_Dir& aDB,
                                 gp_Pnt& aPOut,
                                 Handle(IntTools_Context)& theContext,
                                 GeomAPI_ProjectPointOnSurf& aProjPL,
                                 const Standard_Real aDt,
                                 const Standard_Real aTolE)

Binormal calculation starts from the point located outside the tolerance circle of the edge

Test case for issue CR25432

Correction of test cases for issue CR25432

9 years ago0025321: Test case bugs/modalg_5(010)/bug24981 hangs in Debug mode on Debian60-64...
aml [Fri, 31 Oct 2014 12:23:24 +0000 (15:23 +0300)]
0025321: Test case bugs/modalg_5(010)/bug24981 hangs in Debug mode on Debian60-64 platform

Eliminated possible inifite loop when projecting curve on surface.

9 years ago0024697: Exception is raised during projection of the curve on the surface
azv [Fri, 21 Nov 2014 10:34:42 +0000 (13:34 +0300)]
0024697: Exception is raised during projection of the curve on the surface

The curve is trimmed since now in the boundaries of surface

Test case for issue CR24697

Behavior for trimming periodic curves was changed

9 years ago0025430: DRAW Test Harness: dimensions demo fails
aba [Thu, 30 Oct 2014 14:06:58 +0000 (17:06 +0300)]
0025430: DRAW Test Harness: dimensions demo fails

- corrected vdimparam help string;
- added section model file to prevent changing of subshapes order after explode call

9 years agoUpdate of template for compilation in debug mode OCCT680-REF V6_8_0
apn [Mon, 10 Nov 2014 10:14:44 +0000 (13:14 +0300)]
Update of template for compilation in debug mode

9 years agoIncrementation of OCCT version up to 6.8.0
bugmaster [Fri, 7 Nov 2014 14:56:30 +0000 (17:56 +0300)]
Incrementation of OCCT version up to 6.8.0

9 years ago0025195: Samples - add Java sample for Android 4.x
kgv [Fri, 7 Nov 2014 08:20:13 +0000 (12:20 +0400)]
0025195: Samples - add Java sample for Android 4.x

9 years ago0025149: Samples - add Qt5/QML sample for Android 4.x
ibs [Fri, 3 Oct 2014 10:11:30 +0000 (14:11 +0400)]
0025149: Samples - add Qt5/QML sample for Android 4.x

9 years ago0025446: The method BRepAlgoAPI_BooleanOperation::IsDeleted() returns TRUE for the...
emv [Thu, 6 Nov 2014 14:39:01 +0000 (18:39 +0400)]
0025446: The method BRepAlgoAPI_BooleanOperation::IsDeleted() returns TRUE for the faces contained in the result of BOP

1. The method
  Standard_Boolean BOPAlgo_Builder::IsDeleted
    (const TopoDS_Shape& theS)
  has been modified to return TRUE only if the shape theS has been deleted.
2. Added new draw (QA) command OCC25446 to test this method.

9 years ago0025420: Wrong result obtained by General Fuse operator.
apn [Fri, 7 Nov 2014 10:58:19 +0000 (13:58 +0300)]
0025420: Wrong result obtained by General Fuse operator.

Added test case bugs/modalg_5/bug25420

9 years agoUpdate CMakeLists.txt for standard mfc sample
bugmaster [Fri, 7 Nov 2014 11:18:45 +0000 (14:18 +0300)]
Update CMakeLists.txt for standard mfc sample

9 years ago0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace...
kgv [Thu, 6 Nov 2014 16:21:39 +0000 (19:21 +0300)]
0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace::Redraw()

suppress new warning

9 years ago0025445: Draw command incmesh should support all parameters used in BRepMesh
oan [Thu, 6 Nov 2014 13:05:14 +0000 (16:05 +0300)]
0025445: Draw command incmesh should support all parameters used in BRepMesh

Test-case for issue #25445

9 years ago0025270: OCCT fails to calculate extrema between extruded surface and line
apn [Thu, 6 Nov 2014 11:55:10 +0000 (14:55 +0300)]
0025270: OCCT fails to calculate extrema between extruded surface and line

Added test case bugs/modalg_5/bug25270

9 years ago0025439: Enabling shape binary persistence without OCAF
Roman Lygin [Fri, 31 Oct 2014 12:40:03 +0000 (16:40 +0400)]
0025439: Enabling shape binary persistence without OCAF

9 years ago0025367: IGES and BRep persistence - support unicode file names on Windows
pdn [Wed, 22 Oct 2014 08:17:10 +0000 (12:17 +0400)]
0025367: IGES and BRep persistence - support unicode file names on Windows

OSD_OpenFile.hxx header is created for using in file open operations with Unicode names.

Fix for STEP files reading.

Adding test cases for issue 25367
Update test case for issue 25364
Update test cases due to improvements

9 years ago0025364: BRepMesh is not able to triangulate the shape with fine deflection
oan [Wed, 5 Nov 2014 14:57:41 +0000 (17:57 +0300)]
0025364: BRepMesh is not able to triangulate the shape with fine deflection

Don't create data structures for whole set of faces. Necessary structures are created directly in BRepMesh_FastDiscret.
Don't copy nodes data during scaling, single structure is used.

Remove lines used for debug

Fix sphere: resolve problem came from merging.

Keep code clean - remove unnecessary logic, expected to be used for complicated restoration process.

Test cases for issue CR25364

9 years ago0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace...
kgv [Fri, 31 Oct 2014 12:33:12 +0000 (15:33 +0300)]
0025438: Visualization, TKOpenGl - always setup viewport within OpenGl_Workspace::Redraw()

9 years ago0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
duv [Mon, 3 Nov 2014 20:18:25 +0000 (23:18 +0300)]
0024381: Visualization, TKOpenGl - revise matrices stack and usage of temporary matrices
0025301: Visualization, TKOpenGl - transpose matrix manually before glUniformMatrix4fv()

OpenGl_View::ReleaseGlResources() - release GL resources of trihedron, do not destroy it

9 years ago0025442: Visualization, TKOpenGl - prevent inclusion of system header glxext.h
kgv [Sat, 1 Nov 2014 00:42:31 +0000 (20:42 -0400)]
0025442: Visualization, TKOpenGl - prevent inclusion of system header glxext.h

Define GLX_GLXEXT_LEGACY in addition to GL_GLEXT_LEGACY to prevent implicit
inclusion of header GL/glxext.h by system header GL/glx.h

Update glext.t to current state.

9 years ago0025443: Documentation - update packages names in Building 3rd-party libraries on...
kgv [Sat, 1 Nov 2014 07:50:43 +0000 (10:50 +0300)]
0025443: Documentation - update packages names in Building 3rd-party libraries on Linux

Update README files for samples

9 years ago0025343: Visualization - Update user's guide and DRAW commands description
isz [Fri, 31 Oct 2014 15:37:45 +0000 (18:37 +0300)]
0025343: Visualization - Update user's guide and DRAW commands description

Redesign of Visualisation user guide's structure with some changes in the guide.
Update Draw_test_harness user guide. Added dimension commands to DRAW test harness.
Update of prerequisites and building 3rd party tools sections
Move VIS draw tests to Draw Test Harness section.

Additionally, fix bugs 24117 and 25353.
Correct output of new imaged in PDF in modeling algos guide and errors introduced by bug 24699 in the overview.

9 years ago0025174: Provide ShapeCustom and BRepModifier with ProgressIndicator and ReShape...
razmyslovich [Wed, 20 Aug 2014 13:17:53 +0000 (15:17 +0200)]
0025174: Provide ShapeCustom and BRepModifier with ProgressIndicator and ReShape features

Conflicts:
src/TNaming/TNaming_Name.cxx

9 years ago0024934: Section: crash for two faces
aml [Wed, 5 Nov 2014 14:26:31 +0000 (17:26 +0300)]
0024934: Section: crash for two faces

Added protection from null vertexes.

Test case for issue CR24934

9 years ago0024548: Ray Tracing mode not available in MFC samples
ski [Thu, 30 Oct 2014 13:03:24 +0000 (16:03 +0300)]
0024548: Ray Tracing mode not available in MFC samples

Ray tracing functionality was added to OCCT MFC samples.

9 years ago0025157: Face missing depending the angle of revolution
apn [Fri, 31 Oct 2014 13:58:29 +0000 (16:58 +0300)]
0025157: Face missing depending the angle of revolution

Added test case bugs/mesh/bug25157

9 years ago0022125: TCollection_ExtendedString: conversion from UTF-8 to unicode
apn [Fri, 31 Oct 2014 13:46:53 +0000 (16:46 +0300)]
0022125: TCollection_ExtendedString: conversion from UTF-8 to unicode

Added test case bugs/fclasses/bug22125

9 years ago0025413: Line-Shape intersection algorithm became 400 times slower
azv [Wed, 5 Nov 2014 14:02:23 +0000 (17:02 +0300)]
0025413: Line-Shape intersection algorithm became 400 times slower

Changed the procedure of creating initial samples

Test-case for issue #25413

9 years ago0025418: Debug output to be limited to OCC development environment
abv [Tue, 28 Oct 2014 09:41:04 +0000 (12:41 +0300)]
0025418: Debug output to be limited to OCC development environment

Macros ending on "DEB" are replaced by OCCT_DEBUG across OCCT code; new macros described in documentation.
Macros starting with DEB are changed to start with "OCCT_DEBUG_".
Some code cleaned.

9 years ago0025307: Problems resulted from re-triangulation
apn [Fri, 31 Oct 2014 12:08:49 +0000 (15:08 +0300)]
0025307: Problems resulted from re-triangulation

Added test case bugs/mesh/bug25307

9 years ago0024519: Intersection of a cylinder and a plane does not return
apn [Fri, 31 Oct 2014 10:34:03 +0000 (13:34 +0300)]
0024519: Intersection of a cylinder and a plane does not return

Added test case bugs/modalg_5/bug24519

9 years ago0025281: BRepMesh_IncrementalMesh does not return
apn [Fri, 31 Oct 2014 09:28:02 +0000 (12:28 +0300)]
0025281: BRepMesh_IncrementalMesh does not return

Added test case bugs/mesh/bug25281

9 years ago0025427: Algorithm of building plane from wire hangs
ifv [Wed, 5 Nov 2014 13:44:37 +0000 (16:44 +0300)]
0025427: Algorithm of building plane from wire hangs

Test-case for issue #25427

9 years agoUpdate for building with MS Visual C++ without VTK 3rdparty products
bugmaster [Wed, 5 Nov 2014 12:53:31 +0000 (15:53 +0300)]
Update for building with MS Visual C++ without VTK 3rdparty products

9 years ago0025410: Tool for extended check of validity of the curve on the surface
nbv [Thu, 30 Oct 2014 11:26:16 +0000 (14:26 +0300)]
0025410: Tool for extended check of validity of the curve on the surface

Modifications:
1. class BOPTools_AlgoTools
1.1. method
 Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
  (const Handle(Geom_Curve)& theCurve3D,
   const Handle(Geom2d_Curve)& theCurve2D,
   const Handle(Geom_Surface)& theSurf,
   const Standard_Real theFirst,
   const Standard_Real theLast,
   Standard_Real& theMaxDist,
   Standard_Real& theMaxPar)
  It computes the max distance between points taken from 3D and 2D curves by the same parameter

1.2. method
 Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
  (const TopoDS_Face& theFace,
   const TopoDS_Edge& theEdge,
   Standard_Real& theMaxDist,
   Standard_Real& theParameter)
  Computes the valid value of the tolerance for the edge using the function above.

2.  Added possibility to check shape on the validity of the curves on the surfaces.
2.1. New status BOPAlgo_InvalidCurveOnSurface has been added to the enumeration BOPAlgo_CheckStatus
2.2. class BOPAlgo_ArgumentAnalyzer
 method
   void BOPAlgo_ArgumentAnalyzer::TestCurveOnSurface()
 It checks each edge/face pair in the shape using the method ComputeTolerance from BOPTools_AlgoTools and stores invalid pairs to myResults.
 Invalid pairs are those which contain the edge with tolerance value less then the value computed by the ComputeTolerance method.

2.3. class BOPAlgo_CheckResult
 Added new fields:
    myMaxDist1 : Real from Standard;
    myMaxDist2 : Real from Standard;
    myMaxPar1  : Real from Standard;
    myMaxPar2  : Real from Standard;
 and corresponding setters and getters.
 These fields are used to store the results of the TestCurveOnSurface() check.

3. Added new option to the bopargcheck command and two new commands.
class BOPTest_CheckCommands
3.1. command bopargcheck
 As it is using the BOPAlgo_ArgumentAnalyzer class to check the shapes
 it checks also the validity of the curves on the surfaces.
 The output for the invalid shapes is following:

Draw[]> bopargcheck b2 /ic #f
Made faulty shape: s1COnS_1 (MaxDist = 0.0013334343378738308, MaxPar = 0.02884285498274167)
Made faulty shape: s1COnS_2 (MaxDist = 0.0013334340648766174, MaxPar = 0.02884285497934707)
Made faulty shape: s1COnS_3 (MaxDist = 0.0013335086668628978, MaxPar = 1.4133051942712607)
Made faulty shape: s1COnS_4 (MaxDist = 0.0013335086525838983, MaxPar = 1.4133051942713901)
Faulties for FIRST  shape found : 4
---------------------------------
Shapes are not suppotrted by BOP: NO
Self-Intersections              : NO
Check for SI has been aborted   : NO
Too small edges                 : NO
Bad faces                       : NO
Too close vertices              : NO
Too close edges                 : NO
Shapes with Continuity C0       : NO
Invalid Curve on Surface        : YES  Cases(4)  Total shapes(8)

Faulties for SECOND  shape found : 0

 The compounds s1COnS_* contain pair of edge and face.
 MaxDist is maximal distance between points taken from 3D curve of the edge and 2D curve of that edge on the face.
 MaxPar is a parameter in which the MaxDist is reached.

 To disable this check it is necessary to use option /S (bopargcheck shape /S).

3.2. command xdistef
 Usage of the command:
   xdistef edge face
 It computes distance between points taken from 3D curve of the edge and 2D curve of that edge on the face.
 Example:
Draw[]> explode s1COnS_1
s1COnS_1_1 s1COnS_1_2
Draw[]> whatis s1COnS_1_1
s1COnS_1_1 is a shape EDGE FORWARD Modified Orientable
Draw[]> whatis s1COnS_1_2
s1COnS_1_2 is a shape FACE FORWARD Modified Orientable
Draw[]> xdistef s1COnS_1_1 s1COnS_1_2
Max Distance = 0.0013334343378738308; Parameter on curve = 0.02884285498274167

3.3. command checkcurveonsurf
 Usage of the command:
  checkcurveonsurf shape.
 It checks each edge/face pair in the shape using the method ComputeTolerance from BOPTools_AlgoTools.
Example:
Draw[]> checkcurveonsurf b2
Invalid curves on surface:
edge e_0 on face f_0 (max dist: 0.0013334343378738, parameter on curve: 0.0288428549827417)
edge e_1 on face f_0 (max dist: 0.0013334340648766, parameter on curve: 0.0288428549793471)
edge e_2 on face f_1 (max dist: 0.0013335086668629, parameter on curve: 1.4133051942712607)
edge e_3 on face f_1 (max dist: 0.0013335086525839, parameter on curve: 1.4133051942713901)

Sugestions to fix the shape:
explode b2 e;
settolerance b2_6 0.0013335086668629;
settolerance b2_7 0.0013334343378738;
settolerance b2_8 0.0013334340648766;
settolerance b2_10 0.0013335086525839;

The command gives suggestions to fix the shape by increasing tolerance values of the invalid edges.
In some cases the tolerance values suggested by the tool can be very large.
Such values should be used very carefully, because setting large tolerance values to the sub-shapes
of the shape can make it non valid (self-interfered) or lead to unexpected result when using
such shapes in some operations (boolean for example).

Test case for issue CR25410

9 years ago0025422: Visualization, TKOpenGl - support re-assignment of new window to existing...
kgv [Thu, 30 Oct 2014 10:51:14 +0000 (13:51 +0300)]
0025422: Visualization, TKOpenGl - support re-assignment of new window to existing View

Do not throw "Window already defined" exception in Visual3d_View/V3d_View.
Handle window change within OpenGl_GraphicDriver::View().

OpenGl_GraphicDriver - introduce dedicated methods to initialize/release shared OpenGL context.
::InitEglContext() to using existing EGL context.

OpenGl_Context - always enable NPOT textures on OpenGL ES 2.0

OpenGl_Workspace - do not call glDisable/glEnable(GL_TEXTURE_2D) on GL ES

OpenGl_GraphicDriver::ReleaseContext() - release EGL context on destruction

OpenGl_GraphicDriver::InitEglContext() - escape method implementation with HAVE_EGL macros

OpenGl_ShaderManager - clear shader programs on shared context invalidation

9 years ago0025337: Regression to version 6.7.1 : boolean operations fail on two planar circular...
emv [Wed, 29 Oct 2014 06:31:18 +0000 (10:31 +0400)]
0025337: Regression to version 6.7.1 : boolean operations fail on two planar circular faces lying in the same plane

class IntTools_EdgeEdge
method
  void IntTools_EdgeEdge::FindSolutions(const IntTools_Range& theR1,
                                        const IntTools_Range& theR2,
                                        const Bnd_Box& theBox2,
                                        IntTools_SequenceOfRanges& theRanges1,
                                        IntTools_SequenceOfRanges& theRanges2)
Looking for the solutions of the intersection between edges with greater precision.

Test cases for the issue.

9 years ago0024404: The function BRepTools::UVBounds gives wrong result for the face
apn [Thu, 30 Oct 2014 09:01:05 +0000 (12:01 +0300)]
0024404: The function BRepTools::UVBounds gives wrong result for the face

Added test case bugs/modalg_5/bug24404

9 years ago0022829: Incorrect result of boolean Fuse operation
apn [Thu, 30 Oct 2014 07:47:50 +0000 (10:47 +0300)]
0022829: Incorrect result of boolean Fuse operation

Added test case bugs/modalg_5/bug22829

9 years ago0025368: BREPExtrma DistShapeShape gives wrong result for Sphere and Line
aml [Fri, 24 Oct 2014 03:44:40 +0000 (07:44 +0400)]
0025368: BREPExtrma DistShapeShape gives wrong result for Sphere and Line

Changed analytical Sphere/Line and Cylinder/Line extrema algorithms. Now they search perpendicular and intersection points.
Test cases added.

9 years ago0025292: Face/Face intersection algorithm gives different results for different order...
nbv [Thu, 30 Oct 2014 10:24:23 +0000 (13:24 +0300)]
0025292: Face/Face intersection algorithm gives different results for different order of the arguments

Method of adjusting was corrected.

Test cases for issue CR25292

9 years ago0025184: Non-deterministic order of wires in the result of General Fuse
pkv [Thu, 30 Oct 2014 10:18:42 +0000 (13:18 +0300)]
0025184: Non-deterministic order of wires in the result of General Fuse

The source is brought in line with the current version

Test case for issue CR25184

9 years ago0022872: BRepClass3d_SolidClassifier::PerformInfinitePoint fails
apn [Wed, 29 Oct 2014 16:04:36 +0000 (19:04 +0300)]
0022872: BRepClass3d_SolidClassifier::PerformInfinitePoint fails

Added test case bugs/modalg_5/bug22872

9 years ago0024746: Bug in BRepAlgoAPI
apn [Wed, 29 Oct 2014 15:23:18 +0000 (18:23 +0300)]
0024746: Bug in BRepAlgoAPI

Added test case bugs/modalg_5/bug24746

9 years ago0021898: Empty result of intersection between a surface of revolution and a line
apn [Wed, 29 Oct 2014 14:40:41 +0000 (17:40 +0300)]
0021898: Empty result of intersection between a surface of revolution and a line

Added test case bugs/modalg_5/bug21898

9 years ago0025354: Intersection operation
mkv [Thu, 30 Oct 2014 09:48:20 +0000 (12:48 +0300)]
0025354: Intersection operation

Update dimensions tcl sample due to new order of edges after explode.

9 years ago0025405: STL reader doesn't keep shared nodes
vro [Thu, 30 Oct 2014 09:18:22 +0000 (12:18 +0300)]
0025405: STL reader doesn't keep shared nodes

An improved RWSTL::ReadFile() method + a draw-command returning the number of nodes and triangles for a MeshVS_Mesh object based on STL mesh data source.

An indexed map of points is replaced by a CellFilter of XYZ objects already implemented in BRepBuilderAPI.
Also, BRepBuilderAPI_VertexInspector became exported for TKTopAlgo library (Standard_EXPORT is added for the methods of this class).

Standard_EXPORT is removed for in-line methods of BRepBuilderAPI_VertexInspector

Test-case for issue #25405

Update of test-cases, according to new behavior

9 years ago0025387: Error appears during export to STEP operation in ImportExport MFC sample
ski [Thu, 30 Oct 2014 09:12:17 +0000 (12:12 +0300)]
0025387: Error appears during export to STEP operation in ImportExport MFC sample

Combo-box for selection of translation mode is available in Export to STEP and CSFDB files.
Default valuer for STEP export mode is set to As Is, i.e. automatic selection.

Added #define in function CFileDialog because it takes only 6 parameters in Visual Studio 2005.

9 years ago0023249: BRepFeat_SplitShape could not split a simple face by edge
apn [Wed, 29 Oct 2014 10:04:09 +0000 (13:04 +0300)]
0023249: BRepFeat_SplitShape could not split a simple face by edge

Added test case bugs/modalg_5/bug23249

9 years ago0025380: Intersection curve cannot reach boundary of surface
aml [Thu, 30 Oct 2014 09:04:27 +0000 (12:04 +0300)]
0025380: Intersection curve cannot reach boundary of surface

Changed next point computation in IntWalk_PWalker.cxx.
Now trying to walk over another isoline if new point is too close to previous.

Test case for issue CR25380

9 years ago0025424: Performance regression on step import
pdn [Thu, 30 Oct 2014 08:59:38 +0000 (11:59 +0300)]
0025424: Performance regression on step import

Regression was caused by checking of shell closeness on each face add iteration. Fixed.

Test case for issue CR25424

9 years ago0025400: Visualization, TKOpenGl - Structure disappears if assigned a non-default...
san [Thu, 30 Oct 2014 08:57:09 +0000 (11:57 +0300)]
0025400: Visualization, TKOpenGl - Structure disappears if assigned a non-default Z layer

- BVH tree in the target Z layer was not updated when OpenGl_Structure
was moved to another Z layer.
- vpriority DRAW command added to test how BVH tree is updated when
display priority is changed
- Test case for Z layers and display priorities added

Handle -noupdate argument within vpriority command

9 years ago0025407: Exception in extrema operation.
aml [Thu, 30 Oct 2014 08:46:08 +0000 (11:46 +0300)]
0025407: Exception in extrema operation.

Special handling of curve / surface of extrusion case is deleted.
Corresponding test case fixed.

Test cases for issue CR25407

9 years ago0025414: Visualization - Optimize ray-tracing performance
dbp [Thu, 23 Oct 2014 14:18:24 +0000 (18:18 +0400)]
0025414: Visualization - Optimize ray-tracing performance

This patch increases ray-tracing performance up to 12% in regular mode, and up to 36% in FSAA mode.

9 years ago0025408: Wrong result obtained by General Fuse operator.
pkv [Thu, 30 Oct 2014 08:42:32 +0000 (11:42 +0300)]
0025408: Wrong result obtained by General Fuse operator.

Changes:

class BOPTools_AlgoTools2D
        method:
    void BOPTools_AlgoTools2D::AdjustPCurveOnFace
      (const TopoDS_Face& aF,
       const Standard_Real aFirst,
       const Standard_Real aLast,
       const Handle(Geom2d_Curve)& aC2D,
       Handle(Geom2d_Curve)& aC2DA)

The location of 2D-curve is adjusted to face boubaries if necessary
using the precision value in parametric space

Unnecessary comments are removed

Test case for issue CR25408

9 years ago0025403: Wrong storage of model units in AIS_AngleDimension: corrected AIS_Drawer...
aba [Wed, 22 Oct 2014 15:01:52 +0000 (19:01 +0400)]
0025403: Wrong storage of model units in AIS_AngleDimension: corrected AIS_Drawer model units setters; added parameters to vdimensin and vdimparam commands.

9 years ago0025397: Iteration on a tree of nodes is too slow
vro [Mon, 20 Oct 2014 11:32:13 +0000 (15:32 +0400)]
0025397: Iteration on a tree of nodes is too slow

Added "const Handle(TDataStd_TreeNode)&" for the method TDataStd_ChildNodeIterator::Value().

9 years agoUpdate of testing cases after integration fixes for issue 25354 and 25406
bugmaster [Fri, 24 Oct 2014 11:35:41 +0000 (15:35 +0400)]
Update of testing cases after integration fixes for issue 25354 and 25406

9 years ago0025417: Visualization, OpenGl_Context - fix preprocessor check to load GL functions...
kgv [Thu, 23 Oct 2014 19:51:43 +0000 (23:51 +0400)]
0025417: Visualization, OpenGl_Context - fix preprocessor check to load GL functions on OS X

9 years ago0025411: BVH package - eliminate warning about hidden overloaded method ::Box
kgv [Thu, 23 Oct 2014 14:40:12 +0000 (18:40 +0400)]
0025411: BVH package - eliminate warning about hidden overloaded method ::Box

Correction of merge error

Fix for compilation

9 years ago0025374: [6.8.0beta regression] gp_Trsf2d::SetMirror() looses transformation form
nbv [Thu, 23 Oct 2014 14:02:23 +0000 (18:02 +0400)]
0025374: [6.8.0beta regression] gp_Trsf2d::SetMirror() looses transformation form

1. Elements of gp_TrsfForm have been documented
2. gp_Trsf2d class has been reverted to non-regression case.

Update of test-cases

9 years ago0025361: Sample "Voxel" crashes during "Demo - Collisions" demonstration
vro [Tue, 14 Oct 2014 04:28:47 +0000 (08:28 +0400)]
0025361: Sample "Voxel" crashes during "Demo - Collisions" demonstration

Deletion of an array was incorrect.

9 years ago0025352: Analytical calculation of fillets 2d: an improvement of precision
vro [Fri, 10 Oct 2014 11:32:06 +0000 (15:32 +0400)]
0025352: Analytical calculation of fillets 2d: an improvement of precision

Already calculated points of the fillet are used instead of getting of the points on curve by a parameter.

9 years ago0025406: BRepOffset_MakeOffset algorithm fails on the face with two degenerated edges...
jgv [Thu, 23 Oct 2014 11:31:47 +0000 (15:31 +0400)]
0025406: BRepOffset_MakeOffset algorithm fails on the face with two degenerated edges on u-iso null curves

Test cases for issue CR25406

9 years ago0025244: CMake building procedure should support VTK usage
apn [Thu, 23 Oct 2014 11:19:51 +0000 (15:19 +0400)]
0025244: CMake building procedure should support VTK usage

Added functionality for searching VTK products.

Added procedure install for VTK.

9 years ago0025354: Intersection operation
pkv [Thu, 23 Oct 2014 11:11:39 +0000 (15:11 +0400)]
0025354: Intersection operation

I. New features:
I.1 class BOPAlgo_Section
     The class clontains the algorithm to build a result of Secton between the arguments.
     The result of Section consists of vertices and edges.
     The result of Section contains:
     1. new vertices that are subjects of V/V, E/E, E/F, F/F interferences
     2. vertices that are subjects of V/E, V/F interferences
     3. new edges that are subjects of F/F interferences
     4. edges that are Common Blocks
     5.a vertex is included in result of Section only when it is not shared
     between the edges of the result of Section

The class BOPAlgo_Section inherits the functionality of root class BOPAlgo_Builder

1.2 class BOPTest_Objects
method:
BOPAlgo_Section& BOPTest_Objects::Section()
has been added to get access to BOPAlgo_Section object

II. Changes:
II.1. class BOPAlgo_BOP
method:
void BOPAlgo_BOP::BuildSection()
has been removed
methods:
void BOPAlgo_BOP::CheckData()
void BOPAlgo_BOP::Prepare()
void BOPAlgo_BOP::PerformInternal1(const BOPAlgo_PaveFiller& theFiller)
const TopTools_ListOfShape& BOPAlgo_BOP::Generated
  (const TopoDS_Shape& theS)
have been modified to eliminate references on Section operation

II.2. class BOPAlgo_PaveFiller
method:
void BOPAlgo_PaveFiller::UpdateFaceInfo
  (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME)
modified to prevent the usage of negative index in Data Structure

II.3. class BOPTest_Objects
static function:
Standard_Integer bopsection(Draw_Interpretor& di, Standard_Integer n, const char** a)
has been modified to use BOPAlgo_Section object instead of BOPAlgo_BOP object

static function:
Standard_Integer bbop(Draw_Interpretor& di,
                      Standard_Integer n,
                      const char** a)
has been modified to use BOPAlgo_Section object instea of BOPAlgo_BOP object

II.4. class BRepAlgoAPI_BooleanOperation
field:
myBuilder
the type has been changed from BOPAlgo_BOP* to BOPAlgo_Builder*
method:
void BRepAlgoAPI_BooleanOperation::Build()
has been modified  to use BOPAlgo_Section object

II.5. class QANewModTopOpe_Tools
method:
Standard_Boolean QANewModTopOpe_Tools::HasSameDomain(
                                                   const BOPAlgo_PBOP& theBuilder,
                                                     const TopoDS_Shape& theFace)

void QANewModTopOpe_Tools::SameDomain(
                                      const BOPAlgo_PBOP&   theBuilder,
                                      const TopoDS_Shape&   theFace,
                                      TopTools_ListOfShape& theResultList)

the type of the parameter <theBuilder> has been modified
to use BOPAlgo_Builder* instead of BOPAlgo_BOP*

II.6. The method:
const TopTools_ListOfShape& BOPAlgo_BOP::Generated
  (const TopoDS_Shape& theS)
has been removed

9 years ago0025412: BRepMesh_FastDiscretFace::tryToInsertAnalyticVertex() - fix invalid comparison
kgv [Wed, 22 Oct 2014 12:09:15 +0000 (16:09 +0400)]
0025412: BRepMesh_FastDiscretFace::tryToInsertAnalyticVertex() - fix invalid comparison

Remove unused field BRepMesh_FastDiscretFace::myWithShare.
Remove "virtual" from method of class <anonymous>::FixedVExplorer.