Overall revision of of CSharp sample code:
- Pure C++ project "OCC" deleted as unnecessary
- C++/CLI project "shell" renamed to OCCTProxy and refactored to implement all required interface to OCCT functionality.
- In About dialog, date corrected in Copyright statement
- CSharp files re-layouted with 2 spaces indentation
- ReadMe converted to MarkDown format and revised
- Generation of names of views refactored to avoid calling C++ level
- Project files corrected to run on 64-bit systems
- Batch scripts refactored to use OCCT default configuration
WPF front-end added to demonstrate usage of OCCT in WPF applications.
WPF sample was modified, operation Export has been fixed
Exception "Cannot create this file", which appeared by export to image format, has been corrected.
Option "Export image to .xwd" removed.
pkv [Tue, 22 Oct 2013 09:13:38 +0000 (13:13 +0400)]
0024157: Parallelization of assembly part of BO
New metod was implemented to class BOPAlgo_Builder
- method:
void BOPAlgo_Builder::SetRunParallel(const Standard_Boolean theFlag)
The method sets the flag of parallel processing
if <theFlag> is true the parallel processing is switched on
if <theFlag> is false the parallel processing is switched off
- method:
Standard_Boolean BOPAlgo_Builder::RunParallel()const
The method returns the flag of parallel processing
Class BOPTest was changed
- static function:
Standard_Integer bbuild(Draw_Interpretor& di, Standard_Integer n, const char** a)
The optional parameters [ -s -t ] have been added to the command line of
the command 'bbuild':
bbuild r [-s -t]
-s : builds the result using serial procesing
-t : show the wall time
san [Fri, 18 Oct 2013 09:23:25 +0000 (13:23 +0400)]
0024267: Exception in Visual3d_ViewManager::Redraw() when color scale is displayed
Removing V3d_Viewer::Init() and the default views created internally by the viewer.
- method:IntTools_EdgeFace has been changed
Standard_Boolean IntTools_EdgeFace::IsProjectable(const Standard_Real aT) const
The checking the distance between the point on the curve projected point has been added.
apl [Thu, 24 Oct 2013 08:53:42 +0000 (12:53 +0400)]
0024228: TKOpenGL - destroy GL context at view close
- OpenGl_Display - release GL resources correctly on closing views
- OpenGl_AspectFace, OpenGl_AspectText, OpenGl_AspectLine, OpenGl_AspectMarker - initialize OpenGl resources on demand, when context is available.
- Graphic3d_TextureRoot - use const modifier for GetId method to avoid asynchronous resource state at OpenGl.
- Do not call OpenGL functions if no active GL context has been left
- Reset thread's context before deletion for Mesa WNT
kgv [Thu, 24 Oct 2013 08:12:42 +0000 (12:12 +0400)]
0024271: Provide Boolean operations for NCollection_Map
NCollection_Map - add two maps content Exchange operation without data copying
Add Exchange method to NCollection_DataMap, NCollection_DoubleMap, NCollection_IndexedDataMap, NCollection_IndexedMap
Add NCollection_Map::IsEqual() method
Corrections for gcc - use this->myAllocator
aml [Thu, 24 Oct 2013 07:54:40 +0000 (11:54 +0400)]
0024200: Wrong result obtained by Exterma Curve/Curve
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform() function.
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform().
fixed incorrect indexes and Coeff check in Extrema_CurveCache::Extrema_CurveCache added to avoid int overflow.
Added test case bugs/modalg_5/bug24200
Added check if (aNbS[i] * Coeff[i]) too big in Extrema_GExtCC::Perform().
gka [Thu, 24 Oct 2013 07:48:44 +0000 (11:48 +0400)]
0024206: Exception is raised in the STEP loopback tests.
Fixed several cases of potentially uninitialized variables in Shape Healing.
Corrections to avoid warning for unused variable distmini and to avoid regression for case bug22805
abv [Mon, 14 Oct 2013 13:38:02 +0000 (17:38 +0400)]
0024257: Minor corrections for building / testing on VC++ 11
Several corrections coming from building and testing on MSVC++ 11:
- compiler warnings corrected in structiges.c (32-bit mode) and BOPAlgo (64-bit mode)
- DRAW command for testing exceptions (OCC6143) refactored for getting some output even if process fails (problem with stack overflow handling)
- DRAW command readstep removed as it leads to hang-up in Debug mode due to waiting for user input; the only test that used it changed to use testreadstep command
Overall revision of of CSharp sample code:
- Pure C++ project "OCC" deleted as unnecessary
- C++/CLI project "shell" renamed to OCCTProxy and refactored to implement all required interface to OCCT functionality.
- In About dialog, date corrected in Copyright statement
- CSharp files re-layouted with 2 spaces indentation
- ReadMe converted to MarkDown format and revised
- Generation of names of views refactored to avoid calling C++ level
- Project files corrected to run on 64-bit systems
- Batch scripts refactored to use OCCT default configuration
WPF front-end added to demonstrate usage of OCCT in WPF applications.
WPF sample was modified, operation Export has been fixed
Exception "Cannot create this file", which appeared by export to image format, has been corrected.
Option "Export image to .xwd" removed.
pkv [Tue, 22 Oct 2013 09:13:38 +0000 (13:13 +0400)]
0024157: Parallelization of assembly part of BO
New metod was implemented to class BOPAlgo_Builder
- method:
void BOPAlgo_Builder::SetRunParallel(const Standard_Boolean theFlag)
The method sets the flag of parallel processing
if <theFlag> is true the parallel processing is switched on
if <theFlag> is false the parallel processing is switched off
- method:
Standard_Boolean BOPAlgo_Builder::RunParallel()const
The method returns the flag of parallel processing
Class BOPTest was changed
- static function:
Standard_Integer bbuild(Draw_Interpretor& di, Standard_Integer n, const char** a)
The optional parameters [ -s -t ] have been added to the command line of
the command 'bbuild':
bbuild r [-s -t]
-s : builds the result using serial procesing
-t : show the wall time
san [Fri, 18 Oct 2013 09:23:25 +0000 (13:23 +0400)]
0024267: Exception in Visual3d_ViewManager::Redraw() when color scale is displayed
Removing V3d_Viewer::Init() and the default views created internally by the viewer.
- method:IntTools_EdgeFace has been changed
Standard_Boolean IntTools_EdgeFace::IsProjectable(const Standard_Real aT) const
The checking the distance between the point on the curve projected point has been added.
apl [Thu, 24 Oct 2013 08:53:42 +0000 (12:53 +0400)]
0024228: TKOpenGL - destroy GL context at view close
- OpenGl_Display - release GL resources correctly on closing views
- OpenGl_AspectFace, OpenGl_AspectText, OpenGl_AspectLine, OpenGl_AspectMarker - initialize OpenGl resources on demand, when context is available.
- Graphic3d_TextureRoot - use const modifier for GetId method to avoid asynchronous resource state at OpenGl.
- Do not call OpenGL functions if no active GL context has been left
- Reset thread's context before deletion for Mesa WNT
kgv [Thu, 24 Oct 2013 08:12:42 +0000 (12:12 +0400)]
0024271: Provide Boolean operations for NCollection_Map
NCollection_Map - add two maps content Exchange operation without data copying
Add Exchange method to NCollection_DataMap, NCollection_DoubleMap, NCollection_IndexedDataMap, NCollection_IndexedMap
Add NCollection_Map::IsEqual() method
Corrections for gcc - use this->myAllocator
aml [Thu, 24 Oct 2013 07:54:40 +0000 (11:54 +0400)]
0024200: Wrong result obtained by Exterma Curve/Curve
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform() function.
changed number of nodes in case of GeomAbs_Line in Extrema_GExtCC::Perform().
fixed incorrect indexes and Coeff check in Extrema_CurveCache::Extrema_CurveCache added to avoid int overflow.
Added test case bugs/modalg_5/bug24200
Added check if (aNbS[i] * Coeff[i]) too big in Extrema_GExtCC::Perform().
gka [Thu, 24 Oct 2013 07:48:44 +0000 (11:48 +0400)]
0024206: Exception is raised in the STEP loopback tests.
Fixed several cases of potentially uninitialized variables in Shape Healing.
Corrections to avoid warning for unused variable distmini and to avoid regression for case bug22805
abv [Mon, 14 Oct 2013 13:38:02 +0000 (17:38 +0400)]
0024257: Minor corrections for building / testing on VC++ 11
Several corrections coming from building and testing on MSVC++ 11:
- compiler warnings corrected in structiges.c (32-bit mode) and BOPAlgo (64-bit mode)
- DRAW command for testing exceptions (OCC6143) refactored for getting some output even if process fails (problem with stack overflow handling)
- DRAW command readstep removed as it leads to hang-up in Debug mode due to waiting for user input; the only test that used it changed to use testreadstep command
Eliminated ICC 14 warnings:
# 82: storage class is not first (e.g. "int static f()"
# 2621: attribute "dllexport" does not apply here (e.g. "Standard_EXPORT typedef int qqint;")
# 2415: variable "..." of static storage duration was declared but never referenced
# 111: statement is unreachable (usually "break" after "return" in cycles)
OCCT documentation (Overview and User Guides) has been converted from MS Word files to text-based MarkDown format and added to OCCT sources, in the new subfolder 'dox'. The HTML and PDF articles can be generated from the sources using Doxygen and MiKTeX. See the file OCCT_Docs_HowTo.md for details on the new documentation system.
This branch includes:
- new folder structure for Open CASCADE documentation
- sources of almost all OCCT User Guides and Overview
- tcl and bat scripts, which allow to generate HTML and PDF articles
abv [Thu, 17 Oct 2013 08:28:37 +0000 (12:28 +0400)]
0024244: Command bclear in DRAW does not clear all the data required for BOP re-initialization
In BOPTest_Objects::Clear() added clearing of the objects and tools of the operation.
II. Changes:
II.1. class BRepClass3d
- method:
Standard_Integer BRepClass3d_SolidExplorer::OtherSegment(const gp_Pnt& P,
gp_Lin& L, Standard_Real& _Par)
The condition to prevent infinite loop has been added.
III. Modified entities:
packages:
BRepClass3d
Added test case bugs/modalg_5/bug24242
The phase 1 : Parallelization Building Faces.
Part 1.2. Building Same Domain Faces
Combined by pkv
Field myFileChannel removed from OSD_FileNode and introduced to OSD_File as Linux-only along with Windows-only myFileHandle.
Implementation of OSD_File cleaned from redundant type casts; some missing type cases added.
File mode passed to fdopen() corrected in read-write case ("rw" replaced by "w+").
Method OSD_File::Size() now returns Standard_Size to be able to return correct value for large files (on 64-bit platforms only).
pkv [Thu, 17 Oct 2013 08:19:24 +0000 (12:19 +0400)]
0024242: Hang-up during classification a 3D point relative to a solid
v0.0
I. New features:
no new features
II. Changes:
II.1. class BRepClass3d
- method:
Standard_Integer BRepClass3d_SolidExplorer::OtherSegment(const gp_Pnt& P,
gp_Lin& L, Standard_Real& _Par)
The condition to prevent infinite loop has been added.
pkv [Thu, 17 Oct 2013 08:17:35 +0000 (12:17 +0400)]
0024247: Wrong result obtained by General Fuse algorithm
v0.0
I. New features:
no new features
II. Changes:
II.1. class BOPAlgo_PaveFiller
- method:
void BOPAlgo_PaveFiller::PerformFF()
Prepare data to the filter BOPAlgo_PaveFiller::::CheckPlanes(...).
- method:
Standard_Boolean
BOPAlgo_PaveFiller::CheckPlanes(const Standard_Integer nF1,
const Standard_Integer nF2)const
1)The contents of the filter has been updated by all vertices of the faces images.
2)The method declared as const
aml [Thu, 17 Oct 2013 08:14:52 +0000 (12:14 +0400)]
0023650: Slow mesher: one bspline surface, 80 seconds for 132 triangles
Corrections in GeomLib::NormEstim, added norm computing using GeomLProp_SLProps.
Corrections in GeomLib::NormEstim, normal is computed with CSLib::Normal in case of a null normal.
Modified GeomLib::NormEstim Algo in case of null normal.
Added test case bugs/mesh/bug23650
apl [Thu, 10 Oct 2013 13:14:52 +0000 (17:14 +0400)]
0024224: Suspicious logics in changing clipping planes at OpenGl_Structure
1) Resolved buggy situation of shared clip planes between view and structure;
2) Added clipping plane equation space identification - to be used with shaders;
3) Code refactoring to resolve performance issue reported by 0024189;
4) Attachment of stencil buffer to FBO.
abv [Thu, 10 Oct 2013 10:41:01 +0000 (14:41 +0400)]
0024227: Enable SS2 instructions for OCCT building
Test for exceptions corrected to handle FPE when built with with SSE2 option on Windows (NumericError raised instead of specific exceptions)
New test for performance of bspline intersections added
Introduce new class Font_BRepFont for conversion of font glyph in vector format into BRep representation.
New text2brep Draw Harness command.
bottle.tcl - draw text on the bottle side using new functionality.
ViewerTest - process Delete key in 3D-Viewer to delete selected presentations.
Font_FontMgr::FindFont - return correct font when font alias and not default aspect is requested.
bottle.tcl - use prism instead of pipe
TKViewerTest - add required FreeType dependency
verase - display the list of erase objects
TKViewerTest - add required FreeType dependency for projects generation
nbv [Fri, 4 Oct 2013 14:26:23 +0000 (18:26 +0400)]
0024211: Definition of Basic Runtime Check parameter causes regression in debug mode
Out of ChoixRef array boundaries.
Uninitialized variable in IntCurve_IntPolyPolyGen::findIntersect(...) function.
Handling of infinity numbers in sprops command is added.
test (CPU-limit)
gka [Thu, 3 Oct 2013 12:36:52 +0000 (16:36 +0400)]
0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Fix for bug 0024174: [regression] BRepBuilderAPI_Sewing returns result with very high tolerance
Test script for CR24174
Test cases for issue CR24174
Small correction of test cases for issue CR24174
ifv [Thu, 3 Oct 2013 10:34:03 +0000 (14:34 +0400)]
0024137: math_FunctionSetRoot returns too rough solution
Test case and new draw command for issue CR24137
Modified test case de/iges_1/G9 according to new data
Small correction of test cases for issue CR24137
nbv [Thu, 3 Oct 2013 10:30:18 +0000 (14:30 +0400)]
0023360: Test cases for command mkoffset produce different results on different versions of OCCT
1. Function QuasiFleche(...) does not call for small edges.
2. Forbid to work with NULL-shapes in OffsetWire::FixHoles(...) function.
3. ProjOnCurve(...) function in Bisector_BisecCC.cxx file returns status (DONE or NOT DONE).
0024172: Compiler warnings 'unreacheable code' and 'unreferenced local function' in OCAF
Files _Sample.cxx containing unused sample code are removed from several OCAF packages.
Cycles for() with body always ending with 'break' are replaced by equivalent if() statements.
dbv [Thu, 3 Oct 2013 10:11:13 +0000 (14:11 +0400)]
0023654: Problem with displaying vertices in OCC view after closing all OCC views and opening new one
Fixed graphic structure recompute after closing view.
Removed collector and all corresponding logic and methods from AIS_InteractiveContext.
Method AIS_InteractiveContext::Erase() now hide object from viewer without deleting resources.
Erased objects now properly recomputed after closing view.
Samples update
Removed useless method AIS_InteractiveContext::EraseMode()
Documentation update
Warnings fix
Regressions fix
0024134: Wrong result of projection point on the face
Changed Bnd_SphereUBTreeSelector for the Extrema_ExtAlgo_Tree projection algorithm properly work
Test case for issue CR24134