occt.git
9 years ago0025074: Intf_Polygon2d - add virtual destructor
kgv [Sat, 12 Jul 2014 09:31:17 +0000 (13:31 +0400)]
0025074: Intf_Polygon2d - add virtual destructor

9 years ago0025057: Message_Algorithm fails to find messages defined for base class
abv [Tue, 8 Jul 2014 12:11:16 +0000 (16:11 +0400)]
0025057: Message_Algorithm fails to find messages defined for base class

New method HasMsg() is added in Message_MsgFile class to check if message with given key is registered.
That method is used in Message_Algorithm to check if message is defined on given level of class hierarchy.

Generation of error message in Message_MsgFile::Msg() is revised: now it includes a message key and gets added to the registry, to avoid re-generation in case of multiple requests.
Access to message registry maintained by the Message_MsgFile class is protected from concurrent access by mutex.

9 years ago0025080: [Regression] Problem of meshing narrow face
mkv [Thu, 17 Jul 2014 09:37:15 +0000 (13:37 +0400)]
0025080: [Regression] Problem of meshing narrow face

Test case for issue CR25080

9 years ago0024979: Optimize Extrema_GenExtCS
dbp [Tue, 15 Jul 2014 08:11:24 +0000 (12:11 +0400)]
0024979: Optimize Extrema_GenExtCS

The patch changes the algorithm of choosing the initial approximation for Newton's method. Instead of searching for a point on the fine shifted grid, the algorithm performs initial search for candidate points in the original coarse grid (which is cached in new version). After that particle swarm optimization (PSO) is used to localize the global minimum. This algorithm optimizes a problem by having a population of candidate solutions ("particles"), and moving these particles around in the search-space according to simple mathematical formula over the particle's position and velocity. Each particle's movement is influenced by its local best known position but, is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This strategy has reported good results in solving complex global optimization problems.

Current patch implements initial version of PSO for using in Extrema_GenExtCS class. Typically new approach allows to reduce the number of evaluations by 5-10 times. There are only few cases there the numbers of evaluations are comparable.

9 years ago0025003: Selection of a face fails if sensitive triangulation is computed with interi...
vro [Wed, 11 Jun 2014 08:19:44 +0000 (12:19 +0400)]
0025003: Selection of a face fails if sensitive triangulation is computed with interior flag = false

A check on length is added to avoid manipulation with a vector of null length.

9 years ago0025058: Regression of performance of BRepExtrema_ExtCC (1000 times slower)
aml [Thu, 17 Jul 2014 09:50:51 +0000 (13:50 +0400)]
0025058: Regression of performance of BRepExtrema_ExtCC (1000 times slower)

Added initial values approximation to improve performance.
Local optimization start coefficient fixed.

Test case for issue CR25058

9 years ago0024996: Visualization - newly displayed objects are clipped until first
duv [Thu, 17 Jul 2014 09:46:53 +0000 (13:46 +0400)]
0024996: Visualization - newly displayed objects are clipped until first
camera movement

AutoZFit operation now may be applied on Visual3d_View level.
Visual3d_View tracks Graphic3d_Structure updates and call AutoZFit within
Visual3d_View::Redraw if necessary.
In order to get AutoZFit functionality on Visual3d_View level ZfitAll
method moved from V3d_View into Graphic3d_Camera. AutoZFit method and
AutoZFitMode flag now part of Visual3d_View.

Test case for issue CR24996

9 years ago0025071: Visualization - Inconsistent deflection values used by AIS_Shape
san [Thu, 17 Jul 2014 09:39:22 +0000 (13:39 +0400)]
0025071: Visualization - Inconsistent deflection values used by AIS_Shape

Fix misprint

Small correction for issue CR25071

9 years ago0025075: BRepMesh - eliminate new x86_64 compiler warnings
kgv [Thu, 17 Jul 2014 09:34:05 +0000 (13:34 +0400)]
0025075: BRepMesh - eliminate new x86_64 compiler warnings

BRepMesh - fix compilation without TBB support

Code style

9 years ago0024901: Visualization - Incorrect area filled with capping color
mkv [Wed, 16 Jul 2014 11:06:12 +0000 (15:06 +0400)]
0024901: Visualization - Incorrect area filled with capping color

Test case for issue CR24901

9 years ago024539: Visualization (new camera) - small objects displayed with visual artifacts
mkv [Wed, 16 Jul 2014 11:11:41 +0000 (15:11 +0400)]
024539: Visualization (new camera) - small objects displayed with visual artifacts

Test case for issue CR24539

9 years ago0025064: TCollection modification for Salome porting
skv [Wed, 9 Jul 2014 10:53:35 +0000 (14:53 +0400)]
0025064: TCollection modification for Salome porting

9 years ago0025066: Visualization - fit all is malfunction when bounding box is set through...
kgv [Thu, 10 Jul 2014 05:25:59 +0000 (09:25 +0400)]
0025066: Visualization - fit all is malfunction when bounding box is set through Graphic3d_Group::SetMinMaxValues()

