occt.git
8 years ago0026529: CMake offers rebuilding of platform dependent code unclear for an user
ibs [Thu, 20 Aug 2015 13:24:50 +0000 (16:24 +0300)]
0026529: CMake offers rebuilding of platform dependent code unclear for an user

Fix for building with GCC and CLang

CMake variable descriptions updated
"Building with CMake" article updated

BuildToolkit.cmake cleaned up and renamed
"TestCases" project and all relating variables removed; custom script added for building environment
DrawAppliInit is copied from occt root to CMake binary dir if the file exists

rebuild platform dependent code by cmake cleaned up
Flex & Bison compiler flags added

RelWithDebInfo OCCT libraries are moved to libi folder; the binary is moved to bini one

CMAKE_BUILD_TYPE is set as Release by-default for a single-configuration generator

env.bat in installation folder has default value of CASDEB that equals to the build type of the last installed OCCT libraries

"building with CMake" article updated

8 years ago0024816: Tool for upgrading OCCT and dependent code
abv [Wed, 19 Aug 2015 15:51:52 +0000 (18:51 +0300)]
0024816: Tool for upgrading OCCT and dependent code

A new script adm/upgrade.tcl defines a Tcl procedure occt_upgrade, to be used for upgrading code of OCCT and applications for changes introduced by OCCT 7.0.
Batch script upgrade.bat is provided for convenience.
File upgrade.dat contains data (lists of classes) required for some upgrade steps.
Details on upgrade procedure are put in dox/dev_guides/upgrade/upgrade.md.

OCCT code corrected to improve compatibility with code based on previous versions of OCCT:
- Added conversion operator of handle to bool, for use in conditional expressions.
- Forward declaration of argument class restored in macro DEFINE_STANDARD_HANDLE.
- Includes of used classes added in some headers to avoid problem of missing includes in dependent code
- Type cast operators to base curve and surface added in GC and GCE2d classes to reduce porting issues.

Added test for local reference to handle initialized by temporary handle to derived class.

WOK and CDL User Guides removed.

8 years ago0026546: Configuration, genproj.tcl - add support for VS2015 in project file generator
kgv [Thu, 13 Aug 2015 04:23:54 +0000 (07:23 +0300)]
0026546: Configuration, genproj.tcl - add support for VS2015 in project file generator

Use vc10 templates for vc10, vc11, vc12, vc14.

8 years ago0026403: Add missing Standard_EXPORT keyword in SelectMgr headers
isk [Mon, 17 Aug 2015 07:53:57 +0000 (10:53 +0300)]
0026403: Add missing Standard_EXPORT keyword in SelectMgr headers

8 years ago0026547: Configuration - fix compilation errors on VS2015
kgv [Thu, 13 Aug 2015 10:10:49 +0000 (13:10 +0300)]
0026547: Configuration - fix compilation errors on VS2015

Interface_STAT.cxx - rename local variable 'stat' to 'myStat' to avoid name collision.
OSD_FileNode.cxx - pass correct argument to va_start().
STEPConstruct_AP203Context::DefaultDateAndTime() - use _get_timezone() instead of global variable timezone on msvc.
Graphic3d_ArrayOfPrimitives::VertexColor() - fix reinterpret_cast() argument.

Small correction: OCC26481-linesarc.brep is equal to bug26296_linesarc.brep

8 years ago0026537: It is not possible to generate reference documentation in new structure...
ibs [Thu, 13 Aug 2015 08:19:10 +0000 (11:19 +0300)]
0026537: It is not possible to generate reference documentation in new structure of OCCT

the path to search required headers changed from <occt>/inc to <occt>/src/<each package>

Fix for OCCT products reference documentation

8 years ago0026543: genproj script parses CSF_VTK incorrectly
ibs [Tue, 11 Aug 2015 07:36:08 +0000 (10:36 +0300)]
0026543: genproj script parses CSF_VTK incorrectly

the name of associative array at osutils:csfList method fixed

8 years ago0026540: Errors in BRepOffsetAPI_MakeOffset: infinite loop in method FixHoles for...
jgv [Thu, 13 Aug 2015 08:15:22 +0000 (11:15 +0300)]
0026540: Errors in BRepOffsetAPI_MakeOffset: infinite loop in method FixHoles for closed results.

Test case for issue CR26540

8 years ago0026508: Add the possibility to get label from XCAFPrs_AISObject.
stv [Fri, 31 Jul 2015 09:59:48 +0000 (12:59 +0300)]
0026508: Add the possibility to get label from XCAFPrs_AISObject.

8 years ago0026500: Add the possibility to save only part of shapes from XCAF document in IGES...
stv [Thu, 13 Aug 2015 08:11:07 +0000 (11:11 +0300)]
0026500: Add the possibility to save only part of shapes from XCAF document in IGES/STEP writers

Added public methods for specified labels (shapes) transfer in IGES/STEP writers.

8 years ago0026489: The class ShapeUpgrade_UnifySameDomain provides the results that are wrong...
isn [Thu, 13 Aug 2015 08:06:08 +0000 (11:06 +0300)]
0026489: The class ShapeUpgrade_UnifySameDomain provides the results that are wrong or difficult to explain.

gcc warnings

Test cases for issue CR26489

8 years ago0021564: Intersection of two planar faces produces curve with too many poles
aml [Thu, 13 Aug 2015 08:04:03 +0000 (11:04 +0300)]
0021564: Intersection of two planar faces produces curve with too many poles

I ComputePurgedWLine() function:
Excess points in walking line are deleted when:
1) Distance between neighboring points too small.
2) Points lie in one pipe without big jump on chord length.

III
Fixed problem with extremaPC with too close knot distribution to [minParam, maxParam] borders.

IV ApproxInt_Approx.gxx
New division criteria in intersection approximator.

III Test case
Test cases update to the new behavior.
Test case for CR21564

Correction of test cases for issue CR21564

8 years ago0025785: Visualization - introduce AIS_ColorScale presentation for Color Scale
isz [Tue, 4 Aug 2015 10:00:49 +0000 (13:00 +0300)]
0025785: Visualization - introduce AIS_ColorScale presentation for Color Scale

