MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024876Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2014-04-28 16:352016-12-09 08:43
Reporterabv 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 6.8.0Fixed in Version[OCCT] 6.8.0 
Summary0024876: Add protection of shapes against modification of geometry
DescriptionImplementation of topological data model and modeling algorithms in OCCT should follow general approach that each operation produces new shape without modifying its arguments. This is especially important for OCAF which relies on this feature for its Undo/Redo mechanism.

The problem is that this rule seems to be not documented and is not always followed, see #24302.

OCCT shape data structure (TopoDS_Shape) and low-level tools modifying it (BRep package) use special flag Free/Frozen to protect against modification of topology. The idea is to add similar flag for modification of geometric data in the shapes (including tolerances), and use it to protect against modification of input shapes by algorithms. Having this protection available, it will be possible to find all places in the code violating the rule, and fix them.
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
parent of 0025173closedbugmaster Community VS 2012: linker errors 

-  Notes
(0029380)
ink (developer)
2014-05-19 11:05

Added flag "locked" for protection of geometric data in the shapes (including tolerances). To set a flag added command "setflags".
These changes are located in branch CR24876. Please review.
(0029429)
gka (developer)
2014-05-21 11:41

Branch CR24876 is ready to be tested.
(0029568)
apv (tester)
2014-05-28 11:46
edited on: 2014-05-28 12:02

Dear BugMaster,

Branch CR24876 (and products from GIT master) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 5db6f333972d3df9b411cef2a150dcdc69c8a183

Number of compiler warnings:

Linux: 17 (17 on master)
Windows: 0 (0 on master)
MacOS: 202 (202 on master)

products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)

Regressions/Differences:
http://occt-tests/CR24876-master-occt/Debian60-64/summary.html [^]
http://occt-tests/CR24876-master-occt/Windows-32-VC9/summary.html [^]
boolean - bopcut_2d (005) - D5

Testing cases:
Absent

Testing on Linux:
Total MEMORY difference: 359749648 / 359742796
Total CPU difference: 51283.3099999998 / 51526.670000000115

Testing on Windows:
Total MEMORY difference: 382183620 / 382734216
Total CPU difference: 38962.71875 / 39034.0625

(0030000)
gka (developer)
2014-07-08 13:32

This fix is rebased on current master, test case "bopcut_2d(005) D5" was modified.
Branch CR24876_1 is ready to be tested.
(0030036)
mkv (tester)
2014-07-09 15:33

Dear BugMaster,

Branch CR24876_1 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: bd7b30001727e53d2bc3b18176d3be9f5ee5e194

Number of compiler warnings:

occt component :
Linux: 15 (15 on master)
Windows: 0 (0 on master)
MacOS: 199 (199 on master)

products component :
Linux: 11 (11 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 350220960 / 349968948
Total CPU difference: 54527.42000000005 / 52504.370000000075

Testing on Windows:
Total MEMORY difference: 377051416 / 377481972
Total CPU difference: 39175.96875 / 39673.921875

There are no differences in images found by testdiff.
(0030333)
git (administrator)
2014-07-22 16:10

Branch CR24876 has been deleted by inv.

SHA-1: 5db6f333972d3df9b411cef2a150dcdc69c8a183
(0030334)
git (administrator)
2014-07-22 16:10

Branch CR24876_1 has been deleted by inv.

SHA-1: bd7b30001727e53d2bc3b18176d3be9f5ee5e194

- Related Changesets
occt: master ebfb9ce2
Timestamp: 2014-07-10 10:42:12
Author: ink
Committer: apn
Details ] Diff ]
0024876: Add protection of shapes against modification of geometry

Added flag "locked" for protection of geometric data in the shapes (including tolerances).
Modification test case to avoid regression.
mod - src/BRep/BRep_Builder.cxx Diff ] File ]
mod - src/DBRep/DBRep.cxx Diff ] File ]
mod - src/TopoDS/TopoDS.cdl Diff ] File ]
mod - src/TopoDS/TopoDS_Shape.cdl Diff ] File ]
mod - src/TopoDS/TopoDS_Shape.lxx Diff ] File ]
mod - src/TopoDS/TopoDS_TShape.cdl Diff ] File ]
mod - src/TopoDS/TopoDS_TShape.lxx Diff ] File ]
add - tests/boolean/bopcut_2d/D5 Diff ] File ]

- Issue History
Date Modified Username Field Change
2014-04-28 16:35 abv New Issue
2014-04-28 16:35 abv Assigned To => ifv
2014-04-28 16:35 abv Relationship added child of 0024302
2014-05-19 10:14 abv Assigned To ifv => ink
2014-05-19 10:14 abv Status new => assigned
2014-05-19 11:05 ink Note Added: 0029380
2014-05-19 11:10 ink Assigned To ink => abv
2014-05-19 14:53 abv Status assigned => resolved
2014-05-21 11:18 abv Assigned To abv => gka
2014-05-21 11:41 gka Note Added: 0029429
2014-05-21 11:41 gka Status resolved => reviewed
2014-05-22 11:10 bugmaster Assigned To gka => apn
2014-05-26 17:42 apn Assigned To apn => apv
2014-05-28 11:46 apv Note Added: 0029568
2014-05-28 11:47 apv Note Edited: 0029568 View Revisions
2014-05-28 11:47 apv Note Edited: 0029568 View Revisions
2014-05-28 11:48 apv Assigned To apv => ink
2014-05-28 11:48 apv Status reviewed => assigned
2014-05-28 12:02 apn Note Edited: 0029568 View Revisions
2014-07-08 13:32 gka Note Added: 0030000
2014-07-08 13:32 gka Status assigned => resolved
2014-07-08 13:32 gka Status resolved => reviewed
2014-07-08 14:39 mkv Assigned To ink => mkv
2014-07-09 15:33 mkv Note Added: 0030036
2014-07-09 15:34 mkv Test case number => Not needed
2014-07-09 15:34 mkv Assigned To mkv => bugmaster
2014-07-09 15:34 mkv Status reviewed => tested
2014-07-11 14:22 apn Changeset attached => occt master ebfb9ce2
2014-07-11 14:22 apn Assigned To bugmaster => apn
2014-07-11 14:22 apn Status tested => verified
2014-07-11 14:22 apn Resolution open => fixed
2014-07-22 16:10 git Note Added: 0030333
2014-07-22 16:10 git Note Added: 0030334
2014-08-20 17:26 Pawel Relationship added parent of 0025173
2014-11-11 12:45 aiv Fixed in Version => 6.8.0
2014-11-11 12:57 aiv Status verified => closed
2015-03-23 10:35 abv Relationship added related to 0025957
2015-03-27 21:10 abv Relationship added related to 0007093
2016-12-09 08:43 abv Relationship added parent of 0028204


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker