ibs [Fri, 27 Nov 2015 10:03:25 +0000 (13:03 +0300)]
0026229: Add the possibility in OCAF to open/save a document from/to a stream object
TDocStd_Application class extended to open/save a document of XmlOcaf and BinOcaf format
from/to standard SEEKABLE stream object which should support SEEK functionality.
Open and SaveAs DRAW commands got new additional argument "-stream" to turn on using of stream functionality.
The main changes for BinOcaf format applied in:
FSD_BinaryFile class (static method using standard stream added)
BinLDrivers_DocumentRetrievalDriver and BinLDrivers_DocumentStorageDriver classes use standard stream object as an argument
The main changes for XmlOcaf format applied in:
LDOMParser and LDOM_XmlWriter classes use standard stream object as an argument
Unused class FSD_Archive and its siblings removed from MFC samples.
nbv [Tue, 15 Dec 2015 13:24:31 +0000 (16:24 +0300)]
0026576: Wrong result obtained by intersection algorithm.
1. Algorithm of Restriction line decomposition has been created.
2. Algorithm of check of coincidences between Walking and Restriction line has been improved in new function IsCoincide(...) (which replaces IsIn2DBox(...)).
3. Some useful methods have been added in IntPatch_PointLine (and inherited) classes.
Test cases for this issue have been created.
gka [Fri, 11 Dec 2015 08:01:27 +0000 (11:01 +0300)]
0024595: STEP import missing surfaces
Modification to create natural bounds for face based on the spherical and Bspline surface and having only one bound represented by Vertex loop was made.
According to the specification of ISO-10303 part 42:
"If the face has only one bound and this is of type vertex_loop, then the interior of the face is the domain of the face_surface.face_geometry. In such a case the underlying surface shall be closed (e.g. a spherical_surface.)"
- natural bounds are applied only in case if VertexLoop is only the one
defined face bound.
Update of test-cases according to the new behavior
Test-case for issue #24595
ski [Fri, 11 Dec 2015 12:29:23 +0000 (15:29 +0300)]
0026888: Crash in Java ImportExport sample on shape deleting
Corrected behaviour of 3d viewer after shape deleting in qt samples.
Corrected behaviour of toolbar buttons after shape deleting in csharp samples.
ski [Tue, 27 Oct 2015 09:51:21 +0000 (12:51 +0300)]
0016472: Improve environment scripts for samples
Output directory for binaries of CSharp samples was corrected.
Common run.bat was created for CSharp samples.
Behaviour of run.bat file from mfc samples was extended.
Recovered separate run_*.bat files for each sample in CSharp sample.
ysn [Wed, 2 Dec 2015 14:55:00 +0000 (17:55 +0300)]
0026212: There are some problems with location of text and images on pages
Fixes to improve layout of images and formula in generated PDF documentation.
vpa [Fri, 11 Dec 2015 08:35:59 +0000 (11:35 +0300)]
0026959: Visualization - cannot select edge of the shape
- polygonal representation of the edge is used for sensitive entity computation regardless of requested deflection;
- test case for issue #26959
Adjusting test case
nbv [Fri, 11 Dec 2015 14:53:43 +0000 (17:53 +0300)]
0026841: Boolean operation "bsection" produce invalid result on the attached cases
1. Intersection curve was not bounded by faces domain. It was the reason of big edge tolerance. This problem has been fixed.
2. Interface bopcurves DRAW-command has been changed in order to make possible to reproduce intersection problem.
Creation of test case for this issue.
gka [Wed, 9 Dec 2015 08:00:13 +0000 (11:00 +0300)]
0026708: Fix shape did not fix attached shape. Seam edge was not added to the attached periodic face.
Added taking into account crossing seam edge during collection of the wires in the ShapeFix_ComposeShell.cxx
Test script for bug
0026708.
kgv [Tue, 15 Dec 2015 09:14:41 +0000 (12:14 +0300)]
0026995: Visualization, TKXCAF - do not reset custom material within XCAFPrs_AISObject::Compute()
Assign default material in class constructor instead.
vro [Wed, 9 Dec 2015 07:18:28 +0000 (10:18 +0300)]
0023465: Weird InsertBefore, InsertAfter and Remove methods in TDataStd lists
abv [Sun, 13 Dec 2015 10:21:54 +0000 (13:21 +0300)]
0026988: Fresh compiler warnings (VC++ 14, GCC 5.2.1, CLang 3.6.2)
Compiler warnings eliminated:
- VC++: potential use of uninitialized variable
- GCC: potential use of uninitialized variable [-Wmaybe-uninitialized], redundant const on return value [-Wignored-qualifiers]
- CLang: missing override specifier on overloaded virtual function [-Winconsistent-missing-override], function call within typeid() [-Wpotentially-evaluated-expression]
abv [Sat, 12 Dec 2015 16:07:35 +0000 (19:07 +0300)]
0026551: Optimization of initialization of OCCT RTTI
Global instances of type descriptors are eliminated as unnecessary
Roman Lygin [Sun, 22 Nov 2015 10:54:39 +0000 (14:54 +0400)]
0026913: Vulnerable mechanism in Standard_Type leads to assert
vpa [Fri, 11 Dec 2015 17:04:19 +0000 (20:04 +0300)]
0026945: Visualization - selection does not work after closing one of local contexts in stack
- added method to restore selection of local context;
- activated standard modes are added to local status now;
- test case for issue #26945
isk [Fri, 11 Dec 2015 16:29:09 +0000 (19:29 +0300)]
0026984: Draw Harness, ViewerTest - preserve local transformation of presentation within vtexture command
msv [Tue, 8 Dec 2015 13:01:26 +0000 (16:01 +0300)]
0026967: BRepFill_OffsetWire should not copy plane if Alt == 0.0
In the class BRepFill_OffsetWire the base plane is not copied anymore if altitude parameter is equal to zero.
mkv [Thu, 10 Dec 2015 12:24:35 +0000 (15:24 +0300)]
0023666: Wrong section curve between attached faces
Test case for issue CR23666
Small correction of test case in accordance with changes of issue 25945
mkv [Thu, 10 Dec 2015 13:16:55 +0000 (16:16 +0300)]
0026523: Wrong result of section algorithm
Small correction of test case in accordance with changes of issue 25945
isk [Wed, 25 Nov 2015 08:35:38 +0000 (11:35 +0300)]
0026892: Visualization, TKOpenGl - support 3D textures within OpenGl_Texture
Add a new arbTexFloat extension in OpenGl_Context.
Add a new prototype glTexImage in OpenGl_GlFunctions.
Push error message if glTexImage3D is unavailable.
isk [Thu, 10 Dec 2015 11:18:38 +0000 (14:18 +0300)]
0026975: Visualization, TKOpenGl - handle triangle strips correctly within Ray-Tracing core
mkv [Thu, 10 Dec 2015 12:04:01 +0000 (15:04 +0300)]
0025342: [Regression] BRepAlgoAPI_Section returns wrong number of edges
Test case for issue CR25342
mkv [Thu, 10 Dec 2015 12:53:28 +0000 (15:53 +0300)]
0026334: BRepOffsetAPI_MakePipeShell returns the wrong shape
mkv [Thu, 10 Dec 2015 12:39:54 +0000 (15:39 +0300)]
0026188: Incorrect PCurve creation
Test case for issue CR26188
mkv [Thu, 10 Dec 2015 12:46:29 +0000 (15:46 +0300)]
0026327: Performance degradation from version 6.8.0 on Boolean operations
Test case for issue CR26327
nbv [Tue, 8 Dec 2015 12:46:26 +0000 (15:46 +0300)]
0026896: Wrong result of bsection algorithm
Creation test cases for this issue
Small correction of test cases
nbv [Tue, 8 Dec 2015 10:52:30 +0000 (13:52 +0300)]
0026848: Result of BO depends on arguments order
Correction test case for this issue
Test cases for CR26848
mkv [Thu, 10 Dec 2015 12:32:33 +0000 (15:32 +0300)]
0026427: Draft angle algorithm produces wrong shape
Test case for issue CR26427
ski [Fri, 11 Dec 2015 08:35:18 +0000 (11:35 +0300)]
Modification of test cases in accordance with changes of issue 25945
msv [Wed, 9 Dec 2015 07:09:35 +0000 (10:09 +0300)]
0026970: Update MSVC visualizers to support 7.0 handles and something more
Changes:
- make shorter visualization of handles: change word 'count' to 'cnt'
- add visualization of hex value of entity in handles
- add visualization of classes:
opencascade::handle<*>
NCollection_Sequence<*>
TColStd_Array1OfInteger
TColStd_Array1OfReal
TColStd_Array2OfInteger
TColStd_ListOfInteger
TColStd_ListOfReal
BRep_ListOfCurveRepresentation
TopoDS_Shape
TopoDS_TShape
BOPDS_Pave
BOPDS_PaveBlock
ysn [Wed, 9 Dec 2015 11:55:16 +0000 (14:55 +0300)]
0026926: Small mistake in the exceptions part of Foundation Classes User's Guide
A minor clarification
ski [Tue, 8 Dec 2015 10:04:06 +0000 (13:04 +0300)]
0025945: Make stable checking of shape global properties in tests
- Added function checkprops, set default tolerance parameter to 1.0e-4
- Using "area" instead of "square".
- Options "-equal\notequal" isn't used together with "-s" in blend and offset test cases.
- Correct regressions/differences/improvements and CPU problem (set props tolerance to 0.1)
- Corrected test cases to use checkprops proc.
- Correct image difference
- Updated TODOs in test cases.
- Updated test cases to get correct images of result shape
nbv [Tue, 8 Dec 2015 14:25:50 +0000 (17:25 +0300)]
0024417: BRepAlgoAPI_Section fails on attached shapes
Creation test case for this issue
emv [Tue, 8 Dec 2015 15:05:07 +0000 (18:05 +0300)]
0026955: Invalid result of General Fuse operation
Running Solid Classifier algorithm with correct tolerance for point.
szy [Tue, 1 Dec 2015 15:26:55 +0000 (18:26 +0300)]
0026290: It is neccessary to separate visualization part from TKCAF
- Package TPrsStd is moved into new toolkit TKVCAF. This is the only toolkit in OCAF that depends on visualization libraries.
- All persistent data stored in TPrsStd_AISPresentation attribute are moved to new attribute TDataXtd_Presentation, which is maintained automatically on the same label as TPrsStd_AISPresentation.
All parameters used by TPrsStd_AISPresentation are stored in corresponding TDataXtd_Presentation attribute.
- TPrsStd_AISPresentation is not stored in file any more; when OCAF document is loaded from a file, these attributes are created at all labels where TDataXtd_Presentation attribute is located, by TPrsStd_AISViewer::New().
- File src/StdResources/MigrationSheet.txt necessary for reading files written by previous versions of OCCT (lost in one of previous integrations) is restored and updated as necessary to handle this change (defines replacement of TPrsStd_AISPresentation by TDataXtd_Presentation). Environment variable CSF_MIGRATION_TYPES should be defined, pointing to this file.
- Packages BinMPrsStd and XmlMPrsStd are removed; their drivers are moved into BinMDataXtd and XmlMDataXtd respectively.
- Version numbers of BinOCAF and XmlOCAF formats are increased, new files cannot be read by previous versions of OCCT
- New tests added
- Adding new TKVCAF toolkit in sample projects
- Restore IsDisplayed(false) in TPrsStd_AISPresentation::Erase()
emv [Wed, 9 Dec 2015 07:43:39 +0000 (10:43 +0300)]
0026971: Test cases for Set-45
emv [Fri, 4 Dec 2015 09:34:24 +0000 (12:34 +0300)]
0026954: Test cases for Set-44
The cases for the customer's set Set-44.
emv [Fri, 4 Dec 2015 08:46:37 +0000 (11:46 +0300)]
0026952: Test cases for Set-41
The cases for the customer's set Set-41.
emv [Fri, 4 Dec 2015 09:15:23 +0000 (12:15 +0300)]
0026953: Test cases for Set-43
The cases for the customer's set Set-43.
Istvan Csanady [Thu, 3 Dec 2015 16:13:08 +0000 (17:13 +0100)]
0026949: Geom(2d)Adaptor_Curve/Surface should not do down casts in evaluation
Prevent downcasting in curve evaluation in GeomAdaptor classes
abv [Fri, 4 Dec 2015 11:15:06 +0000 (14:15 +0300)]
0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- automatic
Automatic restore of IMPLEMENT_STANDARD_RTTIEXT macro (upgrade -rtti)
abv [Mon, 30 Nov 2015 04:49:48 +0000 (07:49 +0300)]
0026936: Drawbacks of inlining in new type system in OCCT 7.0 -- manual
Restored possibility to have out-of-line implementation of DynamicCast() and STANDART_TYPE():
- Macro STANDARD_TYPE() now resolves to function get_type_descriptor() of the class
- Macro DEFINE_STANDARD_RTTI is replaced by two variants:
- DEFINE_STANDARD_RTTI_INLINE works as before, defining DynamicCast() and get_type_descriptor() as inline functions
- DEFINE_STANDARD_RTTIEXT declares DynamicCast() and get_type_descriptor() as exported
- Macro IMPLEMENT_STANDARD_RTTIEXT provides definition of DynamicCast() and get_type_descriptor() for a class
Upgrade script amended to replace DEFINE_STANDARD_RTTI by pair of DEFINE_STANDARD_RTTIEXT / IMPLEMENT_STANDARD_RTTIEXT if source file with the same name as header is found in the same folder, and by DEFINE_STANDARD_RTTI_INLINE if either source is not found or class is defined in the source (i.e. not in header)
Upgrade tool improved to recognize include statements with path prefix, like #include <occt/gp_Pnt.hxx>
Code corrected to eliminate warnings reported by upgrade tool.
Template of CXX file for testing upgrade tool added.
Documentation of upgrade procedure updated.
ika [Tue, 10 Nov 2015 08:58:29 +0000 (11:58 +0300)]
0026859: Export of GDT from XCAF to STEP
Export/Import:
Add export of dimensions, geometric tolerances and datums, according to AP242.
Add missing STEP entities.
Corrections.
XCAF:
Add new attributes to Datum object: DatumTargetNumber.
Supplement enum XCAFDimTolObjects_GeomToleranceZoneModif.
Corrections.
Test cases:
gdt export A1
gdt export A2
gdt export A3
gdt export A4
gdt export A5
nbv [Tue, 10 Nov 2015 07:31:19 +0000 (10:31 +0300)]
0026431: Can't cut a sphere from a cylinder
This branch contains fixes for 26675 and 26431 bugs.
1. Normalization has been eliminated.
2. Interfaces of AppDef_Compute::Parametrization(...) and BRepAlgo_BooleanOperations::SetApproxParameters() methods have been changed.
3. Overloaded methods for ApproxInt_Approx::SetParameters(...), TopOpeBRepTool_GeomTool::GetTolerances(...) and TopOpeBRepTool_GeomTool::SetTolerances(...) have been removed (because some fields of these classes are not used more).
4. Comments for some methods have been changed in BRepApprox_TheMultiLineOfApprox.hxx and GeomInt_TheMultiLineOfWLApprox.hxx files.
5. Some fields have been deleted from ApproxInt_MultiLine class. Kept members have become constant.
6. Interface of ksection DRAW-command has been changed.
7. Now, 2dintersect DRAW-command prints information about found segments.
8. Some code fragments have been rewritten to make them easier.
9. Algorithm of splitting WLine, which goes through pole of sphere has been improved.
10. Improve approximation algorithm in order to it will compute correct 2D- and 3D-tangent at the end of bezier constraints (including case when curve goes through or finishes on singular points).
11. Interface of IntPatch_WLine::Dump(...) method has been corrected.
12. Some methods for working with Walking-line are made more universal (available for both GeomInt and IntTools packages).
13. Problem in BRepLib::SameParameter(...) method has been fixed (see corresponding comment).
14. Small correction in Draft package.
15. Any outputs in IntPatch_Intersection::Dump(...) method have become disabled because they are useless. If anybody need in this outputs he/she will correct this method himself/herself.
Adjusting some test cases according to their new behavior.
Creation of new test cases.
----------------------------------------------------------------------------------------------------------------------------
Some explanation of new behavior of some test cases:
1. Regressions:
a) blend simple X4
The problem is described in the issue #
0026740. According to this description, the result on the current MASTER seems to be wrong indeed.
b) boolean bcommon_complex C7 and boolean bcut_complex Q1
These test case use same shapes with different Boolean operation (COMMON and CUT). They are already BAD (on the MASTER). Now, some sub-shapes have become not-shared, simply. In my opinion, we shall apply new behavior of these tests.
c) boolean bsection M3
The problem described in the issue #
0026777 exists even on the current MASTER.
d) boolean bsection M9
The problem is described in the message http://tracker.dev.opencascade.org/view.php?id=26815#c47546. Here, we have really regression in the picture.
e) boolean bsection N2
The problem is described in issue #
0026814.
f) boolean volumemaker G1
The problem is described in issue #26020.
g) bugs modalg_1 bug1255 (and bug1255_1)
The problem is described in issue #26815.
h) bugs modalg_2 bug5805_18, bugs modalg_2 bug5805_42, bugs modalg_2 bug5805_46
The problem is described in issue #25925.
i) bugs modalg_3 bug602
The problem is describes in issue #602.
j) bugs modalg_5 bug24915
The problem is described in the message http://tracker.dev.opencascade.org/view.php?id=25929#c48565. It is not fixed by this issue.
k) bugs modalg_5 bug25838
The main reason is described in issue #
0026816.
----------------------------------------------------------------------------
2. Improvements:
a) boolean volumemaker F9
b) bugs modalg_1 bug10160_3
c) bugs modalg_2 bug22557
d) bugs modalg_5 bug25319_1 (_2)
e) draft angle G2
f) offset shape A1
g) offset with_intersect_80 N7
aml [Tue, 10 Nov 2015 06:57:03 +0000 (09:57 +0300)]
0025929: Make Approx_ComputeLine algorithm adaptive
Adaptive partition algorithm of WLine is implemented and used in ApproxInt_Approx.gxx file.
Refactoring of ApproxInt_Approx class.
Test cases are updated to the new behaviour.
Filtering algorithm improved.
abv [Thu, 3 Dec 2015 14:58:57 +0000 (17:58 +0300)]
CSF_TBB added for toolkits that need to link to TBB
ski [Thu, 3 Dec 2015 09:28:58 +0000 (12:28 +0300)]
0026902: Configuration, CMake - tests is not installed after definition INSTALL_OCCT_TEST_CASES option
Variables responsible for installation of tests and samples were renamed
mgn [Wed, 2 Dec 2015 13:39:55 +0000 (16:39 +0300)]
0026922: Huge performance issue writing data to the output stream
Test case for issue CR26922
Correction of literal (char to string)
kgv [Tue, 1 Dec 2015 10:53:51 +0000 (13:53 +0300)]
0026940: Visualization, TKOpenGl - capping plane should be applied to connected structures
OpenGl_Structure::Render(), OpenGl_CappingAlgo::RenderCapping() - render
groups of instanced and this structure in the same manner
using ::renderGeometry() and ::renderClosedGeometry() instead of ::DrawGroups().
Skip capping algo for structures without groups of closed primitives.
azv [Fri, 6 Nov 2015 05:49:50 +0000 (08:49 +0300)]
0026838: Using GeomEvaluators for calculation of values of curves
1. Implemented evaluators for 2D and 3D offset curves
2. Removed obsolete namespace CSLib_Offset
Update of UDLIST (adding no-cdl-pack Geom2dEvaluator)
Update TKG2d/CMakeLists.txt after rebase
Correction compilation in debug mode
apl [Tue, 17 Nov 2015 15:54:25 +0000 (18:54 +0300)]
0026658: Unexpected selection in the context using a selection filter.
Method AIS_LocalContext::ClearOutdatedSelection() fixed. Now it chooses "mylastindex" value from list of filtered detected owners. The topmost detected owner will be highlighted if the current detected owner was cleared as outdated.
BUC26658 command to check the bug fix in DRAW.
append a test script to automatically check the bug in DRAW.
warnings correction.
apl [Thu, 19 Nov 2015 08:16:14 +0000 (11:16 +0300)]
0026792: Visualization, Graphic3d - Z-fit support for transform persistence is missing after removing Visual3d_View
Add missing code for z-fit support for zoom, rotate persistent object.
Fixed wrong statement that should enable frustum culling optimization for zoom, rotate persistent object.
Fixed BVH_LinearBuilder.lxx to correctly control number of items in leaf node for a case of items with equal bounding boxes.
Added non-regression test case for z-clipping of transform persistent objects.
azv [Mon, 2 Nov 2015 06:33:04 +0000 (09:33 +0300)]
0023620: Follow up of
0022939 - make Bezier curve/surface evaluation thread-safe
1. Remove cache from Geom_BezierCurve, Geom2d_BezierCurve and Geom_BezierSurface
2. Add cache for Bezier curves into GeomAdaptor_Curve, Geom2dAdaptor_Curve and GeomAdaptor_Surface
3. Update comments in corresponding cache classes
4. Avoid frequent down-casting to B-splines in adaptors
azv [Tue, 24 Nov 2015 11:42:20 +0000 (14:42 +0300)]
0026914: [Regression 7.0alpha] Hang in surface approximation
Change a constructor of evaluator for offset surfaces
Test-case for issue #26914
ika [Fri, 6 Nov 2015 08:47:53 +0000 (11:47 +0300)]
0026451: Crash importing STeP file
Add check for NULL.
kgv [Mon, 23 Nov 2015 11:16:08 +0000 (14:16 +0300)]
0026915: Visualization - return Handle from Graphic3d_CView::FBOCreate() instead of a pointer
OpenGl_View::FBO() - use copy Handle constructor for compatibility.
osa [Tue, 24 Nov 2015 12:26:34 +0000 (15:26 +0300)]
0026348: Visualization, TKOpenGl - eliminate invalid NULL checks for transformation matrix
Graphic3d_CStructure::Transformation - use Graphic3d_Mat4 instead of plain arrays.
Drop duplicating field OpenGl_Structure::myTransformation (copy of Graphic3d_CStructure::Transformation).
Drop unused property Graphic3d_CStructure::Composition and Graphic3d_Structure::Composition().
vro [Tue, 24 Nov 2015 05:56:17 +0000 (08:56 +0300)]
0026005: Problem with transient TFunction_Logbook
azv [Fri, 20 Nov 2015 13:00:06 +0000 (16:00 +0300)]
0026897: BRepBuilderAPI_Copy does not copy polygons
1. Implemented copying for 3D polygons and polygons on surfaces
2. Added test case bugs/modalg_6/bug26897
isk [Thu, 19 Nov 2015 12:31:24 +0000 (15:31 +0300)]
0026891: Visualization, TKOpenGl - define more texture types within OpenGl_TextureFormatSelector
vpa [Fri, 20 Nov 2015 11:10:52 +0000 (14:10 +0300)]
0026905: Visualization - cosmetic fixes in selection methods of AIS_InteractiveContext
- selection mode in AIS_InteractiveContext::AddOrRemoveSelected is corrected;
- AIS_InteractiveContext::IsSelected returns object's state instead of global status.
azv [Tue, 17 Nov 2015 13:46:32 +0000 (16:46 +0300)]
0026871: [Regression in 6.9.0] Projecting a curve hangs inside Approx_FitAndDivide2d
Fix checking of B-spline parametrization speed
Test case for issue CR26871
nbv [Wed, 18 Nov 2015 08:01:12 +0000 (11:01 +0300)]
0026884: Cylinder/Cylinder intersection algorithm throws an exception
Check, if cylinder axes are parallel is made more carefully.
This check is brought to conformity with check if axes are parallel (see constructor AxeOperator::AxeOperator(...) in IntAna_QuadQuadGeo.cxx file)
Test case for issue CR26884
rkv [Mon, 9 Nov 2015 14:49:42 +0000 (17:49 +0300)]
0026625: Possible wrong use of vtkSmartPointer<T> in IVtkVTK_ShapeData.cxx
Use vtkSmartPointer<XXX>::New() instead of XXX::New() when initializing fields of vtkSmartPointer<XXX> types.
aba [Tue, 10 Nov 2015 06:49:39 +0000 (09:49 +0300)]
0025549: Visualization - do not crash on attempt to display the Angle dimension between two parallel lines
- Handle cases of 0 and Pi angle depending on lines in edges and end points
Draw arcs in accordance with input normal for minimum angle, check correctness of input circle parameters
bugmaster [Tue, 24 Nov 2015 13:36:34 +0000 (16:36 +0300)]
Redirection of generation reference documentation from source files
bugmaster [Tue, 24 Nov 2015 12:25:47 +0000 (15:25 +0300)]
Copy env.bat file from adm/templates
abv [Fri, 20 Nov 2015 18:04:11 +0000 (21:04 +0300)]
0026912: CLang 3.6.2 compiler warning [-Winconsistent-missing-override]
ibs [Sat, 21 Nov 2015 10:46:04 +0000 (13:46 +0300)]
0026911: Configuration, CMake - strips symbol information from the binary in release configuration if the compiler is a variant of gcc
add strip flag when the compiler is a variant of gcc
ibs [Wed, 11 Nov 2015 14:48:18 +0000 (17:48 +0300)]
0026861: Configuration, CMake - enable -Wall warnings when using CLang
-Wall warning option added for CLang compiler
ibs [Mon, 16 Nov 2015 11:05:54 +0000 (14:05 +0300)]
0026903: Configuration, CMake - 3rdparty search algorithms should have the same logic
the search algorithms fitted with one logic.
3rdparty_dir is not specified by-default
3rdparty_<name>_dir has higher priority than 3rdparty_dir
frameworks are considered on Mac OS;
CMake - continue method (cmake version >= 3.2) removed
vtk installation disabled
Mac OS X - link /usr/X11/lib if X11 library is linked
FILES parsing optimized
search X11 package for every time when it used on MAC
CSF_XwLibs used by a toolkit using Tk
break a package processing if all the files from FILES file have been processed
ibs [Tue, 10 Nov 2015 08:49:08 +0000 (11:49 +0300)]
0026865: Configuration, CMake - ensure consistency between FILES and actual content of inc and src folders
headers from inc folder are being checked for using in further building process
parse FILES file to collect header files for inc folder
during cleaning inc folder, do not remove the headers with name not containing their package name
FILES is parsed not only for headers files
Warning is emitted when a file in folder is not involved to corresponding FILES file
lex and yacc file added StepFile/FILES file
Small correction
ibs [Thu, 12 Nov 2015 12:28:34 +0000 (15:28 +0300)]
0026880: Configuration, CMake - platform dependent code is not generated
several misprints fixed (upper case, sorting of empty list, empty parent directory)
CMake should consider CSF_ variables from EXTERNLIB file for each toolkit
CSF_ variables are defined in occt_csf for each OS
redundant CSF removed
Conflicts:
src/TKG3d/CMakeLists.txt
ibs [Thu, 12 Nov 2015 09:55:22 +0000 (12:55 +0300)]
0026858: Configuration - cmake wrong detected TK folder
regex template for 3rdparty folder changed
the sensitive case of comparison of two folders fixed
abv [Thu, 19 Nov 2015 12:20:39 +0000 (15:20 +0300)]
0000670: Problem with the Print method.
Test for issue #670 corrected to avoid unpredictable behavior
rkv [Mon, 16 Nov 2015 14:43:25 +0000 (17:43 +0300)]
0026179: Coding rules - eliminate -Wdeprecated-declarations CLang warnings on tmpnam() usage
Make a temporary file using BuildTemporary() in "/tmp" folder on Linux or using "TEMP" environment variable on Windows.
Use the new OSD_File::Capture() method for standard output redirection.
emv [Fri, 30 Oct 2015 13:27:02 +0000 (16:27 +0300)]
0025926: 3D offset in mode "Complete" with Join type "Intersection"
Extension for colliding cases (Limited to work on planar cases only).
Test cases for issue CR25926
Update of test-cases according to the new behavior
isk [Wed, 18 Nov 2015 12:49:08 +0000 (15:49 +0300)]
0026890: Foundation Classes, TKernel - define OSD_OpenStream for std::ifstream
pdn [Tue, 8 Sep 2015 15:51:33 +0000 (18:51 +0300)]
0026664: Triangulating a very small polygon fails
Parameter for adaptive computation of minimal 2D meshing precision added in BRepMesh_IncrementalMesh API.
Corresponding option -adaptive added in DRAW command
All meshing parameters are collected in structure, BRepMesh_FastDiscret::Parameters, which is now used to define and manipulate parameters of the algorithm.
azv [Mon, 16 Nov 2015 12:48:07 +0000 (15:48 +0300)]
0026252: GeomAdaptor_Surface should use inner adaptor to calculate values of complex surfaces
* Implement GeomEvaluator package
* Inject evaluators to GeomAdaptor_Surface to calculate values of complex surfaces
* Inject evaluators to Geom_Surface classes to calculate values for offset surfaces, surfaces of revolution and surfaces of extrusion
* Move Adaptor3d_SurfaceOfLinearExtrusion and Adaptor3d_SurfaceOfRevolution to GeomAdaptor and unify calculation of their values and derivatives
* Code optimizations
* Update test cases
Update of test-cases according to the new behavior
ibs [Fri, 13 Nov 2015 13:51:47 +0000 (16:51 +0300)]
0026869: Documentation - simplify "Building with CMake and ADT on Android" article
ADT using removed. GNU make using added
Small corrections of title and image in documentation.
ski [Fri, 10 Jul 2015 07:52:53 +0000 (10:52 +0300)]
0026247: Too huge binaries are produced for Android platform using MinGW
Parameter "-s" was added to CMAKE_CXX_FLAGS_RELEASE and CMAKE_C_FLAGS_RELEASE to optimize size of binaries
abv [Sun, 15 Nov 2015 06:11:52 +0000 (09:11 +0300)]
0026872: Coding - pointless instantiations of local variables in BinTools
Instantiations of local stringstream variables used in error handling moved from upper function scope to places where they are actually needed
vpa [Fri, 13 Nov 2015 17:35:30 +0000 (20:35 +0300)]
0026870: Visualization - deactivated selections are not updated after object's re-computation
- update status in SelectMgr_SelectionManager::RecomputeSelection:
1) is set to full for all selections;
2) is switched to none only if selection was actually recomputed;
- test case for issue #26870
isk [Wed, 11 Nov 2015 05:50:04 +0000 (08:50 +0300)]
0026790: Visualization, TKOpenGl - apply view resolution to the line width in OpenGl_Context::SetLineWidth()
Add ResolutionRatio() method in the Graphic3d_RenderingParams.
Add SetResolutionRatio() method in the OpenGl_Context.
ibs [Mon, 9 Nov 2015 07:47:45 +0000 (10:47 +0300)]
0026867: Configuration - update any comparison including __cplusplus macro to remove one
__cplusplus >= 201103L replaced with __QNX__ macro
jgv [Tue, 10 Nov 2015 11:25:56 +0000 (14:25 +0300)]
0026681: BRepPrimAPI_MakeRevol creates faulty shape
Correction according to remarks
More precise processing of non-SameParameter edges
Correction of mistake
Test cases for issue CR26681
kgv [Thu, 12 Nov 2015 09:47:26 +0000 (12:47 +0300)]
0026862: Configuration - avoid usage of 3rd-party headers within OpenGl_View and D3DHost_View
Move Font_FTFont::Rect structure into dedicated header Font_FTFont.
D3DHost_View, OpenGl_Font, Font_TextFormatter - use forward declarations.
Fix regressions after #
0024776
OpenGl_View::IsInvalidated() - fix misprint.
D3DHost_View::Redraw() - assign myFBO before rendering.
D3DHost_FrameBuffer::Init() - fix always zero viewport.
ifv [Thu, 29 Oct 2015 12:39:20 +0000 (15:39 +0300)]
0024890: Result of uniform scaling is invalid
Test case for issue CR24890
nbv [Fri, 13 Nov 2015 11:49:25 +0000 (14:49 +0300)]
Current MASTER is not built if OCCT_DEBUG macros is enabled
bugmaster [Thu, 12 Nov 2015 11:43:38 +0000 (14:43 +0300)]
Cosmetic correction
aba [Wed, 11 Nov 2015 10:41:59 +0000 (13:41 +0300)]
0026056: AIS_LengthDimension can not build dimension for face-edge or edge-face
- Correct AIS_LengthDimension::InitEdgeFaceLength() method to support face-edge and edge-face cases
- Correct test command to support face-edge and edge-face input geomerty without custom plane
ifv [Tue, 10 Nov 2015 15:12:55 +0000 (18:12 +0300)]
0026857: Documentation for methods Geom_BSplineSurface::SetU(V)NotPeriodic is wrong
emv [Mon, 9 Nov 2015 15:50:15 +0000 (18:50 +0300)]
0026855: Draw commands to debug Boolean Operations Algorithm
The commands to debug BOA.
These commands should serve only debug purposes and should not be used in tests.
Removing old implementation of the duplicated bopnews command.
isk [Tue, 10 Nov 2015 10:14:17 +0000 (13:14 +0300)]
0026821: Visualization - define default Rendering Parameters for Interactive Context
Define default Rendering Parameters within V3d_Viewer.
New instances of V3d_View use default Rendering Parameters.
emv [Fri, 30 Oct 2015 12:30:38 +0000 (15:30 +0300)]
0026798: Boolean operations: keep desired cells and boundaries in the result
The algorithm is based on the General Fuse algorithm (GFA). The result of
GFA is all split parts of the Arguments.
The purpose of this algorithm is to provide the result with the content of:
1. Cells (parts) defined by the user;
2. Internal boundaries defined by the user.
In other words the algorithm should provide the possibility for the user
to add or remove any part to (from) result and remove any internal boundaries
between parts.
Requirements for the Data:
All the requirements of GFA for the DATA are inherited in this algorithm.
Plus all the arguments should have the same dimension.
Results:
The result of the algorithm is compound containing selected parts of
the basic type (VERTEX, EDGE, FACE or SOLID). The default result
is empty compound. It is possible to add any split part to the result
by using the methods AddToRessult() and AddAllToResult().
It is also possible to remove any part from the result by using methods
RemoveFromResult() and RemoveAllFromResult().
The method RemoveAllFromResult() is also suitable for clearing the result.
To remove Internal boundaries it is necessary to set the same material to the
parts between which the boundaries should be removed and call the method
RemoveInternalBoundaries(). The material should not be equal to 0, as this is
default material value. The boundaries between parts with this value
will not be removed.
One part cannot be added with the different materials.
It is also possible to remove the boundaries during combining the result.
To do this it is necessary to set the material for parts (not equal to 0)
and set the flag bUpdate to TRUE.
BUT for the arguments of the types FACE or EDGE it is recommended
to remove the boundaries in the end when the result is completely built.
It will help to avoid self-intersections in the result.
It is possible to create typed Containers from the parts added to result by using
method MakeContainers(). The type of the containers will depend on the type of
the arguments: WIRES for EEDGE, SHELLS for FACES and COMPSOLIDS for SOLIDS.
The result will be compound containing containers.
Adding of the parts to such result will not update containers. The result
compound will contain the containers and new added parts (of basic type).
Removing of the parts from such result may affect some containers if the
the parts that should be removed is in container. In this case this container
will be rebuilt without that part.
History:
The algorithm supports history information. This information available through
the methods IsDeleted() and Modified(). In DRAW Test Harness it is available
through the same commands as for Boolean Operations (bmodified and bisdeleted).
Examples:
1. API
BOPAlgo_CellsBuilder aCBuilder;
BOPCol_ListOfShape aLS = ...; // arguments
/* parallel or single mode (the default value is FALSE)*/
Standard_Boolean bRunParallel = Standard_False;
/* fuzzy option (default value is 0)*/
Standard_Real aTol = 0.0;
//
aCBuilder.SetArguments(aLS);
aCBuilder.SetRunParallel(bRunParallel);
aCBuilder.SetFuzzyValue(aTol);
//
aCBuilder.Perform();
if (aCBuilder.ErrorStatus()) { // check error status
return;
}
/* empty compound, as nothing has been added yet */
const TopoDS_Shape& aRes = aCBuilder.Shape();
/* all split parts */
const TopoDS_Shape& aRes = aCBuilder.GetAllParts();
//
BOPCol_ListOfShape aLSToTake = ...; // parts of these arguments will be taken into result
BOPCol_ListOfShape aLSToAvoid = ...; // parts of these arguments will not be taken into result
//
/* defines the material common for the cells, i.e.
the boundaries between cells with the same material
will be removed.
By default it is set to 0. Thus, to remove some boundary
the value of this variable should not be equal to 0 */
Standard_Integer iMaterial = ...;
/* defines whether to update the result right now or not */
Standard_Boolean bUpdate = ...;
// adding to result
aCBuilder.AddToResult(aLSToTake, aLSToAvoid, iMaterial, bUpdate);
aR = aCBuilder.Shape(); // the result
// removing of the boundaries
aCBuilder.RemoveInternalBoundaries();
// removing from result
aCBuilder.AddAllToResult();
aCBuilder.RemoveFromResult(aLSToTake, aLSToAvoid);
aR = aCBuilder.Shape(); // the result
2. DRAW Test Harness
psphere s1 15
psphere s2 15
psphere s3 15
ttranslate s1 0 0 10
ttranslate s2 20 0 10
ttranslate s3 10 0 0
bclearobjects; bcleartools
baddobjects s1 s2 s3
bfillds
# rx will contain all split parts
bcbuild rx
# add to result the part that is common for all three spheres
bcadd res s1 1 s2 1 s3 1 -m 1
# add to result the part that is common only for first and third shperes
bcadd res s1 1 s2 0 s3 1 -m 1
# remove internal boundaries
bcremoveint res
Added history support for Generated shapes (created in ShapeUpgrade_UnifySameDomain).
Methods AddToResult and RemoveFromResult have been documented in more details to clarify the procedure of adding and removing parts.
Adding external library to use ShapeUpgrade_UnifySameDomain.
Test-cases for issue #26798
azv [Mon, 2 Nov 2015 09:03:23 +0000 (12:03 +0300)]
0026255: Adaptor3d_OffsetCurve is misleading
1. Rename Adaptor3d_OffsetCurve to Adaptor2d_OffsetCurve and relative classes
2. Remove redundant class Geom2dGcc_CurveToolGeo
afv [Mon, 19 Oct 2015 13:02:23 +0000 (16:02 +0300)]
0026603: Problem with maximization and normalization document windows in Qt samples with Qt 5.x
abv [Wed, 11 Nov 2015 06:32:41 +0000 (09:32 +0300)]
0026780: Coding rules - eliminate warnings on Linux and Mac
Fixed a few remaining warnings found by GCC, CLang, and VC++ 14 (recent changes)
abv [Mon, 9 Nov 2015 04:47:29 +0000 (07:47 +0300)]
0026854: Use -Wextra with GCC
Added option -Wextra for GCC compilation