Ensure bounding box is marked as valid.

9 years ago0025008: wrong PPM generated in mage_AlienPixMap::savePPM
san [Mon, 14 Jul 2014 08:10:06 +0000 (12:10 +0400)]
0025008: wrong PPM generated in mage_AlienPixMap::savePPM

9 years ago0025017: Visualization - materials in Raytracing are messed up
duv [Fri, 11 Jul 2014 12:39:29 +0000 (16:39 +0400)]
0025017: Visualization - materials in Raytracing are messed up

9 years ago0025063: Visualization - 2D objects are not displayed at some camera positions
duv [Thu, 17 Jul 2014 07:31:29 +0000 (11:31 +0400)]
0025063: Visualization - 2D objects are not displayed at some camera positions

Minimum thresolds introduced to zfit operation and to camera SetDistance() method.

Test case for issue CR25063

9 years ago0025028: BRepAlgo::ConcatenateWire raises an exception
ifv [Thu, 17 Jul 2014 07:26:23 +0000 (11:26 +0400)]
0025028: BRepAlgo::ConcatenateWire raises an exception

Test case for issue CR25028

9 years ago0025060: Capping breaks highlighting of shaded AIS_Shape with displayed edges
apl [Thu, 10 Jul 2014 09:06:13 +0000 (13:06 +0400)]
0025060: Capping breaks highlighting of shaded AIS_Shape with displayed edges

Capping algorithm - remember and restore depth function mode.

9 years ago0023814: Drop plugin interface for Graphic3d_GraphicDriver instantiation
kgv [Thu, 3 Jul 2014 06:47:42 +0000 (10:47 +0400)]
0023814: Drop plugin interface for Graphic3d_GraphicDriver instantiation

Drop Graphic3d_GraphicDriver::Begin() and ::End() methods.
Initialization is performed within driver constructor.

Drop dummy argument for Graphic3d_GraphicDriver constructor with library name.
Display connection now should be set instead

Drop Graphic3d::InitGraphicDriver() function and Graphic3d.hxx header.
Application code should explicitly link against TKOpenGl toolkit and instantiate OpenGl_GraphicDriver class.

Drop MetaGraphicDriverFactory implementation within TKOpenGl.

9 years ago0025059: Visualization - mutable transformed structure still invalidates BVH tree...
kgv [Tue, 8 Jul 2014 15:23:47 +0000 (19:23 +0400)]
0025059: Visualization - mutable transformed structure still invalidates BVH tree for culling

Take into account IsMutable flag within Visual3d_View::ReCompute() method.

9 years agocorrection of misprints
bugmaster [Fri, 11 Jul 2014 09:42:53 +0000 (13:42 +0400)]
correction of misprints

9 years agoModified cpulimits in test cases in Debug mode.
apn [Fri, 11 Jul 2014 08:29:19 +0000 (12:29 +0400)]
Modified cpulimits in test cases in Debug mode.
Modified test case mesh/data/standard/V4 for issue 24968.

9 years agoFix compilation errors for mfc samples.
oan [Fri, 11 Jul 2014 07:02:27 +0000 (11:02 +0400)]
Fix compilation errors for mfc samples.

9 years ago0024990: StepWrite fails on the attached shape
ika [Thu, 10 Jul 2014 10:54:56 +0000 (14:54 +0400)]
0024990: StepWrite fails on the attached shape

Add check to avoid exception
Test cases for issue CR24990

9 years ago0024335: Draw Harness - support grids list in testgrid command
abv [Tue, 8 Jul 2014 11:08:46 +0000 (15:08 +0400)]
0024335: Draw Harness - support grids list in testgrid command

Arguments of command testgrid specifying test group and grid to be executed now can be a list of file masks (space or comma separated).
One more optional argument added allowing to specify masks for test cases to be run.

9 years ago0022978: Shading for a pipe shape is wrong
mkv [Mon, 7 Jul 2014 12:06:00 +0000 (16:06 +0400)]
0022978: Shading for a pipe shape is wrong

Test case for issue CR22978

9 years ago0025039: Improvement of code structure of general and supporting tools implemented...
oan [Thu, 10 Jul 2014 10:51:15 +0000 (14:51 +0400)]
0025039: Improvement of code structure of general and supporting tools implemented in BRepMesh

Removed CDL declarations; Data collections are replaced by NCollections; Small code refactoring.
Remove definition of BRepMesh class. Code refactoring of BRepMesh_IncrementalMesh.
Function BRepMesh_Write storing BRepMesh_DataStructureOfDelaun to BRep file is added for debug needs.
Static method BRepMesh_GeomTool::IntLinLin has been added to eliminate code duplications in BRepMesh_Dealun and BRepMesh_CircleTool.
BRepMesh_CircleTool simplified method to find circumcircle.

