1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-07-30 13:05:50 +03:00

122 Commits

Author SHA1 Message Date
emv
c088aa932f 0025446: The method BRepAlgoAPI_BooleanOperation::IsDeleted() returns TRUE for the faces contained in the result of BOP
1. The method
  Standard_Boolean BOPAlgo_Builder::IsDeleted
    (const TopoDS_Shape& theS)
  has been modified to return TRUE only if the shape theS has been deleted.
2. Added new draw (QA) command OCC25446 to test this method.
2014-11-07 17:10:49 +03:00
azv
6fb3418ea1 0025413: Line-Shape intersection algorithm became 400 times slower
Changed the procedure of creating initial samples

Test-case for issue #25413
2014-11-05 17:02:58 +03:00
msv
5e452c37ee 0025348: Method Assign of NCollection containers must not change own allocator of the target
Correct according to remarks of reviewer:
- Assign() and operator=() should implement equal approach to allocators
- Protect all collections against assignment to itself with operator=()

Test-case for issue #25348
2014-10-23 16:20:40 +04:00
kgv
54a16ee447 0025340: Visualization, AIS_InteractiveContext - properly apply selection filters at Neutral point
Do not use myMainSel->OnePicked() in AIS_InteractiveContext::MoveTo().

Test-case for issue #25340
2014-10-16 16:08:27 +04:00
nbv
058f130eff 0025100: Self-intersection of surfaces with using GeomAPI_IntSS rises run-time check failure
1. Bug command added.
2. Dynamic array is used in place of static.
2014-10-16 15:58:19 +04:00
pdn
c60370656c 0007570: Exception in ShapeFix_Wireframe::FixSmallEdges
Exception fixed by checking if subshape removed completely.

Test-case for issue #7570
2014-10-16 14:26:12 +04:00
abv
ab860031bd 0025202: Incorrect value of IsClosed flag in shapes produced by some algorithms
Method BRep_Tool::IsClosed() extended to analyze closure of wires in addition to shells and solids.
External and Internal edges and vertices are ignored in this check.
Analysis of compounds is disabled.

Update of flag Closed according to actual state is added in most places where new shells are constructed.

Draw-command and test case for issue CR25202
2014-10-10 16:28:36 +04:00
apl
4a350f9410 0024606: DepthFitAll and ZFitAll do not eliminate z-clipping
Test case for non-regression verification

Correction of test case for issue CR24606
2014-10-09 16:25:20 +04:00
aml
d538d7a221 0024589: Draw Harness - disable floating-point exceptions by default
OSD::SetSignal() called with Standard_False argument to have FPEs disabled.

Test cased modification:
de step_4 G7 - fixed reference data.
de iges_2 H9 - Fixed reference data. According to input file, there are big tolerance edge and surface, which leads to big tolerance in ref data, result and image has changed due to usage of these shapes instead of omitting them.
de end - changed behavior in case of big isolines, now isolines not break fit command in certain places.

Modeling algorithms:
Fixed 0.0 / 0.0 uncertainty in circle to quasi-angular bspline conversion.

Correction of test cases for issue CR24589
2014-09-25 15:58:35 +04:00
apn
03155c18a5 0020716: Eliminate usage of "config.h" header file
All inclusions of "config.h" were removed.

All places where macros defined by config.h were checked and removed

Small corrections for mac os.

Unused code in file OSD_Disk.cxx was removed.

Unused macros and includes were removed from samples and code.

Added necessary includes for MacOS.

Correct new additional compilation warning on Linux platform.

Fix for error in OSD_Chronometer on Debian70/Fedora18
2014-09-05 10:41:05 +04:00
duv
0717ddc132 0024837: Visualization - revise design and implementation of connected Interactive Objects
0023422: Selection problems when using SetLocation.
0024756: AIS_ConnectedInteractive does not support nested AIS_ConnectedInteractive
0025103: Visualization - Regression in interactive detection

Each PrsMgr_PresentableObject has list of PrsMgr _PresentableObject called myChildren.
Transformation PrsMgr_PresentableObject applied to its children every time when its own transformation affected. This hierarchy does not propagate to Graphic3d level and below.

