Open CASCADE Technology 6.6.0
|
#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_ShapeFix_Wire.hxx>
#include <Handle_ShapeFix_Edge.hxx>
#include <Handle_ShapeAnalysis_Wire.hxx>
#include <Standard_Boolean.hxx>
#include <Standard_Integer.hxx>
#include <ShapeFix_Root.hxx>
#include <Standard_Real.hxx>
#include <Handle_ShapeExtend_WireData.hxx>
#include <Handle_Geom_Surface.hxx>
#include <TopoDS_Wire.hxx>
#include <ShapeExtend_Status.hxx>
#include <ShapeFix_Wire.lxx>
Data Structures | |
class | ShapeFix_Wire |
This class provides a set of tools for repairing a wire. These are methods Fix...(), organised in two levels: Level 1: Advanced - each method in this level fixes one separate problem, usually dealing with either single edge or connection of the two adjacent edges. These methods should be used carefully and called in right sequence, because some of them depend on others. Level 2: Public (API) - methods which group several methods of level 1 and call them in a proper sequence in order to make some consistent set of fixes for a whole wire. It is possible to control calls to methods of the advanced level from methods of the public level by use of flags Fix..Mode() (see below). Fixes can be made in three ways: 1. Increasing tolerance of an edge or a vertex 2. Changing topology (adding/removing/replacing edge in the wire and/or replacing the vertex in the edge) 3. Changing geometry (shifting vertex or adjusting ends of edge curve to vertices, or recomputing curves of the edge) When fix can be made in more than one way (e.g., either by increasing tolerance or shifting a vertex), it is choosen according to the flags: ModifyTopologyMode - allows modification of the topology. This flag can be set when fixing a wire on the separate (free) face, and should be unset for face which is part of shell. ModifyGeometryMode - allows modification of the geometry. The order of descriptions of Fix() methods in this CDL approximately corresponds to the optimal order of calls. NOTE: most of fixing methods expect edges in the ShapeExtend_WireData to be ordered, so it is necessary to make call to FixReorder() before any other fixes ShapeFix_Wire should be initialized prior to any fix by the following data: a) Wire (ether TopoDS_Wire or ShapeExtend_Wire) b) Face or surface c) Precision This can be done either by calling corresponding methods (LoadWire, SetFace or SetSurface, and SetPrecision), or by loading already filled ShapeAnalisis_Wire with method Load More... |