Fix merging conflicts
Remove redundant function
Fix compilation warning on MacOS
Revert changes occurred during rebase
Resolved merging conflicts
Use parallel flag with BRepMesh_FastDiscret

Test cases for issue CR25039_2

9 years ago0024925: Enabling OCAF persistence without setting environment variables
Roman Lygin [Thu, 10 Jul 2014 10:47:20 +0000 (14:47 +0400)]
0024925: Enabling OCAF persistence without setting environment variables

Add test case bugs/caf/bug24925
Merging with current master IR-2014-07-03

9 years ago0025052: Visualization - activation of all Clipping Planes within driver limit leads...
kgv [Thu, 10 Jul 2014 10:45:21 +0000 (14:45 +0400)]
0025052: Visualization - activation of all Clipping Planes within driver limit leads to broken planes management

Aspect_GenId::Available(), include size of the queue with recently freed identifiers
Aspect_GenId.cxx - remove tabulation symbols
Test cases for issue CR25052

9 years ago0025010: Use AIS_ColoredShape for display of XCAF documents
dbv [Thu, 10 Jul 2014 10:43:56 +0000 (14:43 +0400)]
0025010: Use AIS_ColoredShape for display of XCAF documents

Added methods HasUIsoAspect and HasVIsoAspect to AIS_Drawer
XCAFPrs_AISObject has been converted to non-cdl class
XCAFPrs_AISObject now inherits from AIS_ColoredShape
XCAFPrs_AISObject::Compute method has been rewritten in accordance with the new inheritance.
Regression fix

9 years ago0024876: Add protection of shapes against modification of geometry
ink [Thu, 10 Jul 2014 10:42:12 +0000 (14:42 +0400)]
0024876: Add protection of shapes against modification of geometry

Added flag "locked" for protection of geometric data in the shapes (including tolerances).
Modification test case to avoid regression.

9 years ago0024968: Impove BRepMesh_Classifier to cope with intersection of huge number of wires
oan [Thu, 10 Jul 2014 10:40:36 +0000 (14:40 +0400)]
0024968: Impove BRepMesh_Classifier to cope with intersection of huge number of wires

BRepMesh_Classifier: Two-pass approach for intersection check with possibility to run it in parallel mode.
First pass - bounding boxes of segments are checked for overlapping;
Second pass - intersection point is calculated in case if overlapping is detected.

Make NCollection_UBTree::ChangeLastNode() exported due to compilation error on Linux platform.
Reason: method does not depend on template parameters, so it should be available.

Revert previous change and try to use another trick for Linux

Fix compilation warning on MacOS: remove redundant constant
Fix regressions: do not consider insignificant loops in case of self intersections on the same wire.
More sugar solution for compilation errors on NCollection_EBTree on Linux

Test cases for issue CR24968

9 years ago0025051: Compilation issues on OS X 10.6.8
dbv [Fri, 4 Jul 2014 09:14:32 +0000 (13:14 +0400)]
0025051: Compilation issues on OS X 10.6.8

Added define to prevent inclusion of system glext.h on Mac OS X 10.6.8

9 years ago0025047: Visualization - public methods of OpenGl_AspectFace, OpenGl_AspectLine and...
kgv [Thu, 3 Jul 2014 07:09:48 +0000 (11:09 +0400)]
0025047: Visualization - public methods of OpenGl_AspectFace, OpenGl_AspectLine and OpenGl_AspectMarker classes are not exported

9 years agoIncrement version of OCCT up to 6.7.3
bugmaster [Wed, 9 Jul 2014 07:05:23 +0000 (11:05 +0400)]
Increment version of OCCT up to 6.7.3

9 years agoAdding solution and project for VC++ 2010
bugmaster [Fri, 4 Jul 2014 09:33:20 +0000 (13:33 +0400)]
Adding solution and project for VC++ 2010

9 years agoModified test cases in de group according to new behavior in issues 24983 and 24958
apn [Fri, 4 Jul 2014 08:42:15 +0000 (12:42 +0400)]
Modified test cases in de group according to new behavior in issues 24983 and 24958

9 years agoDo not include removed headers from package Aspect in samples (0025038)
kgv [Fri, 4 Jul 2014 06:29:09 +0000 (10:29 +0400)]
Do not include removed headers from package Aspect in samples (0025038)

9 years agoUpdate of header of files in context of License text
apn [Thu, 3 Jul 2014 13:23:56 +0000 (17:23 +0400)]
Update of header of files in context of License text

9 years ago0024983: For the incorrect seam edge in STEP file no fix is provided
razmyslovich [Thu, 3 Jul 2014 13:16:07 +0000 (17:16 +0400)]
0024983: For the incorrect seam edge in STEP file no fix is provided