Color scale is implemented on AIS. Draw command vcolorscale now works with AIS_ColorScale.
In a qt sample VoxelDemo there was added a field AIS_ColorScale myColorsScale to control a color scale. Method displayColorScale and other methods were changed in order to work with this field.

8 years ago0026490: Visualization - implement draw commands 'voverlaytext' and 'vlayerline'...
isz [Thu, 6 Aug 2015 10:07:43 +0000 (13:07 +0300)]
0026490: Visualization - implement draw commands 'voverlaytext' and 'vlayerline' using AIS_InteractiveObject class

Command 'voverlaytext' was removed, its functionality was transfered to command 'vdrawtext'. Corresponding test cases were updated.
Command 'vlayerline' was implemented on AIS.

8 years ago0026460: Implicit cast to TopoDS_Shape compilation error due to ambiguous conversion
cshorler [Thu, 13 Aug 2015 07:52:52 +0000 (10:52 +0300)]
0026460: Implicit cast to TopoDS_Shape compilation error due to ambiguous conversion

- make operator TopoDS_Shape() cast a "non-const" member function
- make operator TopoDS_*() cast "non-const" when mutating behaviour is possible
- align derived class methods and overrides with the above changes

fix compilation for CR26460
- make argument for IsWRCase2 (non-const) BRepAlgoAPI_BooleanOperation&

8 years agoCompilation of VoxelDemo is fixed
vpa [Fri, 7 Aug 2015 12:45:52 +0000 (15:45 +0300)]
Compilation of VoxelDemo is fixed

8 years agoAdd directories build and install to ignore list.
msv [Fri, 31 Jul 2015 12:24:44 +0000 (15:24 +0300)]
Add directories build and install to ignore list.

8 years agoAdjusting testing case
mkv [Fri, 7 Aug 2015 08:06:21 +0000 (11:06 +0300)]
Adjusting testing case

8 years agoSign added and some formatting changes
ysn [Thu, 6 Aug 2015 13:20:50 +0000 (16:20 +0300)]
Sign added and some formatting changes

8 years ago0026493: BRepProj_Projection failed to project a wire on a shell
aml [Thu, 6 Aug 2015 10:23:45 +0000 (13:23 +0300)]
0026493: BRepProj_Projection failed to project a wire on a shell

Cylindrical projection moved from old boolean operations to the new BOP.

Test case for issue CR26493

8 years ago0026243: Boolean operations failed on shapes with fillets
pkv [Thu, 6 Aug 2015 09:27:34 +0000 (12:27 +0300)]
0026243: Boolean operations failed on shapes with fillets

Detected bugs have been fixed.

Test case for issue CR26243

8 years ago0026442: Access violation in BRepOffset_MakeOffset
mkv [Tue, 4 Aug 2015 13:49:10 +0000 (16:49 +0300)]
0026442: Access violation in BRepOffset_MakeOffset

Test cases for issue CR26442

8 years ago0024522: Application crashes on view closing in case of using of clipping planes
apv [Wed, 5 Aug 2015 08:37:55 +0000 (11:37 +0300)]
0024522: Application crashes on view closing in case of using of clipping planes
Test-case for issue #24522

8 years ago0026506: Change class BRepLib_CheckCurveOnSurface
nbv [Thu, 6 Aug 2015 09:13:41 +0000 (12:13 +0300)]
0026506: Change class BRepLib_CheckCurveOnSurface

1. Inline methods have been moved to hxx-file.
2. Geometric part of BRepLib_CheckCurveOnSurface has been moved to GeomLib_CheckCurveOnSurface.

Move try/catch treatment to low level (from BRepLib_CheckCurveOnSurface to GeomLib_CheckCurveOnSurface).

8 years ago0026249: Visualization, TKV3d - fix possible division by zero in SelectMgr_Rectangula...
vpa [Mon, 3 Aug 2015 15:41:56 +0000 (18:41 +0300)]
0026249: Visualization, TKV3d - fix possible division by zero in SelectMgr_RectangularFrustum

Added zero-length check for triangle normal in SelectMgr_RectangularFrustum::Overlaps

8 years ago0026272: Visualization - provide a possibility to activate selection modes without...
vpa [Fri, 31 Jul 2015 11:38:19 +0000 (14:38 +0300)]
0026272: Visualization - provide a possibility to activate selection modes without opening local context

- picked or selected objects are now highlighted via owners instead of interactive objects;
- support methods for owners were added to AIS_InteractiveContext;
- dynamically highlighted owners are now displayed in immediate mode;
- selection without opening of local context is enabled by default;
- added "-local" key to vselmode command to enable selection in local context;
- selection filters are now completely supported in AIS_InteractiveContext;
- the idea of differencing of selected items onto current (in interactive context) and selected (local selection) was eliminated;
- all calls to "current" were replaced by calls to "selected" in terms of future local context removal;
- AIS_InteractiveObject::mySelectionMode was removed;
- now each selectable object can define own selection mode for "global" selection of the whole object;
- whole object selection mode is 0 by default for all standard interactive objects;
- immediate structures are now added to topmost and top layer lists;
- added support of drawing immediate structures in different layers;
- unused code for immediate mode was removed;
- vfeedback and vexport commands now produce correct output for raytrace mode.

8 years ago0026477: Porting PRODUCTS and OCCT QT samples for OCCT 7.0.0
apn [Fri, 24 Jul 2015 09:44:18 +0000 (12:44 +0300)]
0026477: Porting PRODUCTS and OCCT QT samples for OCCT 7.0.0

Modified OCCT QT sample VoxelDemo

8 years ago0026447: Performance degradation intersecting cylindrical surfaces
apn [Thu, 30 Jul 2015 10:08:26 +0000 (13:08 +0300)]
0026447: Performance degradation intersecting cylindrical surfaces

Added test case bugs/modalg_6/bug26447

8 years ago0026485: Problem with the normals of a triangulated shape
oan [Thu, 30 Jul 2015 09:52:44 +0000 (12:52 +0300)]
0026485: Problem with the normals of a triangulated shape

