occt.git
9 years ago0025246: Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it desce...
aml [Thu, 26 Feb 2015 09:44:01 +0000 (12:44 +0300)]
0025246: Make methods Intervals and NbIntervals const in Adaptor3d_Curve and it descendants

Qualifier "const" added to NbIntervals and Intervals functions.

Fixed Standard_OVERRIDE macro description
Removed obsolete method declaration from Standard_Transient.cdl

9 years agoSmall update of pro file
bugmaster [Wed, 25 Feb 2015 09:46:07 +0000 (12:46 +0300)]
Small update of pro file

9 years agoAdjusting testing cases
bugmaster [Fri, 20 Feb 2015 14:17:34 +0000 (17:17 +0300)]
Adjusting testing cases

1. bugs modalg_4 bug697_2 bug697_4 bug697_7 bug697_8 - unstable test cases after fix 25735
Its will be checked and modified during work with performance (issue 24232).

2. bugs mesh bug25364 was tuned for 64-bit Windows.

3. de step_1 ZQ2 fails (64-bit only). Issue 25848 was registered.

4. de step_3 D8 shows improvement (no checkape error) in 64-bit only, this is after 22598 and  issue 25797 was registered for that.

5. draft angle G8 improvement (algorithm produces some shape, but fails on checkshape).

6. perf ncollection A1 was tuned for 64-bit Windows.

7. de step_1 R9 - update reference data (according to 25176)

9 years agoAdding 64 bit configuration
bugmaster [Fri, 20 Feb 2015 11:23:58 +0000 (14:23 +0300)]
Adding 64 bit configuration

9 years ago0025091: Visualization - use FBO for layer with immediate objects
kgv [Thu, 29 Jan 2015 13:01:07 +0000 (16:01 +0300)]
0025091: Visualization - use FBO for layer with immediate objects

9 years ago0025701: Problem with the symmetry of fillet on two perpendicular cylinders
jgv [Thu, 19 Feb 2015 13:09:37 +0000 (16:09 +0300)]
0025701: Problem with the symmetry of fillet on two perpendicular cylinders

Test case for issue CR25701

9 years ago0024646: Wrong result done by Boolean Operation algorithm
emv [Thu, 19 Feb 2015 13:07:21 +0000 (16:07 +0300)]
0024646: Wrong result done by Boolean Operation algorithm

1. class BOPAlgo_PaveFiller
   method void BOPAlgo_PaveFiller::PerformEF()
   Do not create intersection vertices in case if it lies ON the boundary of the face.
2. class IntTools_Context
   New method
    Standard_Boolean IntTools_Context::IsPointInFace
        (const gp_Pnt& aP,
         const TopoDS_Face& aF,
         const Standard_Real aTol)
   has been implemented to check if the point IN the face.
3. class IntTools_EdgeFace
   method
    void IntTools_EdgeEdge::FindBestSolution(const Standard_Real aT11,
                                         const Standard_Real aT12,
                                         const Standard_Real aT21,
                                         const Standard_Real aT22,
                                         Standard_Real& aT1,
                                         Standard_Real& aT2)
   Treatment of the touching cases.

Test cases for issue CR24646

Correction of test cases for issue CR24646

9 years ago0025729: algorith BRepOffset_MakeOffset(...) produces wrong result for join type...
mkv [Thu, 19 Feb 2015 12:18:26 +0000 (15:18 +0300)]
0025729: algorith BRepOffset_MakeOffset(...) produces wrong result for join type Intersection

Test case for issue CR25729

9 years ago0025753: BRepOffsetAPI_ThruSections fails for a case with open sections
jgv [Thu, 19 Feb 2015 12:42:27 +0000 (15:42 +0300)]
0025753: BRepOffsetAPI_ThruSections fails for a case with open sections

Test cases for issue CR25753

Deleting ttest cases for issue CR25753

9 years ago0025136: Visualization - fix multiple Aspect_ColorScale usage issues
isz [Thu, 19 Feb 2015 09:53:55 +0000 (12:53 +0300)]
0025136: Visualization - fix multiple Aspect_ColorScale usage issues

Update documentat if the class.
SetColor() and SetLabel() now work with 0-based index.
SetColor() now checks length of myColors.
Remove methods GetCurrentColor() and GetCurrentLabel().
Methods GetColor() and GetLabel() now can be used to get user-specified and default colors / labels.
Round down IntervNumber in FindColor().
DrawScale() - show labels even for one interval.

Redesign Draw Harness command vcolorscale, provide new options.
Update test cases which use vcolorscale command.

9 years ago0025823: Self Intersecting wire translated from STEP file
akz [Thu, 19 Feb 2015 12:14:11 +0000 (15:14 +0300)]
0025823: Self Intersecting wire translated from STEP file

The number of points to divide the edge curve on a segments to compute a
boundary box does not provide a good tolerance. So a resultant boundary
box has an incorrect bounds. As a result the intersection near to a
tangent of curve does not detected.

Test case for issue CR25823

9 years ago0025806: Stack overflow during meshing
oan [Thu, 19 Feb 2015 12:10:25 +0000 (15:10 +0300)]
0025806: Stack overflow during meshing

Test-case for issue #25806

9 years ago0025824: Infinite presentations should be excluded when computing gravity center...
vsr [Thu, 12 Feb 2015 13:42:58 +0000 (16:42 +0300)]
0025824: Infinite presentations should be excluded when computing gravity center of the view scene

9 years ago0025838: Wrong result obtained by General Fuse operator.
pkv [Thu, 19 Feb 2015 12:02:32 +0000 (15:02 +0300)]
0025838: Wrong result obtained by General Fuse operator.