fix the notched edges twice per face - before checking for missing seam and after
Test case correction for issue CR24983
Add check for invalid Surface of linear extrusion (with basis curve - line and extrusion direction parallel to this line) during converting STEP surface
Small corrections of test cases for issue CR24983

9 years ago0024958: Numerous ShapeFix_IntersectionTool code fixes
razmyslovich [Thu, 3 Jul 2014 13:13:17 +0000 (17:13 +0400)]
0024958: Numerous ShapeFix_IntersectionTool code fixes

Optimize periodic normalization.
not needed split edge, if one of parts is too small
Small corrections of test cases for issue CR24958_2

9 years agoModified test case for issue 23753
apn [Thu, 3 Jul 2014 12:09:39 +0000 (16:09 +0400)]
Modified test case for issue 23753

9 years agoModified test case for issue 23698
apv [Thu, 3 Jul 2014 12:07:28 +0000 (16:07 +0400)]
Modified test case for issue 23698

9 years ago0025004: Extrema curve/curve incorrect result
aml [Thu, 3 Jul 2014 12:00:36 +0000 (16:00 +0400)]
0025004: Extrema curve/curve incorrect result

Fixed bug in extrema clustering algorithm.
Tolerances changing is available now.
Testcase with Branin function added.

Test cases for issue CR25004

9 years ago0024817: Can not sew two circular faces in non-manifold mode
aml [Thu, 3 Jul 2014 11:54:46 +0000 (15:54 +0400)]
0024817: Can not sew two circular faces in non-manifold mode

IndRef parameter usage fixed. Obsolete code deleted.
Test case for issue CR24817

9 years ago0024819: TKOpenGl - extend the ray-tracing core by visualization of lines, text and...
osa [Thu, 3 Jul 2014 11:49:48 +0000 (15:49 +0400)]
0024819: TKOpenGl - extend the ray-tracing core by visualization of lines, text and point sprites

OpenGl_GraphicDriver::Redraw() - do not recompute structures more than required
OpenGl_Workspace::Raytrace() - bind proper FBO before clearing it
Visual3d_View::Redraw() - perform automatic 2nd redraw on device lost

9 years ago0025040: Visualization - capping plane is drawn at wrong position when created by...
kgv [Mon, 30 Jun 2014 09:04:55 +0000 (13:04 +0400)]
0025040: Visualization - capping plane is drawn at wrong position when created by copy

OpenGl_CappingPlaneResource - use -1 instead of 0 as default uninitialized modification counter.

9 years ago0025038: Visualization - remove unused classes from package Aspect
kgv [Sun, 29 Jun 2014 10:46:11 +0000 (14:46 +0400)]
0025038: Visualization - remove unused classes from package Aspect

9 years ago0025034: Highlighted dimension objects are not in Detected list of AIS_InteractiveCon...
aba [Thu, 3 Jul 2014 11:44:13 +0000 (15:44 +0400)]
0025034: Highlighted dimension objects are not in Detected list of AIS_InteractiveContext:

Detected sequence in local ind interactive contexts is filled with interactive objects, not with AIS_Shape only.

9 years agoUpdate of header of files in context of License text
bugmaster [Fri, 27 Jun 2014 12:23:13 +0000 (16:23 +0400)]
Update of header of files in context of License text

9 years agoRemoving non ascii characters
bugmaster [Fri, 27 Jun 2014 11:43:50 +0000 (15:43 +0400)]
Removing non ascii characters

9 years ago0025036: Compilation errors in occt qt Voxel sample
vpa [Thu, 26 Jun 2014 15:00:57 +0000 (19:00 +0400)]
0025036: Compilation errors in occt qt Voxel sample

Graphic3d_CBounds was replaced by Graphic3d_BndBox4f

9 years agoAdjusting testing cases for debug mode
mkv [Fri, 27 Jun 2014 11:21:44 +0000 (15:21 +0400)]
Adjusting testing cases for debug mode

9 years ago0025002: Wrong result done by Boolean Operation algorithm
emv [Thu, 26 Jun 2014 09:03:35 +0000 (13:03 +0400)]
0025002: Wrong result done by Boolean Operation algorithm

class IntTools_FaceFace
method
  static Standard_Boolean DecompositionOfWLine(const Handle(IntPatch_WLine)& theWLine,
                                      const Handle(GeomAdaptor_HSurface)&            theSurface1,
                                      const Handle(GeomAdaptor_HSurface)&            theSurface2,
                                      const TopoDS_Face&                             theFace1,
                                      const TopoDS_Face&                             theFace2,
                                      const IntTools_LineConstructor&                theLConstructor,
                                      const Standard_Boolean                         theAvoidLConstructor,
                                      IntPatch_SequenceOfLine&                       theNewLines,
                                      Standard_Real&                                 theReachedTol3d,
                                      const Handle(IntTools_Context)& aContext)

Correct treatment of WLines with only one point before or after the boundary point.

Test case for issue CR25002

