View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0008722 | Community | OCCT:Visualization | public | 2005-04-28 13:16 | 2011-12-15 16:36 |
| Reporter | Assigned To | ||||
| Priority | normal | Severity | feature | ||
| Status | closed | Resolution | fixed | ||
| OS | All | ||||
| Fixed in Version | 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 | |||||
|
2005-04-28 11:22
|
|
|
|
Dear APV, Please prepare testing workbench for attached : Created an attachment (patch.tar.gz) Corrected source file Bugmaster |
|
|
Dear BugMaster, Workbench KAS:dev:OCC8722-opt has been created and compiled on SUN and LIN. |
|
|
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. |
|
|
No regress in dev:OCC8722-opt regarding to Products on sun or lin. |
|
|
Dear APV, Please raise dev:OCC8722-opt to KAS:dev:ros Bugmaster |
|
|
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 |
|
CC | => apv, aki |
| 2005-06-07 10:40 |
|
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 |
|
Description Updated | |
| 2011-12-15 16:36 |
|
Additional Information Updated | |
| 2011-12-15 16:36 |
|
Project | Open CASCADE => Community |