View Issue Details

IDProjectCategoryView StatusLast Update
0022940CommunityOCCT:Visualizationpublic2012-04-16 12:33
ReporterPawel Assigned Tobugmaster  
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2008 
Product Version6.5.2 
Target Version6.5.3Fixed in Version6.5.3 
Summary0022940: Selection performance: TopAbs_SHELL
DescriptionI have made a change to the code of StdSelect_BRepSelectionTool.cxx described here: http://www.opencascade.org/org/forum/thread_21168/

Basically, I found out the the selection computation is very slow for TopAbs_SHELLs and applied the selection code for TopAbs_COMPOUNDs for the shells too.

Is there a reason not to do that?

Can this change be integrated into OCCT?
Steps To ReproduceLoad and visualize a complex TopAbs_SHELL using XDE. Then load the same model without using XDE (make sure this is TopAbs_SHELL). Hover with the mouse over the model in each case and see how long it takes to compute the selection.
Additional information
and documentation updates
Performance bottleneck in StdSelect_BRepSelectionTool class in case of TopAbs_SHELL shape type has been corrected. Now this class behaves identically for TopAbs_SHELL and TopAbs_SOLID shape types, with an exception of different selection priorities used.
TagsNo tags attached.
Test case numberTest case is not required

Attached Files

  • StdSelect_BRepSelectionTool.cxx (27,970 bytes)

Activities

Pawel

2012-01-30 17:47

developer  

StdSelect_BRepSelectionTool.cxx (27,970 bytes)

Pawel

2012-02-02 15:56

developer   ~0019361

Sample file was added before so the issue status should be set to resolved according to the dev workflow

san

2012-02-20 12:48

developer   ~0019659

Re-using TopAbs_COMPOUND selection logic for TopAbs_SHELL shape type results in doing some unnecessary things related to free vertices, edges and wires. A shell never contains such stuff. From selection point of view, a shell is the same as a solid - i.e. a set of sensitive faces. Thus I would rather merge case branches for TopAbs_SHELL and TopAbs_SOLID.

san

2012-02-20 12:53

developer   ~0019661

SVN branch OCC22940 has been reviewed and is ready for testing.

apn

2012-02-20 16:26

administrator   ~0019671

Dear BugMaster,
  Workbench KAS:dev:apn-22940-occt was created from SVN branch http://svn/svn/occt/branches/OCC22940
  (and apn-22940-products from trunk) and compiled on Linux and Windows platforms.

  There are compilation errors:
/dn47/KAS/dev/apn-22940-occt/src/StdSelect/StdSelect_BRepSelectionTool.cxx: In static member function 'static Standard_Boolean StdSelect_BRepSelectionTool::GetSensitiveForFace(const TopoDS_Face&, const Handle_StdSelect_BRepOwner&, Select3D_ListOfSensitive&, Standard_Boolean, Standard_Integer, Standard_Real, Standard_Boolean)':

/dn47/KAS/dev/apn-22940-occt/src/StdSelect/StdSelect_BRepSelectionTool.cxx:674: error: 'PI' was not declared in this scope
Info : ----------------------- Compilation Report -----------------------
Info : Failed : :KAS:dev:apn-22940-occt:StdSelect:source:StdSelect_BRepSelectionTool.cxx
Info : -----------------------------------------------------------------

san

2012-02-20 16:49

developer   ~0019678

Merge error corrected

san

2012-02-20 16:49

developer   ~0019679

The SVN branch has been reviewed and is ready for testing

apn

2012-02-21 08:58

administrator   ~0019688

Last edited: 2012-02-21 10:43

Dear BugMaster,
   Workbench KAS:dev:apn-22940-occt was created from SVN branch http://svn/svn/occt/branches/OCC22940
   (and apn-22940-products from trunk) and compiled on Windows and Linux platforms.
   
   There are not regressions in apn-22940-products regarding to KAS:dev:products-20120217-opt

   Test case is not required. I've made "steps to reproduce" in emax.
 
   See results in /QADisk/occttests/results/KAS/dev/ apn-22940-products_20022012/lin
   See reference results in /QADisk/occttests/results/KAS/dev/products-20120217-opt_17022012/lin
   See test cases in /QADisk/occttests/tests/ED

bugmaster

2012-02-22 12:59

administrator   ~0019724

Integrated into trunk of occt repository


Date: 2012-02-22 11:56:58 +0400 (Wed, 22 Feb 2012)
New Revision: 10582

Modified:
   trunk/src/StdSelect/StdSelect_BRepSelectionTool.cxx

Pawel

2012-04-12 16:44

developer   ~0020365

Verified. Please close.

Related Changesets

occt: master 73397899

2012-02-22 07:56:58

san


Committer: bugmaster Details Diff
0022940: Selection performance: TopAbs_SHELL Affected Issues
0022940
mod - src/StdSelect/StdSelect_BRepSelectionTool.cxx Diff File

Issue History

Date Modified Username Field Change
2012-01-30 17:47 Pawel New Issue
2012-01-30 17:47 Pawel Assigned To => san
2012-01-30 17:47 Pawel File Added: StdSelect_BRepSelectionTool.cxx
2012-02-02 15:56 Pawel Note Added: 0019361
2012-02-02 15:56 Pawel Status new => resolved
2012-02-07 12:01 san Assigned To san => aaa
2012-02-07 12:34 san Assigned To aaa => san
2012-02-20 12:48 san Note Added: 0019659
2012-02-20 12:53 san Note Added: 0019661
2012-02-20 12:53 san Assigned To san => bugmaster
2012-02-20 12:53 san Status resolved => reviewed
2012-02-20 12:55 san Additional Information Updated
2012-02-20 13:02 apn Assigned To bugmaster => apn
2012-02-20 16:26 apn Note Added: 0019671
2012-02-20 16:27 apn Assigned To apn => san
2012-02-20 16:27 apn Status reviewed => assigned
2012-02-20 16:49 san Note Added: 0019678
2012-02-20 16:49 san Status assigned => resolved
2012-02-20 16:49 san Note Added: 0019679
2012-02-20 16:49 san Assigned To san => bugmaster
2012-02-20 16:49 san Status resolved => reviewed
2012-02-20 17:04 apn Assigned To bugmaster => apn
2012-02-21 08:58 apn Note Added: 0019688
2012-02-21 10:42 apn Test case number => Test case is not required
2012-02-21 10:43 apn Note Edited: 0019688
2012-02-21 10:43 apn Note Edited: 0019688
2012-02-21 10:44 apn Status reviewed => tested
2012-02-21 10:44 apn Assigned To apn => bugmaster
2012-02-22 12:59 bugmaster Note Added: 0019724
2012-02-22 12:59 bugmaster Status tested => verified
2012-02-22 12:59 bugmaster Resolution open => fixed
2012-02-22 12:59 bugmaster Assigned To bugmaster => Pawel
2012-02-22 13:00 bugmaster Target Version => 6.5.3
2012-03-29 17:26 bugmaster Changeset attached => occt master 73397899
2012-04-12 16:44 Pawel Note Added: 0020365
2012-04-16 12:33 Pawel Assigned To Pawel => bugmaster