Use gp::Resolution() instead of Precision::SquareConfustion() in order to normalize normal vectors according to implementation of gp_Vec::Normalize().

Test case

Test-case for issue #26485

8 years ago0026437: Visualization - Improve path tracing rendering engine
dbp [Thu, 30 Jul 2015 09:49:43 +0000 (12:49 +0300)]
0026437: Visualization - Improve path tracing rendering engine

Fix compile warnings.

8 years ago0026496: Error in use the BRepCheck_Analyzer
apv [Wed, 29 Jul 2015 13:38:31 +0000 (16:38 +0300)]
0026496: Error in use the BRepCheck_Analyzer
Test-case for issue #26496

8 years ago0026385: Fix to prevent BRepMesh from possible crash due to pointer to local variable...
abelcsik [Thu, 2 Jul 2015 14:30:57 +0000 (16:30 +0200)]
0026385: Fix to prevent BRepMesh from possible crash due to pointer to local variable stored inside Extrema_LocateExtPC

Made the BRepAdaptor_Curve a member of BRepMesh_EdgeParameterProvider to ensure that it is created before and destroyed after the Extrema_LocateExtPC that uses it.

8 years ago026464: BRepOffset_MakeOffset does not provide valid output
aml [Wed, 29 Jul 2015 13:14:09 +0000 (16:14 +0300)]
026464: BRepOffset_MakeOffset does not provide valid output

Handling of degenerated case improved.

Test-case for issue #26464

8 years ago0026481: Incorrect result of BRepOffsetAPI_MakeOffset: excess hanging arcs in the...
jgv [Wed, 29 Jul 2015 13:10:53 +0000 (16:10 +0300)]
0026481: Incorrect result of BRepOffsetAPI_MakeOffset: excess hanging arcs in the open result with join type GeomAbs_Arc

Test-case for issue #26481

8 years ago0026483: Option Run Parallel is not used by the command bopargcheck
pkv [Mon, 27 Jul 2015 07:06:15 +0000 (10:06 +0300)]
0026483: Option Run Parallel is not used by the command bopargcheck

I. New features:
No new features

II. Changes:
II.1 class BOPTest
-static function:
Standard_Integer bopargcheck (Draw_Interpretor& di,
                              Standard_Integer n,
                              const char** a )
The option has been retrieved and passed to the checker algorithm.

III. Modified entities:
packages:
BOPTest

8 years ago0026484: BRepExtrema_DistShapeShape hangs
nbv [Wed, 29 Jul 2015 12:38:41 +0000 (15:38 +0300)]
0026484: BRepExtrema_DistShapeShape hangs

Check in math_GlobOptMin::computeGlobalExtremum(...) method if the parameter went out of boundary(-ies).

Added test case bugs/modalg_6/bug26484

8 years ago0026473: Offset API fails to create offset shape
aml [Wed, 29 Jul 2015 12:33:30 +0000 (15:33 +0300)]
0026473: Offset API fails to create offset shape

Tolerance of map building changed.
Added possibility to work 0.0 offset value.

Added test cases bugs/modalg_6/bug26473_1 bug26473_2

8 years ago0026420: BOPAlgo_Builder resets "Closed" flag in the result
emv [Wed, 29 Jul 2015 12:29:42 +0000 (15:29 +0300)]
0026420: BOPAlgo_Builder resets "Closed" flag in the result

Set flag Closed to new Wires and Shells created in General Fuse algorithm if necessary.

Test-cases for issue #26420

8 years ago0026444: Boolean operation "bcut" gives invalid result between solid and halfspace...
emv [Wed, 29 Jul 2015 12:24:03 +0000 (15:24 +0300)]
0026444: Boolean operation "bcut" gives invalid result between solid and halfspace solid.

class BOPAlgo_PaveFiller
method void BOPAlgo_PaveFiller::PutPaveOnCurve
  (const Standard_Integer nV,
   const Standard_Real aTolR3D,
   BOPDS_Curve& aNC,
   const BOPCol_MapOfInteger& aMI,
   BOPCol_DataMapOfIntegerReal& aMVTol,
   const Standard_Integer iCheckExtend)

Do not put the pave on the curve in case if there is already one with the same parameter.
Update tolerance of the existing vertex to reach the new one.

Added test case bugs/modalg_6/bug26444.
Test boolean/volumemaker/G1 is stable now (deleted TODOs), test offset/faces_type_i/C9 is bad (offset is done with wrong result).

8 years ago0026467: Configuration, genproj.tcl - restore generation of Code::Blocks and XCode...
kgv [Thu, 23 Jul 2015 15:59:20 +0000 (18:59 +0300)]
0026467: Configuration, genproj.tcl - restore generation of Code::Blocks and XCode project files

Restore XCode generator.
Add missing dependencies to EXTERNLIB.
genproj.tcl - remove OS:mkdir() - duplicate of wokUtils:FILES:mkdir().
genproj.tcl - use osutils:usedOsLibs() for Code::Blocks.
src/OS - remove unused :LinksoWith() and :CompileWith().

adm/CMPLRS - remove unused CSF_ entities.
Remove config.h related code.
Add executable flag to codeblocks.sh and draw.sh scripts.
Setup ARCH variable using $tcl_platform(pointerSize).
wokdep:SearchLib() - use $tcl_platform(os) instead of $tcl_platform(platform)
for checking Linux-specific library paths.
wokdep:SearchFreeType() - fix misprint in ft2build.h header file name.
wokdep:SaveCustom() - export SHORTCUT_HEADERS to "custom.sh" as well, not only to "custom.bat".

8 years ago0026458: BRepBuilderAPI_Copy does not copy mesh structure
azv [Mon, 20 Jul 2015 11:23:56 +0000 (14:23 +0300)]
0026458: BRepBuilderAPI_Copy does not copy mesh structure

* The possibility to copy mesh is implemented. It may be enabled by copyMesh flag, by default it is disabled.
* Poly_Triangulation::Copy() method is added.
* The mesh is copied if and only if copyMesh flag is true.