PrsMgr_PresentableObject send its combined (according to hierarchy) transform down to Graphic3d_Structure.

AIS_ConnectedInteractive and AIS_MultiplyConnectedInteractive are reused but behavior has been changed.

AIS_ConnectedInteractive now is an instance of object. It reuses geometry of connected object but have own transformation, material, visibility flag etc. This connection propagated down to OpenGl level to OpenGl_Structure. For this task old “connected” mechanism has been reused.

AIS_MultiplyConnectedInteractive represents assembly which doesn’t have its own presentation. Assemblies are able to participate is scene hierarchy and intended to handle a grouped set of instanced objects. It behaves as single object in terms of selection. It applies high level transform to all sub-elements since it located above in the hierarchy.

All AIS_MultiplyConnectedInteractive are able to have child assemblies. Deep copy of object instances performed when one assembly attached to another.

Correction test cases for CR24837

Test cases for issue CR23422

Test cases for issue CR24756

Test cases for issue CR25103

Viewer3d sample fixed.
2014-08-28 17:38:17 +04:00
emv
a967f10410 0025043: there is no possibility to know what exactly subshape of source shape has detected problems by BRepAlgoAPI_Check
Since there is a possibility to run the check on self-intersection (BOPAlgo_CheckerSI algorithm) in non-destructive mode (source shape will not be modified)
there is no need to make copies of the arguments of BRepAlgoAPI_Check.

Test case added
2014-08-21 15:51:09 +04:00
apv
5a89733fd4 0024834: Allocation of memory for exception message must not throw another exception
Removing warnings
2014-08-13 17:44:46 +04:00
apv
2d7b28ac98 0024834: Allocation of memory for exception message must not throw another exception
Update of test case to eliminate 64-bit architecture from testing
2014-08-07 13:56:19 +04:00
apv
e4b5c45aa6 0023010: Error with a .stp model during transfer from STEPCAFControl_Reader to document
Adding test case
2014-07-31 14:44:29 +04:00
ika
1fa7cb8c3a 0023950: Names and visibility of points not saved when writing XCAF Document into STEP
Add new mode of writing vertices and parameter to switch on this mode.

Add description of new parameter (write.step.vertex.mode) into documentation.

Small correction of draw-command and test case for issue CR25095

test case correction

Small correction of test case for issue CR23950
2014-07-24 13:50:36 +04:00
oan
14434f3e6c 0025088: Revert or change API of BRepMesh_IncrementalMesh to prevent possible errors occurred due to changed order of parameters
Revert old constructor
2014-07-24 13:13:47 +04:00
oan
fc9b36d630 0025039: Improvement of code structure of general and supporting tools implemented in BRepMesh
Removed CDL declarations; Data collections are replaced by NCollections; Small code refactoring.
Remove definition of BRepMesh class. Code refactoring of BRepMesh_IncrementalMesh.
Function BRepMesh_Write storing BRepMesh_DataStructureOfDelaun to BRep file is added for debug needs.
Static method BRepMesh_GeomTool::IntLinLin has been added to eliminate code duplications in BRepMesh_Dealun and BRepMesh_CircleTool.
BRepMesh_CircleTool simplified method to find circumcircle.

Fix merging conflicts
Remove redundant function
Fix compilation warning on MacOS
Revert changes occurred during rebase
Resolved merging conflicts
Use parallel flag with BRepMesh_FastDiscret

Test cases for issue CR25039_2
2014-07-10 14:51:50 +04:00
Roman Lygin
b6c0b841ec 0024925: Enabling OCAF persistence without setting environment variables
Add test case bugs/caf/bug24925
Merging with current master IR-2014-07-03
2014-07-10 14:48:55 +04:00
aml
5493d33411 0025004: Extrema curve/curve incorrect result
Fixed bug in extrema clustering algorithm.
Tolerances changing is available now.
Testcase with Branin function added.

