MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0008722Community[OCCT] OCCT:Visualizationpublic2005-04-28 13:162011-12-15 16:36
Reportersan 
Assigned Tosan 
PrioritynormalSeverityfeature 
StatusclosedResolutionfixed 
PlatformOSAllOS Version
Product Version 
Target VersionFixed in Version[OCCT] 5.2.3 
Summary0008722: Optimization of StdPrs_ToolRFace::Next() method
DescriptionIt 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.
TagsNo tags attached.
Test case number
Attached Filesgz file icon patch.tar.gz (777 bytes) 2005-04-28 11:22

- Relationships

-  Notes
(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.

- Issue History
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 - 2018 MantisBT Team
Powered by Mantis Bugtracker