dbp [Thu, 13 Aug 2015 08:31:31 +0000 (11:31 +0300)]
0026421: Visualization - Incorrect text rendering in raytracing mode
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
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.
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.
isk [Mon, 17 Aug 2015 07:53:57 +0000 (10:53 +0300)]
0026403: Add missing Standard_EXPORT keyword in SelectMgr headers
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
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
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
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
stv [Fri, 31 Jul 2015 09:59:48 +0000 (12:59 +0300)]
0026508: Add the possibility to get label from XCAFPrs_AISObject.
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.
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
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
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.
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.
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&
vpa [Fri, 7 Aug 2015 12:45:52 +0000 (15:45 +0300)]
Compilation of VoxelDemo is fixed
msv [Fri, 31 Jul 2015 12:24:44 +0000 (15:24 +0300)]
Add directories build and install to ignore list.
mkv [Fri, 7 Aug 2015 08:06:21 +0000 (11:06 +0300)]
Adjusting testing case
ysn [Thu, 6 Aug 2015 13:20:50 +0000 (16:20 +0300)]
Sign added and some formatting changes
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
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
mkv [Tue, 4 Aug 2015 13:49:10 +0000 (16:49 +0300)]
0026442: Access violation in BRepOffset_MakeOffset
Test cases for issue CR26442
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
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).
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
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.
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
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
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
dbp [Thu, 30 Jul 2015 09:49:43 +0000 (12:49 +0300)]
0026437: Visualization - Improve path tracing rendering engine
Fix compile warnings.
apv [Wed, 29 Jul 2015 13:38:31 +0000 (16:38 +0300)]
0026496: Error in use the BRepCheck_Analyzer
Test-case for issue #26496
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.
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
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
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
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
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
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
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).
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".
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.
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
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.
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.
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.
bugmaster [Tue, 28 Jul 2015 17:55:48 +0000 (20:55 +0300)]
Corrected integration for issue 26393
kgv [Fri, 24 Jul 2015 07:22:07 +0000 (10:22 +0300)]
0026476: Visualization, TKOpenGl - do not enable GL_NORMALIZE in core profile
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.
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()
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.
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
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
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.
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.
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.
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
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
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.
apv [Thu, 23 Jul 2015 08:46:13 +0000 (11:46 +0300)]
Adjusting test cases at new structure of OCCT
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.
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
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
aml [Thu, 16 Jul 2015 09:10:38 +0000 (12:10 +0300)]
0026446: GeomConvert::ConcatC1 produces not expected curve
Concatenation fixed.
apl [Tue, 14 Jul 2015 17:21:24 +0000 (20:21 +0300)]
0026435: Visualization - V3d_View::ConvertToGrid returns wrong coordinates for non-orthogonal projection
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
dbp [Tue, 23 Jun 2015 09:34:06 +0000 (12:34 +0300)]
0026364: Foundation Classes, TKMath - Optimize BVH binned algorithm
dbp [Fri, 17 Jul 2015 11:29:50 +0000 (14:29 +0300)]
0026292: Visualization - Parallelize queue-based BVH builders (subclasses of BVH_QueueBuilder)
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
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
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
BenjaminBihler [Mon, 20 Jul 2015 15:21:58 +0000 (18:21 +0300)]
0026423: Complete documentation of CPnts_AbscissaPoint Adv/Perform methods
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
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.
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
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
ifv [Fri, 10 Jul 2015 11:10:14 +0000 (14:10 +0300)]
0025048: Wrong return value of GeomLib_Tool::Parameter
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
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).
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
kgv [Fri, 17 Jul 2015 06:44:38 +0000 (09:44 +0300)]
0026453: NCollection_StlIterator - declare reference getters as const
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
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.
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)
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
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
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.
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
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
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.
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
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
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.
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
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
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.
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
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.
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.
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