Test cases for issue CR25004
2014-07-03 17:11:20 +04:00
apv
0c67424831 Added QA command OCC23950 and test case bugs/xde/bug23950 for issue 23950 2014-06-11 14:44:42 +04:00
oan
c764e804ba 0024945: Extrema_ExtPElC::Perform does not consider angular tolerance when calculates angle between two vectors
Consider angular tolerance during calculation of angle between two vectors for protection against deviations that are significantly less than tolerance.
Simplified code to reduce number of comparison
Added QA command OCC24945 and test case bugs/moddata_3/bug24945
2014-06-05 14:17:23 +04:00
nbv
8696d65d2c 0024889: Geom2dAPI_InterCurveCurve produces result with parameter outside the curve limits
1. DRAW-command for testing was created (see QABugs_19.cxx)
2. Alignments were changed in other files.

Main Changes are into IntCurve_IntConicConic_1.cxx file (variable isOutOfRange was added).
If found intersection point is out of range, minimal distance between corresponding ends of interval is taken. If this distance is less than tolerance, this point replaces found intersection point. Otherwise, found intersection point is ignored.
Modified QA command OCC24889 and added test case bugs/modalg_5/bug24889
2014-05-29 16:40:04 +04:00
ika
574d723693 0023951: Visibility of free, simple shapes not saved when writing XCAF Document into STEP
Delete check for top-level shape during writing invisibility property.
Added QA command OCC23951.
Fix crash in QA command OCC23951: initialize document, initialize shape.
Added test case bugs/xde/bug23951
Modified QABugs/QABugs_19.cxx to avoid warnings
2014-05-29 16:18:19 +04:00
Roman Lygin
70167e6982 0024931: Stack overflow when writing large shapes to XML
Added QA command OCC24931 and test case bugs/fclasses/bug24931
2014-05-29 16:11:21 +04:00
abv
6e33d3ced2 0024830: Remove redundant keyword 'mutable' in CDL declarations
Redundant keyword 'mutable' removed in CDL files.
In IGESConvGeom_GeomBuilder, unused methods MakeXY() and MakeXYZ() removed.
Method StepAP214_AutoDesignGroupAssignment::Init() replicating same method of the base class is removed as it causes CDL extraction error after above (seemingly irrelevant) changes.
2014-05-29 14:58:25 +04:00
kgv
0e93d9e5b8 0024430: vviewlist draw command does not added name of viewer created by XShow draw command
Remove ViewerTest_Tool, keep only one unified way to create viewer using ViewerTest - ViewerTest::ViewerInit().
Remove test case bugs/vis/buc60851 and command BUC60851.
Added test case bugs/xde/bug24430
2014-05-22 17:27:27 +04:00
msv
a73267f24b 0024834: Allocation of memory for exception message must not throw another exception
- Add QA draw command OCC24834
- Make functions allocate_message/deallocate_message use malloc/free instead of operator new/delete
- Eliminate compilation error on Linux

Test case for issue CR24834
2014-04-24 16:50:19 +04:00
abv
857ffd5e57 0024814: Avoid using explicit names of Handle classes
Sources corrected replacing Handle_XXX by Handle(XXX)
2014-04-22 18:36:12 +04:00
ski
31249d1967 0024848: CLang warnings -Wunused-value
Warning should be fixed.
2014-04-17 16:10:41 +04:00
kgv
ca0c0b11ac 0024534: Improve design of Image_PixMap class
Remove template methods Image_PixMap::EditData(), ::ReadData().
Add template method Image_PixMap::ChangeValue().
Remove redundant parameter for Image_PixMap::Clear() method.

Make Image_PixMapData non-template class. Introduce NCollection_Buffer.
2014-04-10 19:49:50 +04:00
szy
d01cc61d44 0024755: TDF_Label::AddAttribute() reverses the order of added attributes
Test case and new draw command for issue CR24755
Fix of regression linked with test case bug24047.
Fix of bug361 regression on Linux.
2014-04-10 17:51:32 +04:00
mkv
e6c9f595cf 0023972: Exception thrown when intersecting two cones
DRAW command and test case for issue CR23972
2014-04-10 17:46:18 +04:00
dln
54e37688ef 0024778: Convertation of the generic classes to the non-generic. Part 9
Generic classes:

 "GccIter_Circ2d2TanOn",
 "GccIter_Circ2d3Tan",
 "GccIter_Lin2d2Tan",
 "GccIter_Lin2dTanObl"