Changes:
class BOPTools_AlgoTools
method:
   Standard_Boolean BOPTools_AlgoTools::GetFaceOff
  (const TopoDS_Edge& theE1,
   const TopoDS_Face& theF1,
   BOPTools_ListOfCoupleOfShape& theLCSOff,
   TopoDS_Face& theFOff,
   Handle(IntTools_Context)& theContext)
   has been changed.
   The comparison of the angles done with the angular tolerance value

Test case for issue CR25838

9 years ago0025819: Bad result of BOP cut on valid shapes
nbv [Thu, 19 Feb 2015 12:00:01 +0000 (15:00 +0300)]
0025819: Bad result of BOP cut on valid shapes

1. Algorithm of adjusting parameter to the surface boundaries has been changed.
2. Control First and Last parameters in BRepLib_CheckCurveOnSurface::Compute() function.

Test cases for issue CR25819

9 years ago0025803: Defective tests contaminating current directory
apn [Thu, 19 Feb 2015 11:57:12 +0000 (14:57 +0300)]
0025803: Defective tests contaminating current directory

Test cases save results in directory pointed by ${imagedir} Tcl variable. File names are initialized in scripts and passed to DRAW command as argument.
Tests User Guide was updated.

Remarks were corrected

9 years ago0025816: IGES export - edges within compound are lost if BREP mode (IGES 5.1) is...
abv [Tue, 10 Feb 2015 19:50:51 +0000 (22:50 +0300)]
0025816: IGES export - edges within compound are lost if BREP mode (IGES 5.1) is used

Enable writing wires, edges, and vertices inside compound in IGES in BREP mode.
Create IGES group for compound even if it contains single shape.

9 years ago0025720: Incorrect code of math classes can lead to unpredicted behavior of algorithms
azn [Thu, 22 Jan 2015 12:19:05 +0000 (15:19 +0300)]
0025720: Incorrect code of math classes can lead to unpredicted behavior of algorithms

The calling of virtual methods has been removed from constructors & destructors:

math_BissecNewton
math_BrentMinimum
math_FRPR
math_FunctionSetRoot
math_NewtonFunctionSetRoot
math_NewtonMinimum
math_Powell

9 years agoAdjusting testing case due to changes in algorithm behavior.
mkv [Fri, 13 Feb 2015 14:21:53 +0000 (17:21 +0300)]
Adjusting testing case due to changes in algorithm behavior.

9 years agoAdjusting new testing cases
bugmaster [Fri, 13 Feb 2015 14:00:52 +0000 (17:00 +0300)]
Adjusting new testing cases

9 years ago0025699: Crash while importing STeP file
akz [Fri, 13 Feb 2015 13:34:08 +0000 (16:34 +0300)]
0025699: Crash while importing STeP file

1) Try-catch block was added on a StepToTopoDS_TranslateEdgeLoop::Init() to
catch Standard_ConstructionError during the Curve conversion.

2) Checks of BSpline curve degree added to prevent construction error when converting edges to BSpline_Curve.
3) Warning message was added in case of incorrect curve definition.

Correct of the test cases according to the new error message added with fix

Conflicts:
tests/de/step_1/R9

Modified test cases according to new reference data

9 years ago0025779: Unable to compile math package in WOK
azn [Mon, 9 Feb 2015 08:05:45 +0000 (11:05 +0300)]
0025779: Unable to compile math package in WOK

Source files for math cdl-classes have been recovered.

9 years ago0025822: Visualization, TKOpenGl - front material should be used instead of back...
kgv [Thu, 12 Feb 2015 12:49:22 +0000 (15:49 +0300)]
0025822: Visualization, TKOpenGl - front material should be used instead of back material within distinguish mode turned off

add test case v3d/glsl/distinguish_off

9 years ago0025624: Visualization - selection is incorrect in perspective mode in a specific...
vpa [Thu, 12 Feb 2015 08:48:05 +0000 (11:48 +0300)]
0025624: Visualization - selection is incorrect in perspective mode in a specific case

Corrected computation of picking line for perspective camera;
Test case for issue 25624.

9 years ago0024255: Regressions in test cases on OCCT vc9 win64 Release
ifv [Thu, 12 Feb 2015 11:38:39 +0000 (14:38 +0300)]
0024255: Regressions in test cases on OCCT vc9 win64 Release

Updated test-cases from branch CR24255_3

0024255: Regressions in test cases on OCCT vc9 win64 Release

Small refactoring.

Fix for CASE bugs modalg_5 bug25298_09: FAILED (error)

Test-cases correction (bugs modalg_5 bugs25804_1, bug25704_2)

9 years ago0025772: Boolean operation produces invalid result after patch for 0025416
nbv [Thu, 5 Feb 2015 14:12:21 +0000 (17:12 +0300)]
0025772: Boolean operation produces invalid result after patch for 0025416

Test case for this issue was added

9 years ago0025729: algorith BRepOffset_MakeOffset(...) produces wrong result for join type...
ifv [Thu, 12 Feb 2015 09:18:56 +0000 (12:18 +0300)]
0025729: algorith BRepOffset_MakeOffset(...) produces wrong result for join type Intersection

Test case for issue CR25729

9 years ago0025814: Visualization, Prs3d_WFShape::AddPolygon() - always use polygonal representa...
osa [Wed, 11 Feb 2015 13:14:05 +0000 (16:14 +0300)]
0025814: Visualization, Prs3d_WFShape::AddPolygon() - always use polygonal representation from edge regardless from requested deflection

9 years ago0025757: distmini returns wrong solution for ellipse/vertex
aml [Thu, 12 Feb 2015 09:14:27 +0000 (12:14 +0300)]
0025757: distmini returns wrong solution for ellipse/vertex

Analytical handling of degenerated cases added.

Test case for issue CR25757

Correction of test case for issue CR25757

9 years ago0024881: Wrong status returned by ShapeFix_Wire::FixGaps3d () operation
akz [Thu, 12 Feb 2015 09:08:05 +0000 (12:08 +0300)]
0024881: Wrong status returned by ShapeFix_Wire::FixGaps3d () operation

