Anonymous | Login | 2021-01-25 01:28 MSK | ![]() |
My View | View Issues | Change Log | Roadmap |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0008722 | Community | [OCCT] OCCT:Visualization | public | 2005-04-28 13:16 | 2011-12-15 16:36 | ||||
Reporter | san | ||||||||
Assigned To | san | ||||||||
Priority | normal | Severity | feature | ||||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | All | OS Version | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | [OCCT] 5.2.3 | |||||||
Summary | 0008722: Optimization of StdPrs_ToolRFace::Next() method | ||||||||
Description | It is proposed to improve StdPrs_ToolRFace::Next() method, so as to avoid unnecessary recursion. ******************** Original message posted by Ernest at www.opencascade.org forum: http://www.opencascade.org/org/forum/thread_8054/ [^] some optimization ( StdPrs_ToolRFace) instead of void StdPrs_ToolRFace::Next() { myExplorer.Next(); if (myExplorer.More()) { // skip INTERNAL and EXTERNAL edges if (myExplorer.Current().Orientation() == TopAbs_INTERNAL) Next(); if (myExplorer.Current().Orientation() == TopAbs_EXTERNAL) Next(); if (myExplorer.More()) { Standard_Real U1,U2; const Handle(Geom2d_Curve)& C = BRep_Tool::CurveOnSurface(TopoDS::Edge(myExplorer.Current()), myFace, U1,U2); #ifdef OCC316 if ( !C.IsNull() ) #endif DummyCurve.Load(C,U1,U2); } } } it looks much better as: (less stack usage) void StdPrs_ToolRFace::Next() { myExplorer.Next(); if (myExplorer.More()) { // skip INTERNAL and EXTERNAL edges while (myExpolrer.More() && (myExplorer.Current().Orientation() == TopAbs_INTERNAL || myExplorer.Current().Orientation() == TopAbs_EXTERNAL)) myExplorer.Next(); if (myExplorer.More()) { Standard_Real U1,U2; const Handle(Geom2d_Curve)& C = BRep_Tool::CurveOnSurface(TopoDS::Edge(myExplorer.Current()), myFace, U1,U2); #ifdef OCC316 if ( !C.IsNull() ) #endif DummyCurve.Load(C,U1,U2); } } } at least i'd prefer the second code. | ||||||||
Additional information and documentation updates | Documentation remark, added by san 2005-06-07 08:40:05: Changes: StdPrs_ToolRFace::Next() was improved to avoid unnecessary recursion. | ||||||||
Tags | No tags attached. | ||||||||
Test case number | |||||||||
Attached Files | ![]() | ||||||||
![]() |
|
(0010238) bugmaster (administrator) 2005-05-04 11:02 |
Dear APV, Please prepare testing workbench for attached : Created an attachment (patch.tar.gz) Corrected source file Bugmaster |
(0010239) apv (tester) 2005-05-05 13:56 |
Dear BugMaster, Workbench KAS:dev:OCC8722-opt has been created and compiled on SUN and LIN. |
(0010240) apv (tester) 2005-05-05 13:58 |
Dear QAContact, Please, test the workbench KAS:dev:OCC8722-opt and compare testing results of workbenches KAS:dev:Products and KAS:dev:OCC8722-opt. Libraries for SUN and LIN are available. |
(0010241) aki (developer) 2005-05-12 13:44 |
No regress in dev:OCC8722-opt regarding to Products on sun or lin. |
(0010242) bugmaster (administrator) 2005-05-13 12:15 |
Dear APV, Please raise dev:OCC8722-opt to KAS:dev:ros Bugmaster |
(0010243) apv (tester) 2005-05-26 11:36 |
Dear BugMaster, Source file for fixing OCC8722 has been put to the queue KAS:dev:ros. |
![]() |
|||
Date Modified | Username | Field | Change |
2005-05-04 11:02 | bugmaster | Assigned To | bugmaster => san |
2005-05-04 11:02 | bugmaster | Status | new => assigned |
2005-05-05 13:56 | apv | CC | => apv, aki |
2005-06-07 10:40 | san | Status | assigned => resolved |
2005-06-27 10:01 | bugmaster | Status | resolved => verified |
2005-08-03 15:19 | bugmaster | Status | verified => closed |
2005-08-03 15:19 | bugmaster | Resolution | @0@ => fixed |
2011-08-02 11:24 | bugmaster | Category | OCCT:VIZ => OCCT:Visualization |
2011-12-15 16:36 | abv | Description Updated | View Revisions |
2011-12-15 16:36 | abv | Additional Information Updated | View Revisions |
2011-12-15 16:36 | abv | Project | Open CASCADE => Community |
Copyright © 2000 - 2021 MantisBT Team |