9 years ago0024985: Control of maximum degree and number of segment in the Pipe Shell algorithm
vsr [Fri, 20 Jun 2014 07:35:25 +0000 (11:35 +0400)]
0024985: Control of maximum degree and number of segment in the Pipe Shell algorithm

Fix merge problem: pass myMaxDegree and myMaxSegments to BRepFill_Sweep algorithm

9 years ago0025031: Incorrect initialization function call
anv [Tue, 24 Jun 2014 08:00:13 +0000 (12:00 +0400)]
0025031: Incorrect initialization function call

Incorrect function call removed

9 years ago0024157: Parallelization of assembly part of BO
pkv [Thu, 26 Jun 2014 09:00:17 +0000 (13:00 +0400)]
0024157: Parallelization of assembly part of BO

The branch CR24157_12 deals with the parallelization of building the solids in case of lot internal faces.
Test case for issue CR24157

9 years ago0025019: Command "bsection" in Test Harness with flag build pcurve on second shape...
emv [Thu, 26 Jun 2014 08:58:42 +0000 (12:58 +0400)]
0025019: Command "bsection" in Test Harness with flag build pcurve on second shape works slowly.

class IntTools_FaceFace
method
  void IntTools_FaceFace::Perform(const TopoDS_Face& aF1,
                                  const TopoDS_Face& aF2)
Change the approximation flags according to the order of faces.

Test case for issue CR25019

9 years ago0024307: TKOpenGl - efficient culling of large number of presentations
vpa [Fri, 20 Jun 2014 07:26:14 +0000 (11:26 +0400)]
0024307: TKOpenGl - efficient culling of large number of presentations

Implement SAT intersection tests and frustum culling algorithm using BVH trees.

New Draw command vfrustumculling to manage frustum culling.
Add test cases bugs/vis/bug24307_1 and bugs/vis/bug24307_2.
Remove CALL_DEF_BOUNDBOX and CALL_DEF_BOUNDS.

9 years ago0025027: Visualization - 2D layer viewport is updated incorrectly on resize
kgv [Thu, 26 Jun 2014 08:50:30 +0000 (12:50 +0400)]
0025027: Visualization - 2D layer viewport is updated incorrectly on resize

Test case for issue CR25027

9 years ago0025026: Visualization, Graphic3d_Plotter - remove unused class
kgv [Thu, 19 Jun 2014 14:15:27 +0000 (18:15 +0400)]
0025026: Visualization, Graphic3d_Plotter - remove unused class

9 years ago0024902: Visualization, StdPrs_ShadedShape - advanced processing of Compounds contain...
aba [Thu, 19 Jun 2014 07:41:34 +0000 (11:41 +0400)]
0024902: Visualization, StdPrs_ShadedShape - advanced processing of Compounds containing mixture of closed Solids and open Shells

StdPrs_ShadedShape, add flag theToExploreSolids to method ::Add().
Previously the tool collected triagnulations from all Faces into single graphic group.
The automated algorithm for back-face culling activation has to disable culling
when within closed Solids single Compound contains also open Shells.
Now tool is able to optionally (enabled by default) split these two categories of primitives
into dedicated groups with independent back-face culling settings.

In addition, this closed flag is now stored in Graphic3d_Group::myIsClosed which allows
capping algorithm OpenGl_CappingAlgo to automatically filter improper groups.

9 years agoModified TPS in test cases bugs/modalg_5/bug24157_8 bug24157_9
apn [Fri, 20 Jun 2014 07:42:59 +0000 (11:42 +0400)]
Modified TPS in test cases bugs/modalg_5/bug24157_8 bug24157_9

9 years ago0025020: checkoverlapedges doesn't have the check for degenerated edges
ibs [Thu, 19 Jun 2014 09:29:13 +0000 (13:29 +0400)]
0025020: checkoverlapedges doesn't have the check for degenerated edges

the check for degenerated edges added
Test case for issue CR25020

9 years ago0024964: ThruSections crashes the DRAW.exe
jgv [Thu, 19 Jun 2014 09:27:27 +0000 (13:27 +0400)]
0024964: ThruSections crashes the DRAW.exe

Test case for issue CR24964

9 years ago0023631: Infinite memory consumption in BRepMesh
oan [Thu, 19 Jun 2014 09:23:53 +0000 (13:23 +0400)]
0023631: Infinite memory consumption in BRepMesh

Check is the shape to be meshed has correct poly data, i.e. PolygonOnTriangulation of particular edge connected to the same Triangulation data structure as stored inside a parent face.
Adding test cases for issue CR23631 bugs/mesh/bug23631
Parallel checking of faces/edges
Make BRepMesh_IncrementalMesh class imported from BRepMesh package.
Resolve GCC warnings on Linux platform
Fix compilation errors on MacOs: remove mutable modificator on reference fields.