The reason of FAIL status of FixGaps3d is that the trying to convert
curves to BSplines on valid edges (both adjacent points saticfy a
precision) leads to skipping of the convertation and gives wrong status.

Check of the gap on adjacent points before try ro convert curves was added.

Test-case for issue #24881

9 years ago0025810: Exception in extrema operation.
aml [Thu, 12 Feb 2015 09:04:55 +0000 (12:04 +0300)]
0025810: Exception in extrema operation.

Fixed computation of number of analytic intersection points.

Test case for issue CR25810

9 years ago0025801: Some of the commands in BOPTest packages show the execution time without...
emv [Thu, 12 Feb 2015 09:02:30 +0000 (12:02 +0300)]
0025801: Some of the commands in BOPTest packages show the execution time without -t key

Unnecessary output of the execution time has been removed in the following commands:
 - bopcheck
 - bfillds
 - bbuild
 - bbop

Test case for issue CR25801

9 years ago0025723: Visualization, TKV3d - the center of rotation should be calculated taking...
ibs [Thu, 12 Feb 2015 08:59:56 +0000 (11:59 +0300)]
0025723: Visualization, TKV3d - the center of rotation should be calculated taking into account structure visibility and selection flags

V3d_View::Gravity() - compute scene bounding box only including highlighted objects, if there are any, to provide context-oriented center of gravity.
Skip hidden objects, if there are any visible.
Do not return any value from this method.

Extend command vrotate with new flags -mouseStart and -mouseMove, to emulate rotation by mouse.

Unused argument theDi of VRotate disabled

9 years ago0025788: Parallelization of the BOP Builder algorithm on second level
pkv [Thu, 12 Feb 2015 08:57:15 +0000 (11:57 +0300)]
0025788: Parallelization of the BOP Builder algorithm on second level

Changes:
class BOPAlgo_Builder
method:
  void BOPAlgo_Builder::FillIn3DParts
  (BOPCol_DataMapOfShapeListOfShape&,
   BOPCol_DataMapOfShapeShape&,
   const BOPCol_BaseAllocator& )
has been optimized and
modified to provide parallel treatment.

Correction of compilation errors

Test cases for issue CR25788

9 years ago0025782: The result of intersection between two cylinders is incorrect
nbv [Wed, 11 Feb 2015 06:16:00 +0000 (09:16 +0300)]
0025782: The result of intersection between two cylinders is incorrect

1. Cylinders are tangent to each other indeed. Fix processes this case.
2. Algorithm of intersection line computing (in case of cylinders with two parallel axes) has been changed.

Test cases for issue CR25782

9 years ago0025176: STEP Reader - no error report if referenced entity has wrong type.
akz [Thu, 12 Feb 2015 08:36:07 +0000 (11:36 +0300)]
0025176: STEP Reader - no error report if referenced entity has wrong type.

Interface_CheckTool does not reset the Check added to CheckList now.

Added test case bugs/xde/bug25176

Update reference data in test cases.

Resolving conflicts:
tests/de/iges_3/A4
tests/de/step_1/R7
tests/de/step_2/H1

9 years ago0025802: Adopt test cases bugs vis bug10781 and bug23227 for Intel graphics driver
kgv [Fri, 6 Feb 2015 15:15:48 +0000 (18:15 +0300)]
0025802: Adopt test cases bugs vis bug10781 and bug23227 for Intel graphics driver

Test case bugs/vis/bug10781 - use smaller line width in test case
(some Intel OpenGL drivers support only 7 pixels-width lines).
Test case bugs/vis/bug23227 - just check triangles count in feedback buffer is not 0.

9 years ago0025804: Visualization, TKOpenGl - specify correct primitives type in OpenGl_Backgrou...
aba [Thu, 12 Feb 2015 08:29:09 +0000 (11:29 +0300)]
0025804: Visualization, TKOpenGl - specify correct primitives type in OpenGl_BackgroundArray

Remarks: - counterclockwise order of vertices for gradient background array initialization.

9 years ago0025800: Visualization, TKOpenGl - disable GL_DITHER explicitly
kgv [Fri, 6 Feb 2015 13:38:08 +0000 (16:38 +0300)]
0025800: Visualization, TKOpenGl - disable GL_DITHER explicitly

9 years ago0025732: Visualization, TKOpenGl - back face culling should not affect textured font...
kgv [Thu, 12 Feb 2015 08:22:22 +0000 (11:22 +0300)]
0025732: Visualization, TKOpenGl - back face culling should not affect textured font rendering

OpenGl_TextFormatter - orient triangles in normal counter-clockwise order (GL_CCW).

Test-cases for issue #25732

9 years agoFix compiler warning and adjust test cases for integration to master
abv [Fri, 6 Feb 2015 03:34:42 +0000 (06:34 +0300)]
Fix compiler warning and adjust test cases for integration to master

9 years agoUpdate new testing cases after renaming DRAW command
mkv [Fri, 6 Feb 2015 10:13:42 +0000 (13:13 +0300)]
Update new testing cases after renaming DRAW command

9 years ago0024500: Sudden exit of DRAW after multiple execution of test in cycle
abv [Thu, 5 Feb 2015 15:08:18 +0000 (18:08 +0300)]
0024500: Sudden exit of DRAW after multiple execution of test in cycle

Test commands for #23952 refactored to:
- avoid interaction with Tcl interpreter from thread functions (fixes sudden crash)
- get shapes outside of the thread functions (keeping only code being tested inside)
- run 100 threads instead of 2 (increases chance for data race to exhibit if present)

Linux compilation problems fixed.

9 years ago0025768: Visualization, Graphic3d_Structure - do not use invalid bounding boxes of...
kgv [Thu, 5 Feb 2015 15:05:31 +0000 (18:05 +0300)]
0025768: Visualization, Graphic3d_Structure - do not use invalid bounding boxes of empty groups