from "GccIter" package were converted to the non-generic classes and moved to the "Geom2dGcc" package. Names of this classes were changed to:

 "Geom2dGcc_Circ2d2TanOnIter",
 "Geom2dGcc_Circ2d3TanIter",
 "Geom2dGcc_Lin2d2TanIter",
 "Geom2dGcc_Lin2dTanOblIter".

And their internal classes:

 "GccIter_FunctionTanCuCuOnCu",
 "GccIter_FunctionTanCuCuCu",
 "GccIter_FunctionTanCirCu",
 "GccIter_FunctionTanCuCu",
 "GccIter_FunctionTanCuPnt",
 "GccIter_FunctionTanObl"

also converted to the non-generic and moved to the "Geom2dGcc" package(their declarations were moved to "Geom2dGcc.cdl").

Enumerations" Type1, Type2 and Type3 were moved to "Geom2dGcc.cdl".

Package "GccIter" was deleted.
2014-04-04 12:57:43 +04:00
dln
0b85f9a605 0024761: Convertation of the generic classes to the non-generic. Part 5
1) Generic class "GccEnt_QualifiedCurv" from "GccEnt" package converted to the non-generic class and moved to the "Geom2dGcc" package. Name of this class was changed to "Geom2dGcc_QCurve".

2) Generic classes "HatchGen_ElementGen", "HatchGen_ElementsGen", "HatchGen_HatchingGen" and "HatchGen_Hatcher" from "HatchGen" package converted to the non-generic classes and moved to the "Geom2dHatch" package. Names of this classes were changed to "Geom2dHatch_Element", "Geom2dHatch_Elements", "Geom2dHatch_Hatching" and "Geom2dHatch_Hatcher". Also all instantiations of the "internal" classes of this classes were moved to the "Geom2dHatch.cdl".

3) Generic classes "Extrema_GExtCC", "Extrema_GExtCC2d", "Extrema_GLocateExtCC" and "Extrema_GLocateExtCC2d" from "Extrema" package converted to the non-generic classes. Names of this classes were changed to "Extrema_ExtCC", "Extrema_ExtCC2d", "Extrema_LocateExtCC" and "Extrema_LocateExtCC2d". Also all instantiations of the "internal" classes of this classes were moved to the "Extrema.cdl".
2014-04-04 12:57:39 +04:00
kgv
b64d84be99 0024752: Visualization - inherit OpenGl_Group from Graphic3d_Group
Graphic3d_Group is now abstract class and should be instantiated
using Graphic3d_Structure::NewGroup() method.
Graphic3d_CGroup has been removed.

The groups list is no more duplicated within Graphic3d_Structure and OpenGl_Structure.
Removed unused/duplicated fields from Graphic3d_Group.

Prs3d_Presentation - remove redundnant field myCurrentGroup.
PrsMgr_Presentation3d::Erase(), ::Clear() - avoid possible NULL dereference.
OpenGl_GraphicDriver/Graphic3d_GraphicDriver - group management methods have been removed
(moved to Graphic3d_CStructure and Graphic3d_Group interfaces).

Graphic3d_Group::GroupPrimitivesAspect() - copy IsEmission flag
Fix wrong iterator
Fix compilation issues
2014-03-28 15:55:24 +04:00
szy
3497d55234 0024565: MgtBRep persistence bug
Fix of the persistence bug (exception with message "Persistant CurveRep is Null").
Creating new draw command for testing CR24565
Revert license header corruption
Correction for new draw command OCC24565
Test case for issue CR24565
2014-03-28 15:55:14 +04:00
kgv
b56dd33fbd 0024736: There is new additional compilation warning on Linux platform 2014-03-20 14:06:19 +04:00
skv
2cd138b878 0024667: BRepOffsetAPI_MakePipe::FirstShape() and LastShape() return shapes not from result
Test case for issue CR24667
2014-03-13 14:25:14 +04:00
apl
197ac94e72 0024413: Visualization - get rid of projection shift from orthographic camera definition
From now on, the panning behavior of V3d_View completely corresponds to equal operations with camera. There is no more confusing "Center" property and "ProjectionShift" which were used to introduce composite panning, while respecting view referential points: At, Eye unchanged. The V3d_View::FitAll approach has been rewritten to do "fit all" geometrically, operating with frustum, to make it working for both orthographic and perspective projections.

