1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-04-07 18:30:55 +03:00

1473 Commits

Author SHA1 Message Date
jgv
561ea68e96 0024532: BRepOffsetAPI_MakePipeShell raises an exception in a case with auxiliary guide
Test case for issue CR24532
2014-01-20 14:45:29 +04:00
szv
513d3443c7 0024458: Add commands for basic shape transformations
Added commands for basic transformations
2014-01-20 14:45:27 +04:00
gka
e3096decb6 0024370: [Regression] 6.7.0beta ShapeFix_EdgeProjAux breaks conventions on using IsDone flag.
Projection of 3d points corresponding to range of edge on 2d curve considered as successful for  all cases to except for cases when projection is not made.

Initialization initial values of flags
Modification initial values of flags setting status Done for first and last parameters

Adding new draw-command for issue CR24370

Test case for issue CR24370
2014-01-16 21:05:27 +04:00
abk
bb0e6b9bcb 0024474: GCPnts_AbscissaPoint calculates invalid point
DRAW command discrCurve was created to test GCPnts_UniformAbscissa by count of discretization point.
Two bugs in GCPnts_AbscissaPoint were fixed.
DRAW tests for the bug were created.
2014-01-16 21:05:26 +04:00
ibs
a3ef6605e0 0024485: Draw Harness - create subfolder in temporary directory for temporary test results
for each test execution a specific directory is created in a temp directory.
the format of the created directory is next: group-gridname-casename_<data>_<time with secs>

indentations in changes were realigned

Output of warning messages on use of temporary directory disabled
2014-01-16 21:05:25 +04:00
emv
18d25b93a6 0024505: Wrong section curves between Cone and Cylinder with collinear axes.
The intersection between Cone and one of the following surfaces: Cylinder, Sphere, Cone and Torus
is treated as analytical when the axes of the surfaces are collinear.

Test case for issue CR24505
2014-01-16 21:05:24 +04:00
jgv
c8ea5b8e3f 0024204: The algorithm BRepOffsetAPI_MakePipeShell produces resulting shape with unwarrantably big tolerance
Added test case bugs/modalg_5/bug24204

Modified following test cases:
bugs modalg_3 bug605 - case with bad input data, command "settolerance w1 1.e-7" was added;
bugs modalg_4 bug629 - wrong case, now the algorithm can not build pipes on such profiles, test case was removed;
bugs modalg_4 bug13595_1, bug13595_1 - number of subshapes was has changed;
bugs modalg_5 bug23706_2 - square of resulting face was changed;
bugs modalg_5 bug23870_1, bug23870_2, bug23870_3, bug23870_4, bug23870_5 - the number of subshapes was changed.
2014-01-16 12:20:52 +04:00
omy
e89e2d67ba 0024088: Unsafe window handle management in Draw using GetWindowLong
Replaced Get-/SetWindowLong with Get-/SetWindowLongPtr in files of TKDraw.

Reverted the unrelated changes
2014-01-16 12:18:14 +04:00
pkv
db8e4b9aa6 0024157: Parallelization of assembly part of BO
Patch 06

I.1. class Bnd_Box2d
- method:
inline Standard_Real Bnd_Box2d::SquareExtent() const
has been added.
Purpose : The method returns the squared diagonal of the bounding box.

I.3. class BOPCol_BoxBndTree
has been added.
Purpose : The class is the instantiation of the algorithm of unbalanced binary tree
of overlapped bounding boxes 3D.

I.4. class BOPCol_Box2DBndTree
has been added.
Purpose : The class is the instantiation of the algorithm of unbalanced binary tree
of overlapped bounding boxes 2D.

I.5. class BOPAlgo_Algo
- method:
void BOPAlgo_Algo::SetRunParallel(const Standard_Boolean theFlag)
has been added.
Purpose: Set the flag of parallel processing
     if <theFlag> is true  the parallel processing is switched on
     if <theFlag> is false the parallel processing is switched off

- method:
Standard_Boolean BOPAlgo_Algo::RunParallel()const
has been added
Purpose: Returns the flag of parallel processing

II.1. class BOPAlgo_Builder
- method:
void BOPAlgo_Builder::SetRunParallel(const Standard_Boolean theFlag)
has been removed due to I.5.

- method:
Standard_Boolean BOPAlgo_Builder::RunParallel()const
has been removed due to I.5

II.2. class BOPDS_BoxBndTree
has been removed due to I.3

II.3. classes
BOPDS_Iterator,
BOPDS_IteratorSI,
BOPDS_SubIterator
BOPAlgo_PaveFiller,
BOPAlgo_Builder
the calls to BOPDS_BoxBndTree have been changed to
the calls to BOPCol_BoxBndTree
due to I.3