Prs3d_WFShape::Add() - do not create empty group

Graphic3d_Structure::minMaxCoord() - do not use uninitialized bounding box

Added test case bugs/vis/bug25768

9 years ago0022598: Approximation of p-curve by 2D line
aml [Thu, 5 Feb 2015 14:57:20 +0000 (17:57 +0300)]
0022598: Approximation of p-curve by 2D line

Check whether p-curve being projected can be approximated by straight line is made before full-scale projection, to improve performance.
If straight, pcurve is created as Line only if this will lead to the same range parameterization as 3d curve, otherwise BSpline of degree 1 is created.
Re-approximation of line pcurves by bsplines removed from ShapeFix_Edge.

Test case updating to new behavior.

Added "static" keyword to the  fixPeriodictyTroubles() function.

Update of test-cases according new behavior

9 years ago0025791: Impossibility to generate projects for Foundation Classes without TclTk...
ibs [Wed, 4 Feb 2015 09:18:04 +0000 (12:18 +0300)]
0025791: Impossibility to generate projects for Foundation Classes without TclTk/Freetype using CMake

unset redundant variables

9 years ago0024601: Unwanted spheres shown after Step-Import
ika [Thu, 5 Feb 2015 13:24:46 +0000 (16:24 +0300)]
0024601: Unwanted spheres shown after Step-Import

Add check for outer boundary before creating wire from Vertex Loop on spheres.
Test case for issue CR24601

9 years ago0025766: Exception in BRepAlgo_Section
emv [Thu, 5 Feb 2015 13:19:47 +0000 (16:19 +0300)]
0025766: Exception in BRepAlgo_Section

class TopOpeBRep_FacesIntersector
method
static void MergeWLinesIfAllSegmentsAlongRestriction(IntPatch_SequenceOfLine&           theSlin,
     const Handle(Adaptor3d_HSurface)&  theSurface1,
     const Handle(Adaptor3d_TopolTool)& theDomain1,
     const Handle(Adaptor3d_HSurface)&  theSurface2,
     const Handle(Adaptor3d_TopolTool)& theDomain2,
     const Standard_Real                theTolArc)
Protection from null wlines has been added.

Test-case for issue #25766

9 years ago0025635: Wrong result of 2D-extrema between two ellipsis
aml [Thu, 5 Feb 2015 13:13:39 +0000 (16:13 +0300)]
0025635: Wrong result of 2D-extrema between two ellipsis

Fixed Lipschitz constant evaluation in case co-parametrized objects.
Fixed 2dextrema output.
Testcase update to new behavior.

Test cases for issue CR25635

Correction of test cases for issue CR25635

9 years ago0025708: GeomAPI_ExtremaCurveCurve does not return all intersection points in 6.8.0
aml [Thu, 5 Feb 2015 13:01:40 +0000 (16:01 +0300)]
0025708: GeomAPI_ExtremaCurveCurve does not return all intersection points in 6.8.0

Added expanding coefficients between neighboring indexes, changed local optimization starting condition.

Test case for issue CR25708

9 years ago0025675: Visualization - Fix problems and inefficiencies with frustum culling
vpa [Wed, 4 Feb 2015 12:59:14 +0000 (15:59 +0300)]
0025675: Visualization - Fix problems and inefficiencies with frustum culling

Removed unnecessary overlap check in traverse of layer items;
Slight optimization of calculations in overlap detection methods in OpenGl_BVHTreeSelector.

9 years ago0024826: Wrapping of parallelisation algorithms
msv [Thu, 5 Feb 2015 12:49:35 +0000 (15:49 +0300)]
0024826: Wrapping of parallelisation algorithms

Simple primitives to parallelize loops type "for" and "foreach" were implemented. The primitives encapsulates complete logic for creating and managing parallel context of loops. Moreover the primitives may be a wrapper for some primitives from 3rd-party library - TBB.

To use it is necessary to implement TBB like interface which is based on functors. For example:

Class Functor
{
public:
  void operator() ([proccesing instance]) const
  {
    //...
  }
};

In the body of the operator () should be implemented thread-safe logic of computations that can be performed in parallel context. If parallelized loop iterates on the collections with direct access by index (such as Vector, Array), it is more efficient to use the primitive ParallelFor (because it has no critical section).

All parts of  OCC code which are using tbb were changed on new primitives.

0024826: Wrapping of parallelisation algorithms

Small fix.

9 years ago0025780: checkshape raises an exception Standard_OutOfMemory.
ink [Thu, 5 Feb 2015 12:35:00 +0000 (15:35 +0300)]
0025780: checkshape raises an exception Standard_OutOfMemory.

Improved method BRepCheck_Wire::Propagate

Added test cases bugs/modalg_5/bug25780

9 years ago0025790: Drop unimplemented method ShallowCopy() from TCollection_HSequence.cdl
kgv [Wed, 4 Feb 2015 07:18:23 +0000 (10:18 +0300)]
0025790: Drop unimplemented method ShallowCopy() from TCollection_HSequence.cdl

9 years ago0025740: VrmlData_Scene::WriteArrIndex() writes extra point indices.
akz [Thu, 5 Feb 2015 12:22:13 +0000 (15:22 +0300)]
0025740: VrmlData_Scene::WriteArrIndex() writes extra point indices.

Reason of bug: at the end of writing indices the "buf" was written double times.
Fix: At the end of operation skip one WriteLine.

Test case for issue CR25740

9 years ago0025279: OCCT fails to read VRML file created by OCCT
akz [Thu, 5 Feb 2015 12:02:01 +0000 (15:02 +0300)]
0025279: OCCT fails to read VRML file created by OCCT