9 years ago0025018: Draw Harness - misprint in argument "-settransparancy" for command vaspects
kgv [Tue, 17 Jun 2014 15:43:54 +0000 (19:43 +0400)]
0025018: Draw Harness - misprint in argument "-settransparancy" for command vaspects

9 years ago0025012: ShapeFix_Wire checks the wrong parameter for the curve during SameParameter...
razmyslovich [Mon, 16 Jun 2014 14:27:06 +0000 (16:27 +0200)]
0025012: ShapeFix_Wire checks the wrong parameter for the curve during SameParameter check

SameParameter check is fixed to verify the correct pairs of parameters

9 years ago0025011: IntAna_QuaQuadGeo can crash with out-of-bounds exception
razmyslovich [Mon, 16 Jun 2014 14:18:23 +0000 (16:18 +0200)]
0025011: IntAna_QuaQuadGeo can crash with out-of-bounds exception

Fix the crash in IntAna_QuadQuadGeo by checking the number of intersections

9 years agoModified CPU limit in test cases inDebug mode.
apn [Tue, 17 Jun 2014 13:18:18 +0000 (17:18 +0400)]
Modified CPU limit in test cases inDebug mode.

9 years agoAdded QA command OCC23950 and test case bugs/xde/bug23950 for issue 23950
apv [Wed, 11 Jun 2014 08:44:00 +0000 (12:44 +0400)]
Added QA command OCC23950 and test case bugs/xde/bug23950 for issue 23950

9 years ago0024998: The incorrect _USE_MATH_DEFINES definition in Standard_math.hxx prevents...
razmyslovich [Tue, 10 Jun 2014 11:50:14 +0000 (13:50 +0200)]
0024998: The incorrect _USE_MATH_DEFINES definition in Standard_math.hxx prevents the clean build for client applications

Add #ifndef clause to avoid redefinition compile error

9 years ago0024985: Control of maximum degree and number of segment in the Pipe Shell algorithm
jgv [Mon, 9 Jun 2014 09:25:40 +0000 (13:25 +0400)]
0024985: Control of maximum degree and number of segment in the Pipe Shell algorithm

9 years ago0024987: Visualization - Add missing implementation of Select3D_SensitiveTriangulatio...
vro [Thu, 5 Jun 2014 07:33:24 +0000 (11:33 +0400)]
0024987: Visualization - Add missing implementation of Select3D_SensitiveTriangulation::DetectedTriangle()

A missed method is implemented.

9 years ago0024989: Visualization - workaround vc12 32-bit compiler optimizer bug resulted in...
san [Wed, 11 Jun 2014 06:45:17 +0000 (10:45 +0400)]
0024989: Visualization - workaround vc12 32-bit compiler optimizer bug resulted in crash in AIS_Axis

Test case for issue CR24989

9 years ago0024971: Incomplete interface of NCollection classes
abv [Wed, 11 Jun 2014 06:43:27 +0000 (10:43 +0400)]
0024971: Incomplete interface of NCollection classes

NCollection classes amended to be compatible with TCollection equivalents:

- List and Maps: copy constructor is used for placement of new items in collection instead of assignment operator, thus default constructor is not necessary any more for the item class
- Constructors with additional argument of element type added in array classes operated by Handle, defined by NCollection_DefineHArray*.hxx, allowing to initialize array immediately by specified value
- Non-const methods First() and Last() are added in List class, and method Value() in TListIterator class
- Method Append() accepting Handle(HSequence) provided in NCollection_DefineHSequence.hxx
- Default implementation of global function IsEqual() is provided as template (using operator ==)

Code using lists and maps of sequences is refactored to operate sequence by Handle (since Sequence does not to have public copy constructor).

In addition, error checking code is simplified to use macros _Raise_if instead of custom #ifdefs with the same meaning.
Comments within declaration of instances of generic classes in CDL removed.

Fixed bug in copy constructor of NCollection_BaseVector leading to corrupt data if original vector is empty; simplistic test command for vectors is added.

9 years ago0024981: IntTools_FaceFace enters to infinite loop on the attached case
emv [Wed, 11 Jun 2014 06:41:15 +0000 (10:41 +0400)]
0024981: IntTools_FaceFace enters to infinite loop on the attached case

class IntTools_Tools
method
  Standard_Boolean IntTools_Tools::AdjustPeriodic
      (const Standard_Real thePar,
       const Standard_Real theParMin,
       const Standard_Real theParMax,
       const Standard_Real thePeriod,
       Standard_Real &theNewPar,
       Standard_Real &theOffset,
       const Standard_Real theEps)
The new function has been implemented for fast adjustment of pcurves to the range of surface.
Test case correction for issue CR24981

9 years ago0024939: Incorrect result of Fuse operation
emv [Thu, 5 Jun 2014 10:23:29 +0000 (14:23 +0400)]
0024939: Incorrect result of Fuse operation