II.4. class BOPAlgo_BuilderFace
- method:
void BOPAlgo_BuilderFace::PerformLoops()
the changes that provide parallel run the  WireSplitter algorithm have been done.

- method:
void BOPAlgo_BuilderFace::PerformAreas()
the classification the grows and holes has been done using
the algorithm of unbalanced binary tree of overlapped bounding boxes

II.5. class BOPAlgo_WireSplitter
- method:
void BOPAlgo_WireSplitter::SplitBlock(const TopoDS_Face& myFace,
			          BOPTools_ConnexityBlock& aCB)
the method is transferred to the static, the signature of the method have been changed

- method:
void BOPAlgo_WireSplitter::MakeWires()
the changes to provide parallel run the SplitBlock algorithm have been done
2014-01-16 12:04:55 +04:00
kgv
15cea4ef7a 0024438: Message_Algorithm - allow customized status descriptions 2014-01-16 11:56:35 +04:00
kgv
7e7c2f0b6f 0024497: TKOpenGl, OpenGl_Context - Add getter for window field 2014-01-09 12:27:29 +04:00
omy
b3a7aa39a1 0024209: Cppcheck errors "unusedScopedObject"
Fixed bug with temporary objects.
2014-01-09 12:24:10 +04:00
Denis Barbier
96a95605cd 0024510: Remove unused local variables
When warnings are enabled, compilers report lots of occurrences
of unused local variables, which makes it harder to find other
meaningful warnings.
This commit does not fix all unused local variables.

Fix new type conversion warning

Code cleaned to avoid MSVC compiler warnings on unused function arguments.
Several useless pieces of code are removed.
Changes in IntTools_EdgeFace.cxx, Blend_Walking_1.gxx, Bnd_BoundSortBox.cxx, ProjLib_ProjectedCurve.cxx are reverted (separated to specific issue for more in-depth analysis).
2014-01-09 12:21:51 +04:00
Denis Barbier
b467a87036 0024511: Remove obsolete Image_PixelAddress.cxx
Image_PixelAddress.cxx had been removed from src/Image/FILES in CR23486 (commit 2361d7e), but the file had not been deleted.

Correction of inconsistent file and units lists (units DebugTools and OpenCL are removed from UDLIST; files EXTERNLIB and SCAN.tcl added to FILES list in Cocoa and DrawResources units)
2014-01-09 12:17:06 +04:00
Denis Barbier
5640d65355 0024512: clang++ compiler complains about extra semicolon
Clang++ compiler emits warnings like these ones when parsing superfluous semicolons:
  .../src/OSD/OSD_MAllocHook.cxx:49:2: warning: extra ';' outside of a function is a C++11 extension [-Wc++11-extra-semi]
  .../src/ProjLib/ProjLib_ComputeApproxOnPolarSurface.cxx:317:30: warning: extra ';' after member function definition [-Wextra-semi]
2014-01-09 12:07:31 +04:00
bugmaster
6aca4d3977 0024516: Copyright information has been corrupted within some headers
Update incorrectly modified header files
2014-01-09 12:05:23 +04:00
emv
7eed5d29a9 0024470: Wrong result done by General Fuse algorithm.
Modifications:
1. The validity of the intersection point between edge and face is checked with sum of the tolerance values of the edge and face.
2. The intersection between toroidal surface and one of the following surfaces: Plane, Cylinder, Sphere, Cone or Torus
   is treated as analytical in the following cases:
   1) Torus and Plane: a. Axes of the surfaces are parallel;
                       b. Axes of the surfaces are perpendicular and location of the torus is lying on the plane;
   2) Torus and Sphere: The location of the sphere is lying on the line made from toruses axis;
   3) Torus and Cone, Cylinder or Torus: The axis of the surfaces are collinear.
   In all cases the intersection line(s) is(are) circle(s).

Added test cases bugs/modalg_5/bug24470