1) Version of VRML format is added to VrmlAPI_Writer::Write() and VrmlAPI::Write() to allow use the both versions of the VRML by one writer.
2) Unification of the command to write VRML of both versions. Now "writevrml" command can write VRLM files of v1.0 and v2.0, with wireframe/shaded/both representations. Parameter "Deflection" was removed (next commit will remove meshing, so parameter will be useless).
3) Meshing is removed from writers of both (v1.0 and v2.0) versions. Shaded representation is skipped in case when a mesh does not exist.
Wireframe representation checks the existence of a mesh before. If the mesh exists, a deflected edges are taken from the mesh, otherwise - are generated with the default deflection.
4) Drawing of redundant edges is removed in wireframe representation of VRML version 1.0 (a grid on non-plane surfaces does not match a real edges of TopoDS_Shape and does not match representation in version 2.0).

Test case for issue CR25279

9 years ago0025770: Possible "invalid memory access"
aml [Fri, 30 Jan 2015 10:13:06 +0000 (13:13 +0300)]
0025770: Possible "invalid memory access"

Memory problems fixed.

9 years ago0025475: Visualization, TKOpenGl - draw background using primitive arrays
aba [Thu, 5 Feb 2015 11:48:39 +0000 (14:48 +0300)]
0025475: Visualization, TKOpenGl - draw background using primitive arrays

Move background arrays to separate class OpenGl_BackgroundArray
for texture and gradient arrays.

Eliminated warnings on Linux

9 years ago0025689: IGESCAFControl_Writer crash in constructor.
akz [Mon, 26 Jan 2015 16:12:41 +0000 (19:12 +0300)]
0025689: IGESCAFControl_Writer crash in constructor.

Cause of bug is that the IGESData_BasicEditor is created before an initialization of IGESControl_Controller::Init(). IGESData_BasicEditor cannot find template "iges", so the model is still empty after creation.

1) Added a default constructor to the IGESData_BasicEditor. Can be initialized via Init() method.
2) Added some null checks in the places, where are provided access to the model (IGESData_BasicEditor's member).
3) Initialization of the IGESData_BasicEditor was placed after initialization if the IGESControl_Controller.

9 years ago0025357: STL writer does not check the given shape for existing triangulation and...
akz [Thu, 5 Feb 2015 11:38:59 +0000 (14:38 +0300)]
0025357: STL writer does not check the given shape for existing triangulation and remeshes shape using BRepMesh in force mode.

StlTransfer.cxx, function StlTransfer::BuildIncrementalMesh(...) fills the StlMesh_Mesh. Before this fix the StlTransfer always force meshing of the passed shape.

Now meshing is completely removed from the StlTransfer. StlWriter can return error status now, for example, if a mesh of the passed shape is empty. In this case file will be not created.

Added test case bugs/xde/bug25357

Avoid the warning on gcc compiler.
Test scripts were modified according to the fix.
     1) bug23192, bug22670, bug23193: removed "isParallel" flag from the command
         arguments. Manually meshing of the shape (as far as meshing was removed
         from STL writer).
     2) bug22898: before the fix writestl always remeshes the shape with a
         deflection, related to the boundery box of the shape. For "hammer" shape
         there is a 38.9076 deflection for mesh. Differences between before writing
         and after reading are dedicated to fact that stl writes triangulation as
         an elements of the spahe (like faces, edges etc.)

9 years ago0025769: Replace BOPCol_Array1 with NCollection_Vector
pkv [Fri, 30 Jan 2015 11:02:21 +0000 (14:02 +0300)]
0025769: Replace BOPCol_Array1 with NCollection_Vector

New features:
1. class NCollection_BaseVector
    method:
    void SetIncrement(const Standard_Integer aIncrement)
    has been added.
    The method allows to set the size of increment dynamically
    [ not in constructor ].

2 class BOPCol_Array1
    has been removed.

Changes:
1. classes
BOPDS_DS
BOPDS_InterfFF
BOPDS_Iterator
BOPDS_VectorOfCurve
BOPDS_VectorOfFaceInfo
BOPDS_VectorOfIndexRange
BOPDS_VectorOfInterfEE
BOPDS_VectorOfInterfEF
BOPDS_VectorOfInterfEZ
BOPDS_VectorOfInterfFF
BOPDS_VectorOfInterfFZ
BOPDS_VectorOfInterfVE
BOPDS_VectorOfInterfVF
BOPDS_VectorOfInterfVV
BOPDS_VectorOfInterfVZ
BOPDS_VectorOfInterfZZ
BOPDS_VectorOfListOfPassKeyBoolean
BOPDS_VectorOfListOfPaveBlock
BOPDS_VectorOfPoint
BOPDS_VectorOfShapeInfo
BOPAlgo_PaveFiller
QANewModTopOpe_Tools
have been modified to take into account New features: 1 and 2

2. class BOPTest_Chronometer
has been modified to use the driver of the type
OSD_Timer instead OSD_Chronometer

9 years ago0025328: Visualization, TKOpenGl - support text rendering within built-in GLSL programs
dbp [Tue, 20 Jan 2015 09:56:54 +0000 (12:56 +0300)]
0025328: Visualization, TKOpenGl - support text rendering within built-in GLSL programs

9 years ago0025734: GCC warnings in Android build
ski [Thu, 5 Feb 2015 11:23:17 +0000 (14:23 +0300)]
0025734: GCC warnings in Android build

Warnings were fixed.

Fixed wrong re-initialization.

9 years ago0023971: Possibility to extract all error messages from test log
ski [Fri, 16 Jan 2015 13:22:44 +0000 (16:22 +0300)]
0023971: Possibility to extract all error messages from test log

It is possible now to extract all error messages from test log using key "-errors"

Conflicts:
src/DrawResources/TestCommands.tcl

9 years ago0023992: it's required to save log information of test command in (specified) file
ski [Thu, 5 Feb 2015 11:11:19 +0000 (14:11 +0300)]
0023992: it's required to save log information of test command in (specified) file

