|It is important to distinguish between sewing and some other procedures which modify geometry (like hole or gaps filling, glueing, curves and surfaces bending, etc.).|
|Sewing does not change geometrical representation of the shapes. |
Sewing applies on topological elements (faces, edges) which are not connected but could be because they are geometrically coincident : it adds the information of topological connectivity. Already connected elements are left untouched in the case of manifold sewing.
Sewing algorithm is one of the basic algorithms used for shape processing therefore its quality is very important.
Two variations of sewing presently exist: standard (implemented with BRepAlgo_Sewing) and advanced (implemented with ShapeUpgrade_Sewing, which is a sub-class of the first one). The only difference between them is that advanced sewing performs some additional fixes provided by ShapeHealing (use of ShapeFix_Shape) and improves some particular cases like closed surfaces. The principle and architecture of the algorithm itself remain the same.
Class BRepAlgo_Sewing provides methods implementing sewing algorithms in Open CASCADE. It manages loading initial data, setting customization parameters, analysis and sewing of loaded shapes. Initial data can be loaded to prepare for either global or local sewing. Various parameters allow for setting special modes of operation, managing tolerances and output results. Analysis methods can be used for obtaining connectivity data required by external algorithms. Sewing methods are responsible for sewing given shapes. Class ShapeUpgrade_Sewing enhances the standard sewing capabilities by using advanced methods of Shape Healing classes. Using virtual functions allows further improvements of the algorithm.