The intersection between torus with minor radius more than (or equal to) the major radius and any other surface is considered as parametric.
2014-01-09 12:01:48 +04:00
abv
547702a15d 0024489: Avoid type casts in call to Standard::Free()
Method Standard::Free() is converted to template, so that pointer is nullified using its proper type.
Unnecessary type cases in calls to Standard::Free(), Standard::Reallocate(), and NCollection_BaseAllocator::Free() eliminated throughout OCCT code.
2014-01-09 11:58:31 +04:00
emv
b24ac89262 0024491: Partition algorithm history bug (faces).
Modifications in history:
1. All splits of the shape are returned as Modified from that shape.
2. For SECTION operation section edges are returned as Generated from the face.
2014-01-09 11:53:28 +04:00
emv
b7357c8b55 0024495: Crash during performeng boolean operation on attached shape for Windows VC2010 64 bit
Recursion in the method Path in BOPAlgo_WireSplitter has been replaced with cycle.
2013-12-26 18:29:57 +04:00
kgv
6a866b3268 0024483: Visualization - drop unused class StdSelect_BRepHilighter 2013-12-26 15:52:09 +04:00
pkv
9c06009aa5 0024463: BRepAlgo_Section::Build hangs
Added test case bugs/modalg_5/bug24463
2013-12-26 15:49:56 +04:00
pkv
ceaa5e27eb 0024492: The command bopargcheck produces wrong results for cases.
New features:
- class BOPDS_InterfVZ has been added.
Purpose: The class BOPDS_InterfVZ is is to store the information about
the interference of the type vertex/solid.

- class BOPDS_InterfEZ has been added.
Purpose: The class BOPDS_InterfEZ is is to store the information about
the interference of the type edge/solid.

- class BOPDS_InterfFZ has been added.
Purpose: The class BOPDS_InterfFZ is is to store the information about
the interference of the type face/solid.

- class BOPDS_InterfFZ has been added.
Purpose: The class BOPDS_InterfZZ is is to store the information about
the interference of the type solid/solid.

- class BOPDS_DS
-methods
inline BOPDS_VectorOfInterfVZ& BOPDS_DS::InterfVZ()
Purpose: Returns the collection of interferences Vertex/Solid

inline BOPDS_VectorOfInterfEZ& BOPDS_DS::InterfEZ()
Purpose: Returns the collection of interferences Edge/Solid

inline BOPDS_VectorOfInterfFZ& BOPDS_DS::InterfFZ()
Purpose: Returns the collection of interferences Face/Solid

inline BOPDS_VectorOfInterfZZ& BOPDS_DS::InterfZZ()
Purpose: Returns the collection of interferences Solid/Solid

inline Standard_Integer BOPDS_DS::NbInterfTypes()
Purpose: Returns the number of types of the interferences
have been added.

- class BOPDS_Tools
-method
inline Standard_Boolean BOPDS_Tools::IsInterfering
  (const TopAbs_ShapeEnum theT)
has been added.
Purpose: Returns true if the type <theT> can be participant of  an interference

- class BOPDS_ShapeInfo
-method
inline Standard_Boolean BOPDS_ShapeInfo::IsInterfering()const
has been added.
Purpose: Returns true if the object can be participant of  an interference

- class BOPDS_ShapeInfo
-methods
void BOPAlgo_CheckerSI::PerformVZ()
Purpose: Computes Vertex/Solid interferences

void BOPAlgo_CheckerSI::PerformEZ()
Purpose: Computes Edge/Solid interferences

void BOPAlgo_CheckerSI::PerformFZ()
Purpose: Computes Face/Solid interferences

void BOPAlgo_CheckerSI::PerformZZ()
Purpose: Computes Solid/Solid interferences
have been added

Changes:
- class BOPDS_DS
- method:
Standard_Boolean BOPDS_DS::HasInterfShapeSubShapes
  (const Standard_Integer theI1,
   const Standard_Integer theI2,
   const Standard_Boolean theFlag)const
has been modified.
Purpose:
  Returns true if the shape with index theI1 is interfered  with
    - at least one sub-shape of the shape with index theI2  (theFlag=true)
    --all sub-shapes of the shape with index theI2 (theFlag=false)

- class BOPDS_Tools
- method:
inline Standard_Integer BOPDS_Tools::TypeToInteger
 (const TopAbs_ShapeEnum aType1,
 const TopAbs_ShapeEnum aType2)
The method has been extended to treat */Solid interfertences.

- class BOPDS_Iterator
- constructors:
BOPDS_Iterator::BOPDS_Iterator();
BOPDS_Iterator::BOPDS_Iterator
  (const Handle(NCollection_BaseAllocator)& theAllocator);
- method:
void BOPDS_Iterator::Prepare();
The constant number of types of the interferences has been changed by
the call: BOPDS_DS::NbInterfTypes();

- class BOPDS_IteratorSI
- method:
void BOPDS_IteratorSI::UpdateByLevelOfCheck(const Standard_Integer theLevel)
The constant number of types of the interferences has been changed by
the call: BOPDS_DS::NbInterfTypes();

- method:
void BOPDS_IteratorSI::Intersect()
The method has been extended to treat */Solid interfertences.

- class BOPAlgo_CheckerSI
- constructor:
BOPAlgo_CheckerSI::BOPAlgo_CheckerSI()
The constant number of types of the interferences has been changed by
the call: BOPDS_DS::NbInterfTypes();