It is possible now to save log information of test command in specified file.

Print information on count of found test cases before tests start

Sound signal at the end of the test

Used meminfo -h to control memory

Titles of differences in images produced by testdiff command were changed.

9 years ago0025758: Visualization, TKOpenGl - texture initialization fails on Intel HD 4600...
kgv [Thu, 29 Jan 2015 12:16:09 +0000 (15:16 +0300)]
0025758: Visualization, TKOpenGl - texture initialization fails on Intel HD 4600 in ray tracing test

Unbind global texture sampler right after its usage.

9 years ago0025762: Visualization, TKOpenGl - fix debug assertion within OpenGl_Workspace::Uploa...
kgv [Thu, 29 Jan 2015 10:14:49 +0000 (13:14 +0300)]
0025762: Visualization, TKOpenGl - fix debug assertion within OpenGl_Workspace::UploadRaytraceData()

9 years ago0025735: Wrong solid is considered as valid by checkshape
pkv [Thu, 5 Feb 2015 09:49:05 +0000 (12:49 +0300)]
0025735: Wrong solid is considered as valid by checkshape

Changes:
class BRepCheck_Solid
method:
   void BRepCheck_Solid::Minimum()
has been changed. The treatment of shells with INTERNAL faces has been added.

Added test case bugs/modalg_5/bug25735

Added TODOs in test cases according to issue 25735.

9 years ago0025632: IGES writer looses face orientation
mkv [Fri, 30 Jan 2015 10:51:43 +0000 (13:51 +0300)]
0025632: IGES writer looses face orientation
Update new tensing cases for issue

9 years ago0025631: Bounding box is too big for the face.
aml [Thu, 29 Jan 2015 12:09:51 +0000 (15:09 +0300)]
0025631: Bounding box is too big for the face.

Fixed start and finish indexes of poles in case of trimmed bspline surface.

Test case for issue CR25631

9 years ago0023328: Importing VRML files with "scaleOrientation" not possible
akz [Thu, 29 Jan 2015 11:23:35 +0000 (14:23 +0300)]
0023328: Importing VRML files with "scaleOrientation" not possible

If-else blocks "scale" and "scaleOrientation" was swapped. Now the comparing and interpretation of these key-words is correct.

Added test case bugs/xde/bug23328

9 years ago0025632: IGES writer looses face orientation
ika [Thu, 29 Jan 2015 11:13:29 +0000 (14:13 +0300)]
0025632: IGES writer looses face orientation

Adding reversing surfaces before writing for reversed faces

Test case for issue CR25632

9 years ago0025717: Non reentrant (and hence non-thread-safe) math_RealRandom / _IntegerRandom
abv [Sun, 18 Jan 2015 14:08:40 +0000 (17:08 +0300)]
0025717: Non reentrant (and hence non-thread-safe) math_RealRandom / _IntegerRandom

Classes math_IntegerRandom and math_RealRandom, and method Random2 in math_Recipes, removed. Class math_BullardGenerator is used instead.

9 years ago0025679: Visualization, TKOpenGl - View frustum culling clips wrong objects
vpa [Wed, 28 Jan 2015 09:21:58 +0000 (12:21 +0300)]
0025679: Visualization, TKOpenGl - View frustum culling clips wrong objects

Corrected area calculation for degenerated AABBs in BVH_Box;
Test case for issue 25679.

9 years ago0025743: Add FixMode parameter to DropSmallSolids operator
imn [Fri, 23 Jan 2015 10:31:01 +0000 (13:31 +0300)]
0025743: Add FixMode parameter to DropSmallSolids operator

9 years ago0025715: Intersection between cylinders produces excess vertices
nbv [Thu, 29 Jan 2015 11:00:11 +0000 (14:00 +0300)]
0025715: Intersection between cylinders produces excess vertices

1. Curve boundaries were more precised.
2. Some test cases were changed in accordance of their new behavior.
3. Code fragment for WLines joining was moved to higher level (for more universal using in the future).

Code was changed in accordance with the last remark.

Added test cases bugs/modalg_5/bug25715_1 bug25715_2 bug25715_3

9 years ago0025712: Non-deterministic behavior of ShapeFix_Solid
Roman Lygin [Thu, 29 Jan 2015 10:56:53 +0000 (13:56 +0300)]
0025712: Non-deterministic behavior of ShapeFix_Solid

Test-case for issue #25712

9 years ago0025704: BRepOffsetAPI_MakeOffset: some customer's cases are processed incorrect
jgv [Thu, 29 Jan 2015 10:45:47 +0000 (13:45 +0300)]
0025704: BRepOffsetAPI_MakeOffset: some customer's cases are processed incorrect

Added test cases bugs/modalg_5/bug25704_1 - bug25704_6

9 years ago0025622: CAST analysis: Avoid invocation of virtual Methods of the declared Class...
azn [Thu, 18 Dec 2014 07:27:01 +0000 (10:27 +0300)]
0025622: CAST analysis: Avoid invocation of virtual Methods of the declared Class in a Constructor or Destructor

The Delete() methods have been deleted from the following classes:
- Adaptor2d_Curve2d
- Adaptor3d_Curve
- Adaptor3d_Surface
- AppBlend_Approx
- AppCont_Function
- AppParCurves_MultiCurve
- AppParCurves_MultiPoint
- ApproxInt_SvSurfaces
- BRepPrim_OneAxis
- BRepSweep_NumLinearRegularSweep
- BRepSweep_Translation
- BRepSweep_Trsf
- DBC_BaseArray
- GeomFill_Profiler
- HatchGen_PointOnHatching
- math_BFGS
- math_FunctionSet
- math_FunctionSetRoot
- math_FunctionWithDerivative
- math_MultipleVarFunction
- math_MultipleVarFunctionWithHessian
- math_MultipleVarFunctionWithGradient
- math_Powell
- math_NewtonMinimum
- math_NewtonFunctionSetRoot
- math_BissecNewton (just add virtual destructor)
- math_FRPR
- math_BrentMinimum (just add virtual destructor)
- OSD_Chronometer
- ProjLib_Projector