8 years ago0026469: Methods Seek(), ChangeSeek() are missing in class NCollection_IndexedDataMap
pkv [Wed, 22 Jul 2015 11:11:36 +0000 (14:11 +0300)]
0026469: Methods Seek(), ChangeSeek() are missing in class NCollection_IndexedDataMap

I. New features:
1.1. class NCollection_IndexedDataMap
 - method:
 const TheItemType* Seek(const TheKeyType& theKey1) const
 has been added.
 The method Seek returns pointer to Item by Key.
 Returns NULL if Key was not found.

 - method:
 TheItemType* ChangeSeek (const TheKeyType& theKey1)
 has been added.
 The method ChangeSeek returns modifiable pointer to Item by Key.
 Returns NULL if Key was not found.

II. Changes:
 No changes.

III. Modified entities:
 packages:
 NCollection

8 years ago0026492: OpenGl_FrameBuffer does not releases itself correctly
duv [Tue, 28 Jul 2015 13:17:57 +0000 (16:17 +0300)]
0026492: OpenGl_FrameBuffer does not releases itself correctly

Logic related to myIsOwnBuffer flag in OpenGl_FrameBuffer was corrected.

8 years ago0026344: Visualization - provide a support of zoom persistent selection
apl [Mon, 20 Jul 2015 08:41:38 +0000 (11:41 +0300)]
0026344: Visualization - provide a support of zoom persistent selection

1) New Graphic3d_TransformPers structure for defining parameters and algorithm methods, featuring:
    a) application of transformation to projection and world view matrices;
    b) computation of model-world transformation of persistent object;
    c) computation of transformed bounding box of persistent object.

2) Transform persistence algorithm does not make any changes to model-world transformation of object (deals with projection and world view matrices only), thus making possible to employ local transformation in a usual way.

3) Support of BVH selection for transform persistent objects (pan, rotate, zoom, trihedron persistence only).

4) Support efficient frustum culling for transform persistent objects (pan, rotate, zoom, trihedron persistence only).

5) Support of z-fitting algorithm for world-view space transform persistent objects (rotate, zoom persistence only).

6) Rewrite usage of transform persistence structures and utilities classes:
    a) Replaced Graphic3d_CTransPers, TEL_TRANSFORM_PERSISTENCE by Graphic3d_TransformPers;
    b) Move functions from OpenGl_Utils.hxx to Graphic3d_TransformUtils.hxx;
    c) Extract matrix stack class from OpenGl_Utils.hxx to OpenGl_MatrixStack.hxx;

7) New class Graphic3d_WorldViewProjState to keep track of projection, world view matrices changes for a camera.

8) New test case bugs/vis/bug26344.

9) Renamed method Graphic3d_Camera::ModelViewState of  to ::WorldViewState for consistency.

8 years ago0026361: Visualization - move OpenGl_TextFormatter to Font_TextFormatter
isk [Wed, 29 Jul 2015 10:28:49 +0000 (13:28 +0300)]
0026361: Visualization - move OpenGl_TextFormatter to Font_TextFormatter
for usage without OpenGL.
Split OpenGl_TextFormatter into Font_TextFormatter and OpenGl_TextBuilder.
Font_TextFormatter can format a text independetly of OpenGl now.
OpenGl_TextBuilder generates primitive array required for rendering text
using OpenGl_Font instance.

8 years agoCorrected integration for issue 26393
bugmaster [Tue, 28 Jul 2015 17:55:48 +0000 (20:55 +0300)]
Corrected integration for issue 26393

8 years ago0026476: Visualization, TKOpenGl - do not enable GL_NORMALIZE in core profile
kgv [Fri, 24 Jul 2015 07:22:07 +0000 (10:22 +0300)]
0026476: Visualization, TKOpenGl - do not enable GL_NORMALIZE in core profile

8 years ago0026395: Merge clasees NCollection_CellFilter_NDim and NCollection_CellFilter
aml [Tue, 28 Jul 2015 09:18:04 +0000 (12:18 +0300)]
0026395: Merge clasees NCollection_CellFilter_NDim and NCollection_CellFilter

Deleted exceed class CellFilterNDim.
Now dimension count used as input parameter in NCollection_CellFilter.

minor corrections.

8 years ago0026479: Visualization, TKOpenGl - do not implicitly turn off stereo in OpenGl_Worksp...
kgv [Fri, 24 Jul 2015 11:05:35 +0000 (14:05 +0300)]
0026479: Visualization, TKOpenGl - do not implicitly turn off stereo in OpenGl_Workspace::RedrawImmediate()

8 years ago0025775: "Default Gradient Background" in V3d_Viewer has no effect in new created...
apl [Tue, 21 Jul 2015 18:29:09 +0000 (21:29 +0300)]
0025775: "Default Gradient Background" in V3d_Viewer has no effect in new created V3d_View.

8 years ago0026430: Visualization - segmentation fault in opened local context
vpa [Tue, 21 Jul 2015 14:04:42 +0000 (17:04 +0300)]
0026430: Visualization - segmentation fault in opened local context

- check for empty dataset in Select3D_SensitiveSet was added;
- test case for issue #26430

8 years ago0026401: Visualization - small boxes in front of big one disappear in perspective...
apl [Mon, 20 Jul 2015 17:26:05 +0000 (20:26 +0300)]
0026401: Visualization - small boxes in front of big one disappear in perspective view

8 years ago0026413: Visualization, SelectMgr_ViewerSelector - Pixel tolerance is overridden...
vpa [Mon, 20 Jul 2015 08:46:12 +0000 (11:46 +0300)]
0026413: Visualization, SelectMgr_ViewerSelector - Pixel tolerance is overridden by selection sensitivity

- now custom pixel tolerance from vselprecision is added to default sensitivity of the primitive;
- unnecessary field mytolerance was removed from SelectMgr_ViewerSelector;
- test case for issue #26413.

8 years ago0026323: Tolerance computing unification
nbv [Thu, 23 Jul 2015 13:43:37 +0000 (16:43 +0300)]
0026323: Tolerance computing unification

Computing is unified. ComputeFastTol3d() method was deleted.

If intersection result contains 3D- and corresponded two 2D-curves then tolerance will be computed with using BRepLib_CheckCurveOnSurface algorithm (check same-parameter).