Modification:
class IntTools_EdgeEdge
For correct computation of resolution for curves of type Hyperbola and Parabola two new static functions have been implemented:
static
  Standard_Real ResolutionCoeff(const BRepAdaptor_Curve& theBAC,
                                const IntTools_Range& theRange);
static
  Standard_Real Resolution(const Handle(Geom_Curve)& theCurve,
                           const GeomAbs_CurveType theCurveType,
                           const Standard_Real theResCoeff,
                           const Standard_Real theR3D);

bugs moddata_2 bug26_2 - improvement.
Test case for issue CR24939
Test case correction for issue CR24939

9 years ago0024973: Incorrect PCurve construction
pkv [Thu, 5 Jun 2014 10:21:37 +0000 (14:21 +0400)]
0024973: Incorrect PCurve construction

class: BOPTools_AlgoTools2D
method:
void BOPTools_AlgoTools2D::MakePCurveOnFace
  (const TopoDS_Face& aF,
   const Handle(Geom_Curve)& aC3D,
   const Standard_Real aFirst,
   const Standard_Real aLast,
   Handle(Geom2d_Curve)& aC2D,
   Standard_Real& TolReached2d)
has been modified to provide the conformity with the location of the surface

Test case for issue CR24973

9 years ago0024952: Possibility to break Boolean operations algorithm by user request
pkv [Mon, 2 Jun 2014 08:09:10 +0000 (12:09 +0400)]
0024952: Possibility to break Boolean operations algorithm by user request

class: BOPAlgo_Algo
method:
void BOPAlgo_Algo::SetProgressIndicator
  (const Handle(Message_ProgressIndicator)& theObj)
Purpose: Set the Progress Indicator object <theObj>.

method:
void BOPAlgo_Algo::UserBreak() const
Purpose: Breaks the execution if the break signal is indicated.

9 years ago0024972: Problem of the influence of the includes order during compilation
ski [Thu, 5 Jun 2014 10:18:09 +0000 (14:18 +0400)]
0024972: Problem of the influence of the includes order during compilation

All necessary files were included.
Unused files from package PColStd were removed.

9 years ago0024945: Extrema_ExtPElC::Perform does not consider angular tolerance when calculates...
oan [Thu, 5 Jun 2014 10:16:48 +0000 (14:16 +0400)]
0024945: Extrema_ExtPElC::Perform does not consider angular tolerance when calculates angle between two vectors

Consider angular tolerance during calculation of angle between two vectors for protection against deviations that are significantly less than tolerance.
Simplified code to reduce number of comparison
Added QA command OCC24945 and test case bugs/moddata_3/bug24945

9 years ago0024955: Misuse of DownCast
abv [Thu, 5 Jun 2014 10:14:14 +0000 (14:14 +0400)]
0024955: Misuse of DownCast

Code where DownCast was applied to Handle of the type being not a base class of the target one is revised and (hopefully) corrected.
Code corrected following review remarks
GeomConvert::CurveToBSplineCurve() is called even for b-spline curves to ensure that result is non-periodic
Check for conic is corrected

9 years ago0024240: Separation of header files for QANCollection into hxx and cxx
abv [Mon, 12 May 2014 12:08:36 +0000 (16:08 +0400)]
0024240: Separation of header files for QANCollection into hxx and cxx

Files in QANCollection tests reorganized to avoid placing code in header files

9 years ago0024911: Avoid using virtual functions in NCollection classes
abv [Thu, 8 May 2014 05:13:00 +0000 (09:13 +0400)]
0024911: Avoid using virtual functions in NCollection classes

NCollection_BaseCollection class, relevant header files, and macro DEFINE_BASECOLLECTION removed.
Hence methods Assign() from other compatible (via inheritance of BaseCollection) collections are not available any more, as well as base Iterator class.

All methods of Iterator classes are made non-virtual, allowing their inline expansion for better performance.

OCCT-specific operators new and delete added to collection classes and removed from iterator classes.

9 years agoUpdate of CMakeLists.txt for Microsoft Visual Studio 2013
bugmaster [Mon, 2 Jun 2014 10:32:23 +0000 (14:32 +0400)]
Update of CMakeLists.txt for Microsoft Visual Studio 2013

9 years ago0024974: GCC compiler warnings 'backslash inside comment'
abv [Thu, 29 May 2014 12:39:13 +0000 (16:39 +0400)]
0024974: GCC compiler warnings 'backslash inside comment'

Backslash at the end of the line within comment escaped by dot to avoid GCC warning

9 years ago0024951: Qt samples - fix compilation after changes in Raytracing API
dbp [Fri, 23 May 2014 13:23:16 +0000 (17:23 +0400)]
0024951: Qt samples - fix compilation after changes in Raytracing API

Compilation errors in qt samples were fixed.

9 years ago0024055: Reading a STEP file produces invalid shape
ika [Thu, 29 May 2014 12:43:38 +0000 (16:43 +0400)]
0024055: Reading a STEP file produces invalid shape