Virtual methods Delete() or Destroy() of the transient inheritors is not changed (-> separate issue).
Classes Graphic3d_DataStructureManager and PrsMgr_Presentation without changes.

9 years ago0023640: Documentation for local sewing with BRepBuilderAPI_Sewing is missing
ysn [Thu, 29 Jan 2015 10:21:33 +0000 (13:21 +0300)]
0023640: Documentation for local sewing with BRepBuilderAPI_Sewing is missing

Fix for bug 23640.
Merging the rest of Technical Overview content into User's Guides.

-Correct UG sections concerning Sewing.
-Correct comments in the code referring to old location of sewing algorithm.

9 years ago0025719: Boolean operations can crash
msv [Fri, 23 Jan 2015 15:07:15 +0000 (18:07 +0300)]
0025719: Boolean operations can crash

Suppress math_BFGS constructor that calls the method Perform that in its turn calls the virtual method IsSolutionReached.

9 years ago0023880: Integration of grid "ncl" into the new testing system
abv [Thu, 29 Jan 2015 10:09:07 +0000 (13:09 +0300)]
0023880: Integration of grid "ncl" into the new testing system

Function perf_sprint_all_meters added in OSD_PerfMeter.h to allow printing to string buffer rather than stdout. Macro PERF_PRINT_ALL converted to functional form.

Command dperf added in DRAW to print and conditionally reset all meters.
Description of these tools is added in Debug Hints.

Modified output of command QANTestNCollectionPerformance.
Added test case perf/ncollection/A1

Modified ratio of performance to check all platforms

Small correction of test-case for Windows platform

9 years ago0025582: SIGSEGV in thrusections of circle segments
azv [Fri, 23 Jan 2015 12:55:56 +0000 (15:55 +0300)]
0025582: SIGSEGV in thrusections of circle segments

Eliminating regressions

Fixed compilation warning ('di' : unreferenced formal parameter).

Added test bugs/modalg_5/bug25578

9 years ago0025706: SIGSEGV after making existing BSplineCurve rational
azv [Wed, 14 Jan 2015 07:00:06 +0000 (10:00 +0300)]
0025706: SIGSEGV after making existing BSplineCurve rational

1. Eliminated exception after conversion non-rational B-spline to rational
2. Implemented DRAW command setweight to change weights of B-spline
3. Test cases were added

9 years ago0025582: SIGSEGV in thrusections of circle segments
azv [Wed, 14 Jan 2015 14:26:30 +0000 (17:26 +0300)]
0025582: SIGSEGV in thrusections of circle segments

1. Implemented using of trimmed circular curve
2. Added test case

9 years ago0025578: SIGSEGV in BRepSweep_Rotation in case of singularities
azv [Tue, 13 Jan 2015 14:44:38 +0000 (17:44 +0300)]
0025578: SIGSEGV in BRepSweep_Rotation in case of singularities

Eliminating degenerated edges

9 years ago0025711: Get rid of static variable islambdadefined in AppParCurves_BSpGradient.gxx
azv [Fri, 16 Jan 2015 07:32:51 +0000 (10:32 +0300)]
0025711: Get rid of static variable islambdadefined in AppParCurves_BSpGradient.gxx

9 years ago0025346: Wrong result of General Fuse operation
apn [Mon, 26 Jan 2015 12:20:52 +0000 (15:20 +0300)]
0025346: Wrong result of General Fuse operation

Added test cases bugs/modalg_5/bug25346_1 bug25346_2

9 years ago0025692: Boolean operations minor improvement
István Csanády [Thu, 8 Jan 2015 17:18:00 +0000 (20:18 +0300)]
0025692: Boolean operations minor improvement

Method IntPolyh_MaillageAffinage::TriContact() improved so that local objects for detailed analysis are not created if algorithm exits by simple conditions checked at the beginning.

9 years ago0020040: Difference in treatment of closed curves in BRep_Builder::UpdateEdge
azv [Thu, 22 Jan 2015 14:42:06 +0000 (17:42 +0300)]
0020040: Difference in treatment of closed curves in BRep_Builder::UpdateEdge

Test case was added

Modified test cases to extract the shell from the solid and check it for closeness.

9 years ago0025656: Specification of semantic of Closed flag of an edge
azv [Tue, 30 Dec 2014 04:37:51 +0000 (07:37 +0300)]
0025656: Specification of semantic of Closed flag of an edge

1. Using of the "Closed" flag was unified:
  a) this flag is applicable for TopoDS_Wire and TopoDS_Shell only, because these entities may hedge an area in 2D space or a volume in 3D space correspondingly;
  b) other types of TopoDS shapes are passing over this flag;
  c) changing of this flag should be controlled by high-level algorithms (not BRep_Builder).
2. Implemented verification of the closedness of edges. An edge is closed if and only if its first and last vertices are the same.
3. Test cases were changed according to new behavior.

9 years ago0024394: Visualization - implement more general way for rendering of immediate objects
kgv [Thu, 22 Jan 2015 14:29:37 +0000 (17:29 +0300)]
0024394: Visualization - implement more general way for rendering of immediate objects

Move OpenGl_Structure::myZLayer to base class Graphic3d_CStructure.
Graphic3d_ZLayerId - introduce new pre-defined ZLayers.
Do not clear Depth buffer twice for default ZLayer.

AIS_InteractiveContext::Display() - add new argument AIS_DisplayStatus to specify displaying status.

Drop unused Graphic3d_CPick and related methods.
Drop OpenGl_Structure::myNamedStatus - use flags from parent class Graphic3d_CStructure directly.
OpenGl_LayerList ::ChangeLayer(), ::ChangePriority - fix structure remove from unexpected layer.
Merge class OpenGl_PriorityList into OpenGl_Layer.