If intersection result contains only 3D-curve (getting 2D-curve can be switched off by users) then tolerance will be computed with using GeomAPI_ProjectPointOnSurf algorithm (projects some point of 3D-curve on the surface and finds maximal distance).

Some workarounds have been deleted.

Some test case have been changed.

8 years ago0026019: Unstable behavior of test cases with operation mkvolume
emv [Wed, 15 Jul 2015 10:09:36 +0000 (13:09 +0300)]
0026019: Unstable behavior of test cases with operation mkvolume

The maps have been replaced with indexed maps to provide stability
of the algorithms based on the General Fuse algorithm.

8 years ago0026466: UnifySameDomain creates invalid result shape from valid input shape
isn [Tue, 28 Jul 2015 09:45:45 +0000 (12:45 +0300)]
0026466: UnifySameDomain creates invalid result shape from valid input shape

Test-case for issue #26466

8 years ago0026393: Add draw commands to evaluate history of modifications of BOP
emv [Tue, 28 Jul 2015 08:44:27 +0000 (11:44 +0300)]
0026393: Add draw commands to evaluate history of modifications of BOP

DRAW commands bmodified, bisdeleted, bgenerated have been implemented to track
the history of shapes modifications in Boolean and General Fuse operations.

Test-case for issue #26393

8 years ago0026392: Visualization, TKD3DHost - provide straight-forward base for integration...
kgv [Mon, 20 Jul 2015 08:08:12 +0000 (11:08 +0300)]
0026392: Visualization, TKD3DHost - provide straight-forward base for integration of TKOpenGl viewer into D3D-based application

D3DHost_GraphicDriver - new graphic driver providing D3D host for OpenGL workspace.
WNT_Window - handle virtual dimensions within virtual window.
OpenGl_FrameBuffer::Init() - add protection against 0 dimensions.
V3d_View::IsInvalidated() - add method to check view cache validation state.

ViewerTest::ViewerInit() - create virtual window without decorations on Windows.

8 years agoAdjusting test cases at new structure of OCCT
apv [Thu, 23 Jul 2015 08:46:13 +0000 (11:46 +0300)]
Adjusting test cases at new structure of OCCT

8 years ago0026468: Out of range exception on current master
aml [Wed, 22 Jul 2015 13:13:46 +0000 (16:13 +0300)]
0026468: Out of range exception on current master

Problem with different ranges fixed.

test cases update.

8 years ago0026310: Very slow boolean cut operations on cylinders
nbv [Wed, 22 Jul 2015 13:10:27 +0000 (16:10 +0300)]
0026310: Very slow boolean cut operations on cylinders

1. JoinWLines algorithm has been improved.
2. Reference to the V-boundaries is deleted when computing step.
3. Decreasing the tolerance when computing parameters of WLine.
4. Adding boundary point is forbidden if it lies in prolongation of found ones.
5. Possible reason of exception has been eliminated.
6. Processing of critical point has been improved.

Test cases for this issue have been created.
Correction of some test case(s).

Test case bugs/modalg_6/bug26310_4 is added

Update of test-cases for issue #26310

8 years ago0026454: Visualization, TKOpenGl - do not require deprecated function of GL_ARB_verte...
kgv [Fri, 17 Jul 2015 08:17:45 +0000 (11:17 +0300)]
0026454: Visualization, TKOpenGl - do not require deprecated function of GL_ARB_vertex_type_2_10_10_10_rev in core profile

8 years ago0026446: GeomConvert::ConcatC1 produces not expected curve
aml [Thu, 16 Jul 2015 09:10:38 +0000 (12:10 +0300)]
0026446: GeomConvert::ConcatC1 produces not expected curve

Concatenation fixed.

8 years ago0026435: Visualization - V3d_View::ConvertToGrid returns wrong coordinates for non...
apl [Tue, 14 Jul 2015 17:21:24 +0000 (20:21 +0300)]
0026435: Visualization - V3d_View::ConvertToGrid returns wrong coordinates for non-orthogonal projection

8 years ago0026418: Unjustified limitation on tolerance of a input shape in BRepOffset_MakeOffset
aml [Tue, 21 Jul 2015 08:19:14 +0000 (11:19 +0300)]
0026418: Unjustified limitation on tolerance of a input shape in BRepOffset_MakeOffset

Performance improvements and regression elimination.
Handling of degenerated case added.

Update of test-case offset faces_type_a A2 according to the new behavior
Test-case for issue #26418

8 years ago0026364: Foundation Classes, TKMath - Optimize BVH binned algorithm
dbp [Tue, 23 Jun 2015 09:34:06 +0000 (12:34 +0300)]
0026364: Foundation Classes, TKMath - Optimize BVH binned algorithm