- method:
void BOPAlgo_CheckerSI::SetLevelOfCheck(const Standard_Integer theLevel)
The constant number of types of the interferences has been changed by
the call: BOPDS_DS::NbInterfTypes();

- methods:
void BOPAlgo_CheckerSI::Perform()
void BOPAlgo_CheckerSI::PostTreat()
The methods have been extended to treat */Solid interfertences.

- class BOPAlgo_ArgumentAnalyzer
- method:
void BOPAlgo_ArgumentAnalyzer::TestSelfInterferences()
The method has been extended to treat */Solid interfertences.

Added test case bugs/modalg_5/bug24492
2013-12-26 15:45:09 +04:00
kgv
859f26ae84 0024482: Documentation - provide descipriprion of CSF_ShadersDirectory variable in the Overview 2013-12-26 15:36:07 +04:00
skv
a24c75d908 0024484: sprops gives incorrect matrix of inertia and moments
Added test case bugs/modalg_5/bug24484
2013-12-26 15:31:24 +04:00
abv
12a45e038f 0024494: Value of OCC_VERSION_DEVELOPMENT is not accounted in generated overview documentation
Parser of OCCT version corrected to include development macro in complete version number.
2013-12-24 11:14:43 +04:00
jgv
c5a855f8b5 0024475: Regression on OCCT6.6.0 relative to OCCT6.5.3: wrong result of ThruSections algorithm on two customer's wires 2013-12-19 15:16:59 +04:00
omy
b5eb716691 0024456: Graphic3d_MaterialAspect - use static assert instead of runtime exception
Graphic3d_MaterialAspect::NumberOfMaterials() : Standard_ASSERT_RAISE instead of run-time check is now used.
Replaced with Standard_STATIC_ASSERT
2013-12-19 15:08:20 +04:00
pkv
30ecd5f8bf 0024157: Parallelization of assembly part of BO
New features
class BOPAlgo_BuilderSolid
-method:
void BOPAlgo_BuilderSolid::SetSolid(const TopoDS_Solid& theSolid) has been added.
Purpose: Sets the source solid <theSolid>

class BOPAlgo_BuilderSolid
-method:
const TopoDS_Solid& BOPAlgo_BuilderSolid::Solid()const
has been added.
Purpose: Returns the source solid

Auxiliary classes
BOPAlgo_BuilderSolidFunctor
BOPAlgo_BuilderSolidCnt
have been added.
Purpose: The classes provide the interface and implementation of the parallel computations.

class BOPTools_AlgoTools
-method:
Standard_Boolean  BOPTools_AlgoTools::IsOpenShell(const TopoDS_Shell& theShell) has been added.
Purpose: Returns true if the shell <theShell> is open

class BOPTools_AlgoTools
-method:
Standard_Boolean  BOPTools_AlgoTools::IsInvertedSolid(const TopoDS_Solid& theSolid) has been added.
Purpose: Returns true if the solid <theSolid> is inverted

class BOPDS_DS
-protected  method:
void BOPDS_DS::BuildBndBoxSolid(const Standard_Integer theIndex, Bnd_Box& theBoxS) has been added.
The method computes bouding box <theBoxS> for the solid with DS-index <theIndex>

Changes
class BOPDS_DS
- method:
void BOPDS_DS::Init()
The block to compute bouding box for the solids has been added.

class BOPAlgo_Builder
- method:
void BOPAlgo_Builder::FillIn3DParts
(BOPCol_DataMapOfShapeListOfShape& theInParts,
BOPCol_DataMapOfShapeShape& theDraftSolids,
const BOPCol_BaseAllocator& theAllocator)
The order of treatment of the unbalanced binary tree of overlapped bounding boxes has been changed

class BOPAlgo_Builder
- method:
 void BOPAlgo_Builder::BuildSplitSolids
(BOPCol_DataMapOfShapeListOfShape& theInParts,
BOPCol_DataMapOfShapeShape& theDraftSolids,
const BOPCol_BaseAllocator&  theAllocator)
The algorithm has been adapted to provide the parallel computations
2013-12-19 13:47:39 +04:00
bugmaster
5a07b8e1c4 Changing OCCT version to 6.7.1 and define OCC_VERSION_DEVELOPMENT to "dev" 2013-12-19 13:26:32 +04:00
abv
47d9074abb 0024428: Implementation of LGPL license
OCCT documentation updated to refer to LGPL as applicable license
V6_7_0
2013-12-17 12:43:17 +04:00
bugmster
480bf81e37 0024428: Implementation of LGPL license
Update of OCCT samples source code due to moving to LGPL license
2013-12-17 12:43:15 +04:00
bugmster
973c2be1e1 0024428: Implementation of LGPL license
The copying permission statements at the beginning of source files updated to refer to LGPL.
Copyright dates extended till 2014 in advance.
2013-12-17 12:42:41 +04:00
vro
3693361422 0024166: Unable to create file with "Save" menu of voxeldemo Qt sample
Turning on the light to display the shapes of the sample.
2013-12-17 12:32:32 +04:00
ibs
4a0c5c25a4 0024469: cmake mfcsample project skippes ParamsFacesPage
add ParamsFacesPage.cpp and ParamsFacesPage.h in mfcsample cmake project