PrsMgr_PresentationManager::mySelectionColor - store selection color as field of Presentation Manager.
PrsMgr_Presentation class - do not declare private methods as virtual.
PrsMgr_Presentation::Highlight() - extend method syntax and drop methods ::Color() and ::BoundBox().

PrsMgr_PresentableObject - store ZLayer in presentable object
to display object presentations in required layer directly
(without displaying it in wrong layer first).

test/mesh/end - force re-displaying the shape to compute mesh anew

Test-case for issue

9 years ago0025722: Wrong implementation of SetFuzzyValue method
emv [Thu, 22 Jan 2015 14:24:00 +0000 (17:24 +0300)]
0025722: Wrong implementation of SetFuzzyValue method

The following methods
  void BOPAlgo_ArgumentAnalyzer::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_Builder::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPAlgo_PaveFiller::SetFuzzyValue(const Standard_Real theFuzz)
  void BOPDS_DS::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_BuilderAlgo::SetFuzzyValue(const Standard_Real theFuzz)
  void BRepAlgoAPI_Check::SetFuzzyValue(const Standard_Real theFuzz)
have been corrected.

Added test case bugs/modalg_5/bug25722

9 years ago0025721: Wrong result obtained by Common operator.
pkv [Thu, 22 Jan 2015 14:19:07 +0000 (17:19 +0300)]
0025721: Wrong result obtained by Common operator.

Changes:
class BOPTools_Set
 method:
    void BOPTools_Set::Add(const TopoDS_Shape& theS,
                       const TopAbs_ShapeEnum theType)
  has been changed. The treatment of INTERNAL edges has been added.

Added test case bugs/modalg_5/bug25721

9 years ago0025569: Tests 24959_1 and 24959_2 are not correct
ski [Wed, 21 Jan 2015 11:56:10 +0000 (14:56 +0300)]
0025569: Tests 24959_1 and 24959_2 are not correct

Test cases were corrected to check triangulation deflection

9 years ago0025697: Regression : Section obtained after command "bsection" in Test Harness is...
nbv [Thu, 22 Jan 2015 14:06:33 +0000 (17:06 +0300)]
0025697: Regression : Section obtained after command "bsection" in Test Harness is incorrect.

Interface of bopcurves DDRAW-command were extended. Now it is possible to obtain
a) only 3D-curves;
b) 3D-curves and 2D-curves on one of surfaces intersected (surface can be selected);
c) 3D-curves and 2D-curves on every surface intersected.

Use "help bopcurves" to see detail information.

Added test cases bugs/modalg_5/bug25697_1 bug25697_2

Small changes in test case bugs/modalg_5/bug25697_2

9 years ago0025597: Invalid curve on surface in the result of General Fuse operation
emv [Thu, 22 Jan 2015 13:54:54 +0000 (16:54 +0300)]
0025597: Invalid curve on surface in the result of General Fuse operation

1. The tool of computing the max distance between 3D curve and its 2d representation on the face
has been moved from static methods in BOPTools_AlgoTools class to BRepLib_CheckCurveOnSurface class.
2. The tools has been applied to 2d curves built during Boolean Operation
and to some intersection curves.
3. The functions
  Standard_Boolean BOPTools_AlgoTools::ComputeTolerance
    (const TopoDS_Face& theFace,
     const TopoDS_Edge& theEdge,
     Standard_Real& theMaxDist,
     Standard_Real& theMaxPar)
and
  Standard_Boolean IntTools_Tools::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)
have been developed for easy access to BRepLib_CheckCurveOnSurface functionality.

class IntTools_FaceFace
method void IntTools_FaceFace::ComputeTolReached3d()
Case for Plane/BSpline intersection added for treatment.

Test case for issue CR25597

Fix for regression boolean bsection N7.

class BOPAlgo_PaveFiller
method
  void BOPAlgo_PaveFiller::UpdateFaceInfo
    (BOPDS_DataMapOfPaveBlockListOfPaveBlock& theDME,
     const BOPCol_DataMapOfIntegerInteger& theDMV)
Updating Face Info information with new vertices created in PostTreatFF.

Correction boolean/bsection/N2

Updated test cases.

9 years ago0025703: Visualization - Decrease number of samplers used in ray-tracing mode
dbp [Wed, 14 Jan 2015 08:04:27 +0000 (11:04 +0300)]
0025703: Visualization - Decrease number of samplers used in ray-tracing mode

This patch eliminates 3 samplers used in ray-tracing mode:

//! Texture buffer of data records of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectNodeInfoTexture;
//! Texture buffer of minimum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMinPointTexture;
//! Texture buffer of maximum points of bottom-level BVH nodes.
Handle(OpenGl_TextureBufferArb) myObjectMaxPointTexture;

Serialized data contained in corresponding texture buffers were added to global scene buffers:

//! Texture buffer of data records of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneNodeInfoTexture;
 //! Texture buffer of minimum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMinPointTexture;
//! Texture buffer of maximum points of high-level BVH nodes.
Handle(OpenGl_TextureBufferArb) mySceneMaxPointTexture;

This modifications leads also to small performance improvement (~2%) due to higher texture cache efficiency. Some modifications in traversal function (GLSL code) also improve performance (~3%).

9 years ago0025694: Change STEP exporter to use AP214 IS by default
Roman Lygin [Thu, 22 Jan 2015 13:42:58 +0000 (16:42 +0300)]
0025694: Change STEP exporter to use AP214 IS by default

Test-case for issue #25694

9 years ago0025663: Expand math_PSO class description
aml [Fri, 26 Dec 2014 09:56:35 +0000 (12:56 +0300)]
0025663: Expand math_PSO class description

math_PSO class description extended.