Add checks for cone-like surfaces during seam fixing
Delete check for missing degenerated edge for cones in FixMissingSeam() function, because this check is exist in FixPeriodicDegenerated(). Check for uniqueness of wire is unnecessary after this.
Update of test-cases

9 years ago0024889: Geom2dAPI_InterCurveCurve produces result with parameter outside the curve...
nbv [Thu, 29 May 2014 12:38:47 +0000 (16:38 +0400)]
0024889: Geom2dAPI_InterCurveCurve produces result with parameter outside the curve limits

1. DRAW-command for testing was created (see QABugs_19.cxx)
2. Alignments were changed in other files.

Main Changes are into IntCurve_IntConicConic_1.cxx file (variable isOutOfRange was added).
If found intersection point is out of range, minimal distance between corresponding ends of interval is taken. If this distance is less than tolerance, this point replaces found intersection point. Otherwise, found intersection point is ignored.
Modified QA command OCC24889 and added test case bugs/modalg_5/bug24889

9 years ago0024960: Value of result tolerance after "fixshape" is bigger than value of set ...
gka [Wed, 28 May 2014 12:11:04 +0000 (16:11 +0400)]
0024960: Value of result tolerance after "fixshape" is bigger than value of set "Maximal tolerance".

Description of using "Maximal tolerance" and "Minimal tolerance" values in class ShapeFix_Shape was updated.

9 years ago0024937: New compile warning in Extrema_GenExtCC.gxx on MacOS
aml [Wed, 28 May 2014 05:39:02 +0000 (09:39 +0400)]
0024937: New compile warning in Extrema_GenExtCC.gxx on MacOS

Compilation warning eliminated.

9 years ago0024953: Draw crashed after execution of test case bugs/modalg_5/bug24764
nbv [Wed, 28 May 2014 07:18:27 +0000 (11:18 +0400)]
0024953: Draw crashed after execution of test case bugs/modalg_5/bug24764

Reason of exception was liquidated.

9 years ago0024946: Wrong result obtained by Extrema Curve/Curve
aml [Thu, 29 May 2014 12:21:56 +0000 (16:21 +0400)]
0024946: Wrong result obtained by Extrema Curve/Curve

Fixes in Extrema Curve/Curve algorithm and in corresponding testcase.
Added test case bugs/modalg_5/bug24946

9 years ago0024831: Make iterators of NCollection classes STL-compatible
dbp [Wed, 23 Apr 2014 05:38:58 +0000 (09:38 +0400)]
0024831: Make iterators of NCollection classes STL-compatible

STL-compatible iterators returned methods begin() and end() are provided in collection classes from NCollection package.
NCollection_Array1::Iterator is redesigned to use pointer instead of index.
Iterators of Sequence, Array, and Vector are extended by new methods to iterate backwards.

Use of SortTools_QuickSortOfReal is replaced by std::sort() in a few places (where possible).

9 years ago0023951: Visibility of free, simple shapes not saved when writing XCAF Document into...
ika [Thu, 29 May 2014 12:14:45 +0000 (16:14 +0400)]
0023951: Visibility of free, simple shapes not saved when writing XCAF Document into STEP

Delete check for top-level shape during writing invisibility property.
Added QA command OCC23951.
Fix crash in QA command OCC23951: initialize document, initialize shape.
Added test case bugs/xde/bug23951
Modified QABugs/QABugs_19.cxx to avoid warnings

9 years ago0024931: Stack overflow when writing large shapes to XML
Roman Lygin [Thu, 29 May 2014 12:08:40 +0000 (16:08 +0400)]
0024931: Stack overflow when writing large shapes to XML

Added QA command OCC24931 and test case bugs/fclasses/bug24931

9 years ago0024784: Move documentation in CDL files to proper location
ski [Thu, 29 May 2014 12:05:47 +0000 (16:05 +0400)]
0024784: Move documentation in CDL files to proper location

Mostly duplicated comments were removed and missing ones were moved
into dedicated class CDL files.
Some more duplicated comments were removed from CDL files.
Correction of merge

9 years ago0022240: Bad triangulation of transformed shapes
azn [Thu, 29 May 2014 11:39:04 +0000 (15:39 +0400)]
0022240: Bad triangulation of transformed shapes

Correction of out transformation for the curves on plane surface.
Added test case bugs/vis/bug22240
Modified test cases according to new behavior.

9 years ago0024807: Exception in ShapeAnalysis_FreeBounds::ConnectEdgesToWires
nbv [Thu, 29 May 2014 11:36:23 +0000 (15:36 +0400)]
0024807: Exception in ShapeAnalysis_FreeBounds::ConnectEdgesToWires

The reason for the exception was that given compound contains only edges with INTERNAL orientation (there are not any wires or faces). Consequently, given shape is non-manifold a priory.
New fix handles some cases.
Added test case bugs/modalg_5/bug24807