Unrelated changes: common samples include paths have lower priority than specific ones
Unrelated changes: debug tbb cmake seeks with _debug postfix
2013-12-17 12:25:09 +04:00
ibs
a0726e55a7 0024426: CMake ignores 3rd party options; env.sh does not set "CASROOT" environment variable
unrelative changes: #!/bin/bash line was added to env.sh.in
CMake: debug environment was removed for the time being; env.sh and env.bat templates were refactored
possibility of using of redundant command line parameters were removed from env.sh & env.bat scripts
tcl installation corrected;
Removed "echo off" from shell script
2013-12-17 12:25:08 +04:00
aba
38fd051164 0024471: Erasing of the shape in HLR sample leads to sample crash. 2013-12-17 12:18:22 +04:00
abv
243fc66226 Preparation for OCCT 6.7.0 release: 'beta' removed from OCCT version 2013-12-16 12:34:34 +04:00
kgv
5396d9ca17 0024466: Visualization - PrsMgr_Presentation3d::Erase() now leads to incomplete destruction of Graphic3d_Structure 2013-12-15 16:25:16 +04:00
szv
4e7bb26301 0024440: Regressions in products test group sat/doc_1
Check for closed shell is corrected
2013-12-12 19:42:47 +04:00
aba
60bf98ae02 0024425: Improve usage ergonomics of new dimension presentations
- Added format for value string.
- Construction and validness.
- Revise modification of properties and update of presentations.
- Units moved to Drawer; code revisions.
- Length and angle initialization was changed. Type of geometry filed was added to AIS_Dimension.
- Method for test case bugs/vis/buc60915 was corrected. Description of the dimension classes was corrected.
- Fixed initialization of angle and length.
2013-12-12 19:36:55 +04:00
Pawel
e04db19958 0024448: Possible copy-paste bug in IGESGeom_SplineCurve.cxx
Replaced 'allXPolynomials' with 'allYPolynomials' to avoid redundancy.
2013-12-12 19:36:54 +04:00
Pawel
de88958f6e 0024451: Logical conjunction always evaluates to false
As the variable gets casted on Standard_Byte it is checked to be within the range <0; 255>
2013-12-12 19:36:53 +04:00
kgv
7551feda20 0024455: Graphic3d_Group - restore Marker() method to simplify porting 2013-12-12 19:36:52 +04:00
gka
4efafd1f3a 0024283: STEP read failes to read unbound advanced_face
Fix to avoid exception if sphere is written without bounds.
2013-12-12 19:36:51 +04:00
Pawel
0c4033b4d1 0024452: TKOpenGl - Memory leak in OpenGl_ShaderManager 2013-12-12 19:36:50 +04:00
kgv
0adbd30f1d 0024450: TKOpenGl - Fixed pipeline materials update optimization does not distinguish front/back faces 2013-12-12 19:36:49 +04:00
ibs
0794c042bd 0024403: BRepBuilderAPI_Sewing should have get/set Context methods
Methods to get/set context introduced
2013-12-12 19:36:49 +04:00
emv
0929d0ef20 0024434: The result of Boolean FUSE operation is not correct
Small correction in splitting SEAM edge on face.
2013-12-12 19:36:48 +04:00
apl
fe83e1ea69 0024389: Invalid hilight of AIS dimension line in local selection
- Fixed invalid presentation of dimension highlight.
- Fixed bug on switching between selection modes. Individual sensitive entities generated for each selection mode.
- Revised selection: AIS_DimensionSelectionMode enumeration added, redundant AIS_DimensionDisplayMode is removed.
- Revised entity owner usage: used standard SelectMgr_EntityOwner for neutral selection, AIS_DimensionOwner for "line", "text" selection modes.
- Made arrows selectable.
- Got rid of predefined arrow angle. The arrow angle is now taken from dimension aspect.
- The 3D text is now centered by bounding box for better alignment.
2013-12-12 19:36:47 +04:00