8 years ago0026292: Visualization - Parallelize queue-based BVH builders (subclasses of BVH_Queu...
dbp [Fri, 17 Jul 2015 11:29:50 +0000 (14:29 +0300)]
0026292: Visualization - Parallelize queue-based BVH builders (subclasses of BVH_QueueBuilder)

8 years ago0026408: Exception during fixshape procedure.
gka [Tue, 21 Jul 2015 07:35:52 +0000 (10:35 +0300)]
0026408: Exception during fixshape procedure.

Attached invalid shape is represented by solid containing one face twice.
Protection from such case was added in ShapeFix_Shell class.
Creation of COMPSOLID was modified for case when shells composing COMPSOLID have the same shared faces in order to prevent hanging.
Small modification.Protection to avoid exception
Test-case for issue #26408

8 years ago0026424: Visualization, TKOpenGl - fix text rendering in core profile
kgv [Mon, 20 Jul 2015 17:58:55 +0000 (20:58 +0300)]
0026424: Visualization, TKOpenGl - fix text rendering in core profile

OpenGl_Context::init() - fix condition on initializing alien OpenGL context within core profile.
OpenGl_Font::renderGlyph() - use GL_RED data format in core profile.
OpenGl_Text::render() - do not use GL_ALPHA_TEST in core profile.

Test-case for issue #26424

8 years ago0026351: Wrong result found by the projection algorithm
aml [Wed, 24 Jun 2015 12:44:28 +0000 (15:44 +0300)]
0026351: Wrong result found by the projection algorithm

C2 continuity intervals changed to Knots intervals in case of Bspline curve.
Fixed incorrect extremaPC usage.

Test case for issue CR26351
Update of test-cases according to the new behavior

8 years ago0026423: Complete documentation of CPnts_AbscissaPoint Adv/Perform methods
BenjaminBihler [Mon, 20 Jul 2015 15:21:58 +0000 (18:21 +0300)]
0026423: Complete documentation of CPnts_AbscissaPoint Adv/Perform methods

8 years ago0026407: BRepMesh_Delaun should not take into account frontier edges on first pass...
oan [Mon, 20 Jul 2015 13:25:14 +0000 (16:25 +0300)]
0026407: BRepMesh_Delaun should not take into account frontier edges on first pass of algorithm

Correction of new vertices insertion: remove all triangles shot by point even if they contain frontier edges in order to prevent cases of free edge glued with frontier;
findNextPolygonLink: choose link with opposite direction to previous one as the last resort in case if the is no another option;
Enlarge bounding boxes by Precision::PConfusion() in order to not to miss possible intersections;

Test-case for issue #26407

Return NoIntersection in case of end point touch and isConsiderEndPointTouch flag is not set

Update of test-cases according to the new behavior

8 years ago0026308: Segmentation fault in BSplCLib::LocateParameter
nbv [Mon, 20 Jul 2015 12:23:00 +0000 (15:23 +0300)]
0026308: Segmentation fault in BSplCLib::LocateParameter

Detection of "jumping" knot value has been improved.
Test-case for issue #26308
Comment has been added in test case bugs/modalg_6/bug26308.

8 years ago0026406: BRepPrimAPI_MakeRevol crash when rotating Paraboloid face.
ifv [Mon, 20 Jul 2015 11:59:07 +0000 (14:59 +0300)]
0026406: BRepPrimAPI_MakeRevol crash when rotating Paraboloid face.

Test-case for issue #26406

8 years ago0026387: BRepPrimAPI_MakePrism crash when extruding Paraboloid face.
ifv [Mon, 20 Jul 2015 11:07:11 +0000 (14:07 +0300)]
0026387: BRepPrimAPI_MakePrism crash when extruding Paraboloid face.

Test-cases for issue #26387

8 years ago0025048: Wrong return value of GeomLib_Tool::Parameter
ifv [Fri, 10 Jul 2015 11:10:14 +0000 (14:10 +0300)]
0025048: Wrong return value of GeomLib_Tool::Parameter

8 years ago0026398: Tricheck command should be extended to show free nodes and links breaking...
oan [Mon, 20 Jul 2015 10:06:21 +0000 (13:06 +0300)]
0026398: Tricheck command should be extended to show free nodes and links breaking mesh consistency

Remark from MSV

8 years ago0026457: Failed build with OCCT_DEBUG enabled
abv [Fri, 17 Jul 2015 16:20:06 +0000 (19:20 +0300)]
0026457: Failed build with OCCT_DEBUG enabled

Debug code enabled with OCCT_DEBUG macro corrected for compiling with new handles.

QANCollection_Handle.cxx simplified so as to avoid need of using /bigobj option when building by Visual Studio; templates of project files, CMake projects, and test perf fclasses handle corrected accordingly.

Script genproj corrected to recognize VTK and to build DRAWEXE as executable (rather than DLL).

8 years ago0024002: Overall code and build procedure refactoring -- Mac OSX
abv [Fri, 17 Jul 2015 08:43:33 +0000 (11:43 +0300)]
0024002: Overall code and build procedure refactoring -- Mac OSX

Draw_Window_1.mm, Cocoa_Window.mm - fix compilation issues on OS X
CMake env.build.sh - fix libraries path

MSVC project templates - /bigobj flag added for all configurations (x64, x86, release and debug)

Standard_Type.hxx - enforce initialization of all type descriptors at library load

8 years ago0026453: NCollection_StlIterator - declare reference getters as const
kgv [Fri, 17 Jul 2015 06:44:38 +0000 (09:44 +0300)]
0026453: NCollection_StlIterator - declare reference getters as const

8 years ago0026448: Method Prepend() of sequence breaks it if argument is empty sequence
abv [Wed, 15 Jul 2015 21:34:02 +0000 (00:34 +0300)]
0026448: Method Prepend() of sequence breaks it if argument is empty sequence

Check for empty input sequence added in methods Append() and Prepend() of TCollection and NCollection sequences.

Test bugs fclasses bug26448 added

8 years ago0022827: Make non-CPP source files (CDLs, headers) to appear in MS VS project files...
ibs [Fri, 10 Jul 2015 10:44:52 +0000 (13:44 +0300)]
0022827: Make non-CPP source files (CDLs, headers) to appear in MS VS project files -- documentation

Generation of OCCT overview documentation added as building of "Overview" project.
BUILD_OCCT_OVERVIEW variable introduced to offer generation OCCT overview documentation in html format.
Overview md files added to overview OCCT project.

"Building with CMake" article updated; overview.html copy into an install directory.
CMAKE_BUILD_TYPE for single-configuration generators described; BUILD_CONFIGURATION removed.

8 years ago0024002: Overall code and build procedure refactoring - samples
apn [Fri, 10 Jul 2015 13:50:28 +0000 (16:50 +0300)]
0024002: Overall code and build procedure refactoring - samples

Modified MFC samples; minor fix in headers (for building products)

8 years ago0024786: Move functionality of WOK command wgenproj to OCCT tool genproj
ski [Wed, 9 Jul 2014 09:37:07 +0000 (13:37 +0400)]
0024786: Move functionality of WOK command wgenproj to OCCT tool genproj

WOK scripts used in generation of MSVC projects are put to adm/genproj.tcl
Batch script genproj.bat added, replacing 'wgenproj' command of WOK.

WOK tool for configuring custom.bat is also copied; it is called by genproj if custom.bat does not exist

Environment variable SHORTCUT_HEADERS can be defined in custom.bat to have headers put in inc just shortcuts to actual headers, instead of copies.
Corresponding option "copy OCCT short-cut headers instead of original one to inc folder" is added to genconf dialog

8 years ago0026389: The Visual Studio solution of OCCT generated by CMake should have all build...
ski [Wed, 8 Jul 2015 12:33:25 +0000 (15:33 +0300)]
0026389: The Visual Studio solution of OCCT generated by CMake should have all build configurations

the choice of OCCT build type moved to generated projects
debug library search removed from 3rdparty search mechanism
draw.bat receive 3 arguments: compiler, bitness and build type

8 years ago0022827: Make non-CPP source files (CDLs, headers) to appear in MS VS project files
ski [Mon, 19 Jan 2015 09:29:42 +0000 (12:29 +0300)]
0022827: Make non-CPP source files (CDLs, headers) to appear in MS VS project files

Header files(*.h, *.hxx, *.lxx, *.gxx) were included in Visual Studio projects.

8 years ago0026388: Setting debugging environment of the Visual Studio solution of OCCT generate...
ibs [Thu, 2 Jul 2015 13:55:21 +0000 (16:55 +0300)]
0026388: Setting debugging environment of the Visual Studio solution of OCCT generated by CMake

0. debugging environment added to DRAWEXE vcxproj
1. OCCT header files copied to inc directory of an installation folder. (the grouping of header files removed)
1. collect reference files of all OCCT header files in <binary dir>/inc during cmake configuration process
2. tcl installation procedure installs all dlls found in tcl bin folder (for win. this approach takes into account installing of zlib library that may be located in tcl bin folder)
4. each a OCCT project include just 3rdparty paths and <cmake binary dir>/inc folder

8 years ago0025114: CMake-based build tools for OCCT 7.0
ibs [Thu, 2 Jul 2015 15:17:54 +0000 (18:17 +0300)]
0025114: CMake-based build tools for OCCT 7.0

All CMake meta-projects for OCCT are put to OCCT code (including fragments previously generated by WOK).

"/bigobj" compiler flag added to TKQADraw because of the size of its object file

[GeomToStep & Graphic3d] private headers are included from current dir of including source file

8 years ago0024023: Revamp the OCCT Handle - non-cost reference cast
abv [Wed, 24 Jun 2015 21:45:56 +0000 (00:45 +0300)]
0024023: Revamp the OCCT Handle - non-cost reference cast

Code corrected to avoid passing object to function as non-const reference to handle of the base type where it is not necessary.

8 years ago0024023: Revamp the OCCT Handle - gcc and clang
abv [Fri, 3 Jul 2015 08:31:43 +0000 (11:31 +0300)]
0024023: Revamp the OCCT Handle - gcc and clang

Adaptations for compiling with GCC 4.7 and 4.8:
- Construction semantics is used for Handle objects being initialized by const Handle objects of derived type, to avoid overload resolution error in GCC 4.7.
- Missing includes added.
- Fixed bugs related to misuse of direct casts of handle.
- Eliminate CLang warnings on uninitialized and unused variables, functions, and expressions

8 years ago0024023: Revamp the OCCT Handle -- StepToGeom
abv [Fri, 3 Jul 2015 08:24:43 +0000 (11:24 +0300)]
0024023: Revamp the OCCT Handle -- StepToGeom

StepToGeom package refactored to avoid C-style casts of handles to derived types.

Instead of 45 classes, each defining single static method, it now defines 45 static methods in the main package class.
Results of conversion are returned in normal way rather than via function parameter.

Conflicts:
src/StepToGeom/StepToGeom_MakeSurfaceOfRevolution.cxx

8 years ago0024870: Provide OCCT RTTI test cases
abv [Tue, 30 Jun 2015 07:25:48 +0000 (10:25 +0300)]
0024870: Provide OCCT RTTI test cases

Test commands for checking performance and functionality of OCCT handles and RTTI added.
New test case added for that: test perf fclasses handle.

Implementation of opencascade::handle improved to enable compile-time error if two handles of incompatible types are compared.
Comparison of handle to NULL is not possible any more; method IsNull() should be used instead.

Method LDOM_MemManager::Doc() is removed to avoid cyclic dependency of headers; constructor of LDOM_Document(LDOM_MemManager&) is used directly instead.

Inclusion of headers corrected for compilation after previous patch.

8 years ago0024002: Overall code and build procedure refactoring -- manual
abv [Wed, 1 Jul 2015 14:13:27 +0000 (17:13 +0300)]
0024002: Overall code and build procedure refactoring -- manual

Documentation comments (mostly to package items, in package CDL) lost by CDL extraction are transferred to headers manually.
Some wrong comments (artifacts of CDL-generated code) are removed.
Missing header files added.
Yacc and Lex files removed from StepFile/FILES to avoid problems when building by WOK

Conflicts:
src/BRepOffsetAPI/BRepOffsetAPI_Sewing.hxx
src/Quantity/Quantity_AbsorbedDose.hxx
src/Quantity/Quantity_Acceleration.hxx
src/Quantity/Quantity_AcousticIntensity.hxx
src/Quantity/Quantity_Activity.hxx
src/Quantity/Quantity_Admittance.hxx
src/Quantity/Quantity_AmountOfSubstance.hxx
src/Quantity/Quantity_AngularVelocity.hxx
src/Quantity/Quantity_Area.hxx
src/Quantity/Quantity_Capacitance.hxx
src/Quantity/Quantity_CoefficientOfExpansion.hxx
src/Quantity/Quantity_Concentration.hxx
src/Quantity/Quantity_Conductivity.hxx
src/Quantity/Quantity_Consumption.hxx
src/Quantity/Quantity_Density.hxx
src/Quantity/Quantity_DoseEquivalent.hxx
src/Quantity/Quantity_ElectricCapacitance.hxx
src/Quantity/Quantity_ElectricCharge.hxx
src/Quantity/Quantity_ElectricCurrent.hxx
src/Quantity/Quantity_ElectricFieldStrength.hxx
src/Quantity/Quantity_ElectricPotential.hxx
src/Quantity/Quantity_Energy.hxx
src/Quantity/Quantity_Enthalpy.hxx
src/Quantity/Quantity_Entropy.hxx
src/Quantity/Quantity_Force.hxx
src/Quantity/Quantity_Frequency.hxx
src/Quantity/Quantity_Illuminance.hxx
src/Quantity/Quantity_Impedance.hxx
src/Quantity/Quantity_Inductance.hxx
src/Quantity/Quantity_KinematicViscosity.hxx
src/Quantity/Quantity_KineticMoment.hxx
src/Quantity/Quantity_Length.hxx
src/Quantity/Quantity_Luminance.hxx
src/Quantity/Quantity_LuminousEfficacity.hxx
src/Quantity/Quantity_LuminousExposition.hxx
src/Quantity/Quantity_LuminousFlux.hxx
src/Quantity/Quantity_LuminousIntensity.hxx
src/Quantity/Quantity_MagneticFieldStrength.hxx
src/Quantity/Quantity_MagneticFlux.hxx
src/Quantity/Quantity_MagneticFluxDensity.hxx
src/Quantity/Quantity_Mass.hxx
src/Quantity/Quantity_MassFlow.hxx
src/Quantity/Quantity_MolarConcentration.hxx
src/Quantity/Quantity_MolarMass.hxx
src/Quantity/Quantity_MolarVolume.hxx
src/Quantity/Quantity_Molarity.hxx
src/Quantity/Quantity_MomentOfAForce.hxx
src/Quantity/Quantity_MomentOfInertia.hxx
src/Quantity/Quantity_Momentum.hxx
src/Quantity/Quantity_PlaneAngle.hxx
src/Quantity/Quantity_Power.hxx
src/Quantity/Quantity_Pressure.hxx
src/Quantity/Quantity_Reluctance.hxx
src/Quantity/Quantity_Resistance.hxx
src/Quantity/Quantity_Resistivity.hxx
src/Quantity/Quantity_SolidAngle.hxx
src/Quantity/Quantity_SoundIntensity.hxx
src/Quantity/Quantity_SpecificHeatCapacity.hxx
src/Quantity/Quantity_Speed.hxx
src/Quantity/Quantity_SurfaceTension.hxx
src/Quantity/Quantity_Temperature.hxx
src/Quantity/Quantity_ThermalConductivity.hxx
src/Quantity/Quantity_Torque.hxx
src/Quantity/Quantity_Velocity.hxx
src/Quantity/Quantity_Viscosity.hxx
src/Quantity/Quantity_Volume.hxx
src/Quantity/Quantity_VolumeFlow.hxx
src/Quantity/Quantity_Weight.hxx
src/Quantity/Quantity_Work.hxx
src/V3d/V3d_Coordinate.hxx

8 years ago0024002: Overall code and build procedure refactoring -- automatic
abv [Sun, 12 Jul 2015 04:42:38 +0000 (07:42 +0300)]
0024002: Overall code and build procedure refactoring -- automatic

Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack

8 years ago0024023: Revamp the OCCT Handle -- ambiguity
abv [Thu, 2 Jul 2015 14:06:37 +0000 (17:06 +0300)]
0024023: Revamp the OCCT Handle -- ambiguity

Code corrected to avoid ambiguous situations due to changed implementation of Handle (overloaded methods accepting handles of different types).
In Adaptor3d_CurveOnSurface added method Load() with two parameters, allowing to avoid ambiguity of cast of handles when calling separate methods Load() for curve and surface, replacing by single call.
In DrawTrSurf and IGESData_IGESWriter, template variants of methods Set() and Send(), respectively, are added to avoid ambiguity when these methods are called with handles to derived types (using SFINAE).
In NCollection_DefineHSequence, method Append() accepting handle to another HSequence is made template, to be available only if argument has compatible type.

8 years ago0024023: Revamp the OCCT Handle -- downcast (manual)
abv [Thu, 2 Jul 2015 13:44:46 +0000 (16:44 +0300)]
0024023: Revamp the OCCT Handle -- downcast (manual)

Manual corrections of C-style casts of Handle types

8 years ago0024023: Revamp the OCCT Handle -- downcast (automatic)
abv [Thu, 2 Jul 2015 13:41:05 +0000 (16:41 +0300)]
0024023: Revamp the OCCT Handle -- downcast (automatic)

Automatic update by command "occt_upgrade . -downcast"

C-style cast of Handle to that of derived type (now illegal) is replaced by call to DownCast()
Const reference local variables of Handle type initialized by result of DownCast are replaced by normal variables.

8 years ago0024023: Revamp the OCCT Handle -- plugin
abv [Mon, 29 Jun 2015 06:17:43 +0000 (09:17 +0300)]
0024023: Revamp the OCCT Handle -- plugin

Definition of PLUGINFACTORY function changed to return Standard_Transient* instead of Handle(Standard_Transient), which cannot be returned by C-style function.
Default implementation of PLUGINFACTORY() instantiated by macro PLUGIN() is corrected accordingly.
Methods Factory() in persistence packages are made returning const & to handle; this is to reflect the fact that returned handle should point to existing object (usually statically allocated) rather than new one.

8 years ago0024023: Revamp the OCCT Handle -- GC
abv [Wed, 24 Jun 2015 21:39:28 +0000 (00:39 +0300)]
0024023: Revamp the OCCT Handle -- GC

Implementation of operator of type casting to resulting object simplified in classes of GC and GCE2d packages

8 years ago0024023: Revamp the OCCT Handle -- general
abv [Tue, 30 Jun 2015 07:25:12 +0000 (10:25 +0300)]
0024023: Revamp the OCCT Handle -- general

Missing headers added; includes of headers "Handle_...hxx" removed.

Misuses of macro Handle() and its use in typedefs corrected.

Alias classes Profile and Option are removed from IFSelect; ones defined in MoniTool are used directly.

Removed header files defining only Handle classes (except Image_PixMap_Handle.hxx)

Classes SelectMgr_BaseFrustum and now inherit Standard_Transient and can be manipulated by Handle (not NCollection_Handle)

Fixed reference-type local variable pointing to temporary object

Use of handle in conditional expressions and comparisons to NULL are replaced by call to method IsNull()