1) Getting rid of ProjectionShift and Center property:
- Removed ProjectionShift property of Graphic3d_Camera.
- Removed confusing Center property of V3d_View (related to projection shift).
- Removed redundant code related to the Center property of V3d_View.
- Removed WindowLimit method of Graphic3d_Camera - no more used.

2) Improvements of fit all and selector:
- Improved FitAll operation of V3d_View and reused it in NIS_View - the perspective projection is now handled correctly.
- Revised code of Select3D_Projector class - can be defined with any given projection and model-view matrices.
- Modified StdSelect_ViewerSelector3d and ensured that panning, zooming and going into the view do not lead to unwanted re-projection of sensitives. The handling of perspective selection is revised.
- Take into account graphical boundaries of infinite structure on ZFitAll.

3) Improvements of camera:
- Introduced new z range scale parameter for V3d_View::AutoZFit. See, V3d_View::AutoZFitMode.
- Allow negative ZNear, ZFar for orthographic camera to avoid clipping of viewed model.
- Moved camera ZNear, ZFar validity checks to V3d_View level.
- Use more meaningful Standard_ShortReal relative precision for ZNear, ZFar ranges computed by ZFitAll.
- Use Standard_Real type for camera projection and orientation matrices.
- Extended camera to generate both Standard_Real and Standard_ShortReal transformation matrices using the same matrix evaluation methods and converted input parameters.

Correcting picking tests for perspective view

Modify v3d face test cases for 1px changes in face picking

Modified test cases for new arguments of vviewparams DRAWEXE command
2014-03-06 15:50:33 +04:00
apl
f376ac72de 0024622: Add method to AIS_TexturedShape class to assign texture data directly from byte stream
Added methods to specify Image_PixMap as texture source to AIS_TexturedShape and Graphic3d_TextureRoot.
Modified internal class MeshVS_ImageTexture2D, originally used for the purpose of sourcing texture as Image_PixMap.

AIS_TexturedShape class:
- Get rid from cdl declaration.
- Remove unused and uninitialized field myDeflection / method Deflection().
- Improve class documentation.
- Use Graphic3d_NOT_2D_UNKNOWN instead of -1.
- Use myIsCustomOrigin and myToScale flags to use/ignore custom values.
2014-03-06 15:48:03 +04:00
abv
d5f74e42d6 0024624: Lost word in license statement in source files
License statement text corrected; compiler warnings caused by Bison 2.41 disabled for MSVC; a few other compiler warnings on 54-bit Windows eliminated by appropriate type cast
Wrong license statements corrected in several files.
Copyright and license statements added in XSD and GLSL files.
Copyright year updated in some files.
Obsolete documentation files removed from DrawResources.
2014-02-20 16:15:17 +04:00
apn
69fd2d1b53 Added QA command OCC24086 and test case bugs/modalg_5/bug24086 for issue 24086. 2014-02-13 14:04:52 +04:00
apn
01ee00d90b Added QA command OCC24051 and test case bugs/vis/bug24051 for issue 24051. 2014-02-13 14:04:47 +04:00
apn
1b7602c84a Added QA command OCC24012 and test case bugs/modalg_5/bug24012 for issue 24012. 2014-02-13 14:04:45 +04:00
kgv
dda67c1ca2 0024202: Support class methods as callbacks for Draw Harness commands 2014-02-07 11:15:26 +04:00
mkv
05d7de534a Draw command and test case for testing issue CR24533 2014-01-24 14:44:33 +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
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