Dear Author,
what you wrote regarding which method has effect if UseSmoothing is true/false is not correct.
See the following code from BRepOffsetAPI_ThruSections::TotalSurf
if(myUseSmoothing) {
anApprox.SetCriteriumWeight(myCritWeights[0], myCritWeights[1], myCritWeights[2]);
anApprox.PerformSmoothing(line, section);
}
else {
anApprox.SetParType(myParamType);
anApprox.Perform(line, section, SpApprox);
}
So, only if UseSmoothing is true, SetCriteriumWeight has effect.
Only if UseSmoothing is false, SetParType has effect.
I also think that the documentation should be improved here regarding the Smoothing.
In OCC 6.3.1 Release Notes I found the following:
Advanced approximation method (implemented in class AppDef_TheVariational) has been
included in algorithms for creation of curves and surfaces:
GeomAPI_PointsToBSpline,
GeomAPI_PointsToBSplineSurface,
Geom2dAPI_PointsToBSpline,
GeomFill_AppSurf,
BRepOffsetAPI_ThruSection
Here is an explanation about the meaning of the weight parameters for smoothing:
http://www.opencascade.org/org/forum/thread_345/?forum=3
When I tried smoothing with more complex surfaces, I often got exceptions. Does anyone have experience with smoothing / using AppDef_TheVariational? What are the requirements in order to use it successfully?
Kind regards,
Commenter-1