# OCC.ShapeFix module

class `Handle_ShapeFix_ComposeShell`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_DataMapNodeOfDataMapOfShapeBox2d`(*args)

  Bases: `OCC.TCollection.Handle_TCollection_MapNode`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Edge`(*args)

  Bases: `OCC.MMgt.Handle_MMgt_TShared`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_EdgeProjAux`(*args)

  Bases: `OCC.MMgt.Handle_MMgt_TShared`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Face`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_FixSmallFace`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Root`(*args)

  Bases: `OCC.MMgt.Handle_MMgt_TShared`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_SequenceNodeOfSequenceOfWireSegment`(*args)

  Bases: `OCC.TCollection.Handle_TCollection_SeqNode`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Shape`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Shell`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Solid`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_SplitCommonVertex`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Wire`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `Handle_ShapeFix_Wireframe`(*args)

  Bases: `OCC.ShapeFix.Handle_ShapeFix_Root`

  static `DownCast`()
  `GetObject`()
  `IsNull`()
  `Nullify`()
  `thisown`

    The membership flag

class `ShapeFix_ComposeShell`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Creates empty tool.

  Return type: | None

  `DispatchWires`()
    - Creates new faces from the set of (closed) wires. Each wire is put on corresponding patch in the composite surface, and all pcurves on the initial (pseudo)face are reassigned to that surface. If several wires are one inside another, single face is created.

    Parameters: | faces (TopTools_SequenceOfShape &) – wires (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None

  `GetClosedMode`()

    ShapeFix_ComposeShell_GetClosedMode(ShapeFix_ComposeShell self) -> Standard_Boolean

  `GetHandle`()
  `GetTransferParamTool`()
    - Gets tool for transfer parameters from 3d to 2d and vice versa.

    Return type: | Handle_ShapeAnalysis_TransferParameters

  `Init`()
    - Initializes with composite surface, face and precision. Here face defines both set of wires and way of getting pcurves. Precision is used (together with tolerance of edges) for handling subtle cases, such as tangential intersections.

    Parameters: | Grid (Handle_ShapeExtend_CompositeSurface &) – L (TopLoc_Location &) – Face (TopoDS_Face &) – Prec (float) –
    Return type: | None

  `Perform`()
    - Performs the work on already loaded data.

    Return type: | bool

  `Result`()
    - Returns resulting shell or face (or Null shape if not done)

    Return type: | TopoDS_Shape

  `SetClosedMode`()

    ShapeFix_ComposeShell_SetClosedMode(ShapeFix_ComposeShell self, Standard_Boolean value)

  `SetTransferParamTool`()
    - Sets tool for transfer parameters from 3d to 2d and vice versa.

    Parameters: | TransferParam (Handle_ShapeAnalysis_TransferParameters &) –
    Return type: | None

  `SplitEdges`()
    - Splits edges in the original shape by grid. This is a part of Perform() which does not produce any resulting shape; the only result is filled context where splittings are recorded. //! NOTE: If edge is splitted, it is replaced by wire, and order of edges in the wire corresponds to FORWARD orientation of the edge.

    Return type: | None

  `Status`()
    - Queries status of last call to Perform() OK : nothing done (some kind of error) DONE1: splitting is done, at least one new face created DONE2: splitting is done, several new faces obtained FAIL1: misoriented wire encountered (handled) FAIL2: recoverable parity error FAIL3: edge with no pcurve on supporting face FAIL4: unrecoverable algorithm error (parity check)

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_DataMapIteratorOfDataMapOfShapeBox2d`(*args)

  Bases: `OCC.TCollection.TCollection_BasicMapIterator`

  Return type: | None
  Parameters: | aMap (ShapeFix_DataMapOfShapeBox2d &) –
  Return type: | None

  `Initialize`()

    Parameters: | aMap (ShapeFix_DataMapOfShapeBox2d &) –
    Return type: | None

  `Key`()

    Return type: | TopoDS_Shape

  `Value`()

    Return type: | Bnd_Box2d

  `thisown`

    The membership flag

class `ShapeFix_DataMapNodeOfDataMapOfShapeBox2d`(*args)

  Bases: `OCC.TCollection.TCollection_MapNode`

  Parameters: | K (TopoDS_Shape &) – I (Bnd_Box2d &) – n (TCollection_MapNodePtr &) –
  Return type: | None

  `GetHandle`()
  `Key`()

    Return type: | TopoDS_Shape

  `Value`()

    Return type: | Bnd_Box2d

  `thisown`

    The membership flag

class `ShapeFix_DataMapOfShapeBox2d`(*args)

  Bases: `OCC.TCollection.TCollection_BasicMap`

  Parameters: | NbBuckets (int) – default value is 1
  Return type: | None

  `Assign`()

    Parameters: | Other (ShapeFix_DataMapOfShapeBox2d &) –
    Return type: | ShapeFix_DataMapOfShapeBox2d

  `Bind`()

    Parameters: | K (TopoDS_Shape &) – I (Bnd_Box2d &) –
    Return type: | bool

  `ChangeFind`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | Bnd_Box2d

  `ChangeFind1`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | Standard_Address

  `Clear`()

    Return type: | None

  `Find`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | Bnd_Box2d

  `Find1`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | Standard_Address

  `IsBound`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | bool

  `ReSize`()

    Parameters: | NbBuckets (int) –
    Return type: | None

  `Set`()

    Parameters: | Other (ShapeFix_DataMapOfShapeBox2d &) –
    Return type: | ShapeFix_DataMapOfShapeBox2d

  `UnBind`()

    Parameters: | K (TopoDS_Shape &) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_Edge`(*args)

  Bases: `OCC.MMgt.MMgt_TShared`

  - Empty constructor

  Return type: | None

  `FixAddCurve3d`()
    - Tries to build 3d curve of the edge if missing Use : It is to be called after FixRemoveCurve3d (if removed) or in any case when edge can have no 3d curve Returns: True if 3d curve was added, else False Status : OK : 3d curve exists FAIL1: BRepLib::BuildCurve3d() has failed DONE1: 3d curve was added

    Parameters: | edge (TopoDS_Edge &) –
    Return type: | bool

  `FixAddPCurve`()
    - See method below for information

    Parameters: | edge (TopoDS_Edge &) – face (TopoDS_Face &) – isSeam (bool) – prec (float) – default value is 0.0
    Return type: | bool

    - See method below for information

    Parameters: | edge (TopoDS_Edge &) – surface (Handle_Geom_Surface &) – location (TopLoc_Location &) – isSeam (bool) – prec (float) – default value is 0.0
    Return type: | bool

    - See method below for information

    Parameters: | edge (TopoDS_Edge &) – face (TopoDS_Face &) – isSeam (bool) – surfana (Handle_ShapeAnalysis_Surface &) – prec (float) – default value is 0.0
    Return type: | bool

    - Adds pcurve(s) of the edge if missing (by projecting 3d curve) Parameter isSeam indicates if the edge is a seam. The parameter <prec> defines the precision for calculations. If it is 0 (default), the tolerance of the edge is taken. Remark : This method is rather for internal use since it accepts parameter <surfana> for optimization of computations Use : It is to be called after FixRemovePCurve (if removed) or in any case when edge can have no pcurve Returns: True if pcurve was added, else False Status : OK : Pcurve exists FAIL1: No 3d curve FAIL2: fail during projecting DONE1: Pcurve was added DONE2: specific case of pcurve going through degenerated point on sphere encountered during projection (see class ShapeConstruct_ProjectCurveOnSurface for more info)

    Parameters: | edge (TopoDS_Edge &) – surface (Handle_Geom_Surface &) – location (TopLoc_Location &) – isSeam (bool) – surfana (Handle_ShapeAnalysis_Surface &) – prec (float) – default value is 0.0
    Return type: | bool

  `FixRemoveCurve3d`()
    - Removes 3d curve of the edge if it does not match the vertices Returns: True, if does not match, removed (status DONE) False, (status OK) if matches or (status FAIL) if no 3d curve, nothing done

    Parameters: | edge (TopoDS_Edge &) –
    Return type: | bool

  `FixRemovePCurve`()

    Parameters: | edge (TopoDS_Edge &) – face (TopoDS_Face &) –
    Return type: | bool

    - Removes the pcurve(s) of the edge if it does not match the vertices Check is done Use : It is to be called when pcurve of an edge can be wrong (e.g., after import from IGES) Returns: True, if does not match, removed (status DONE) False, (status OK) if matches or (status FAIL) if no pcurve, nothing done

    Parameters: | edge (TopoDS_Edge &) – surface (Handle_Geom_Surface &) – location (TopLoc_Location &) –
    Return type: | bool

  `FixReversed2d`()

    Parameters: | edge (TopoDS_Edge &) – face (TopoDS_Face &) –
    Return type: | bool

    - Fixes edge if pcurve is directed opposite to 3d curve Check is done by call to the function ShapeAnalysis_Edge::CheckCurve3dWithPCurve() Warning: For seam edge this method will check and fix the pcurve in only one direction. Hence, it should be called twice for seam edge: once with edge orientation FORWARD and once with REVERSED. Returns: False if nothing done, True if reversed (status DONE) Status: OK - pcurve OK, nothing done FAIL1 - no pcurve FAIL2 - no 3d curve DONE1 - pcurve was reversed

    Parameters: | edge (TopoDS_Edge &) – surface (Handle_Geom_Surface &) – location (TopLoc_Location &) –
    Return type: | bool

  `FixSameParameter`()
    - Tries to make edge SameParameter and sets corresponding tolerance and SameParameter flag. First, it makes edge same range if SameRange flag is not set. //! If flag SameParameter is set, this method calls the function ShapeAnalysis_Edge::CheckSameParameter() that calculates the maximal deviation of pcurves of the edge from its 3d curve. If deviation > tolerance, the tolerance of edge is increased to a value of deviation. If deviation < tolerance nothing happens. //! If flag SameParameter is not set, this method chooses the best variant (one that has minimal tolerance), either a. only after computing deviation (as above) or b. after calling standard procedure BRepLib::SameParameter and computing deviation (as above). If <tolerance> > 0, it is used as parameter for BRepLib::SameParameter, otherwise, tolerance of the edge is used. //! Use : Is to be called after all pcurves and 3d curve of the edge are correctly computed Remark : SameParameter flag is always set to True after this method Returns: True, if something done, else False Status : OK - edge was initially SameParameter, nothing is done FAIL1 - computation of deviation of pcurves from 3d curve has failed FAIL2 - BRepLib::SameParameter() has failed DONE1 - tolerance of the edge was increased DONE2 - flag SameParameter was set to True (only if BRepLib::SameParameter() did not set it) DONE3 - edge was modified by BRepLib::SameParameter() to SameParameter DONE4 - not used anymore DONE5 - if the edge resulting from BRepLib has been chosen, i.e. variant b. above (only for edges with not set SameParameter)

    Parameters: | edge (TopoDS_Edge &) – tolerance (float) – default value is 0.0
    Return type: | bool

  `FixVertexTolerance`()

    Parameters: | edge (TopoDS_Edge &) – face (TopoDS_Face &) –
    Return type: | bool

    - Increases the tolerances of the edge vertices to comprise the ends of 3d curve and pcurve on the given face (first method) or all pcurves stored in an edge (second one) Returns: True, if tolerances have been increased, otherwise False Status: OK : the original tolerances have not been changed DONE1: the tolerance of first vertex has been increased DONE2: the tolerance of last vertex has been increased

    Parameters: | edge (TopoDS_Edge &) –
    Return type: | bool

  `GetHandle`()
  `Projector`()
    - Returns the projector used for recomputing missing pcurves Can be used for adjusting parameters of projector

    Return type: | Handle_ShapeConstruct_ProjectCurveOnSurface

  `Status`()
    - Returns the status (in the form of True/False) of last Fix

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_EdgeConnect`(*args)

  Bases: `object`

  Return type: | None

  `Add`()
    - Adds information on connectivity between start vertex of second edge and end vertex of first edge, taking edges orientation into account

    Parameters: | aFirst (TopoDS_Edge &) – aSecond (TopoDS_Edge &) –
    Return type: | None

    - Adds connectivity information for the whole shape. Note: edges in wires must be well ordered Note: flag Closed should be set for closed wires

    Parameters: | aShape (TopoDS_Shape &) –
    Return type: | None

  `Build`()
    - Builds shared vertices, updates their positions and tolerances

    Return type: | None

  `Clear`()
    - Clears internal data structure

    Return type: | None

  `thisown`

    The membership flag

class `ShapeFix_EdgeProjAux`(*args)

  Bases: `OCC.MMgt.MMgt_TShared`

  Return type: | None
  Parameters: | F (TopoDS_Face &) – E (TopoDS_Edge &) –
  Return type: | None

  `Compute`()

    Parameters: | preci (float) –
    Return type: | None

  `FirstParam`()

    Return type: | float

  `GetHandle`()
  `Init`()

    Parameters: | F (TopoDS_Face &) – E (TopoDS_Edge &) –
    Return type: | None

  `IsFirstDone`()

    Return type: | bool

  `IsIso`()

    Parameters: | C (Handle_Geom2d_Curve &) –
    Return type: | bool

  `IsLastDone`()

    Return type: | bool

  `LastParam`()

    Return type: | float

  `thisown`

    The membership flag

class `ShapeFix_Face`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Creates an empty tool

  Return type: | None

  - Creates a tool and loads a face

  Parameters: | face (TopoDS_Face &) –
  Return type: | None

  `Add`()
    - Add a wire to current face using BRep_Builder. Wire is added without taking into account orientation of face (as if face were FORWARD).

    Parameters: | wire (TopoDS_Wire &) –
    Return type: | None

  `ClearModes`()
    - Sets all modes to default

    Return type: | void

  `Face`()
    - Returns a face which corresponds to the current state Warning: The finally produced face may be another one ... but with the same support

    Return type: | TopoDS_Face

  `FixAddNaturalBound`()
    - Adds natural boundary on face if it is missing. Two cases are supported: - face has no wires - face lies on geometrically double-closed surface (sphere or torus) and none of wires is left-oriented Returns True if natural boundary was added

    Return type: | bool

  `FixIntersectingWires`()
    - Detects and fixes the special case when face has more than one wire and this wires have intersection point

    Return type: | bool

  `FixLoopWire`()
    - Detects if wire has a loop and fixes this situation by splitting on the few parts. if wire has a loops and it was splitted Status was set to value ShapeExtend_DONE6.

    Parameters: | aResWires (TopTools_SequenceOfShape &) –
    Return type: | bool

  `FixMissingSeam`()
    - Detects and fixes the special case when face on a closed surface is given by two wires closed in 3d but with gap in 2d. In that case it creates a new wire from the two, and adds a missing seam edge Returns True if missing seam was added

    Return type: | bool

  `FixOrientation`()
    - Fixes orientation of wires on the face It tries to make all wires lie outside all others (according to orientation) by reversing orientation of some of them. If face lying on sphere or torus has single wire and AddNaturalBoundMode is True, that wire is not reversed in any case (supposing that natural bound will be added). Returns True if wires were reversed

    Return type: | bool

    - Fixes orientation of wires on the face It tries to make all wires lie outside all others (according to orientation) by reversing orientation of some of them. If face lying on sphere or torus has single wire and AddNaturalBoundMode is True, that wire is not reversed in any case (supposing that natural bound will be added). Returns True if wires were reversed OutWires return information about out wires + list of internal wires for each (for performing split face).

    Parameters: | MapWires (TopTools_DataMapOfShapeListOfShape &) –
    Return type: | bool

  `FixPeriodicDegenerated`()
    - Fixes topology for a specific case when face is composed by a single wire belting a periodic surface. In that case a degenerated edge is reconstructed in the degenerated pole of the surface. Initial wire gets consistent orientation. Must be used in couple and before FixMissingSeam routine

    Return type: | bool

  `FixSmallAreaWire`()
    - Detects wires with small area (that is less than 100*Precision::PConfusion(). Removes these wires if they are internal. Returns : True if at least one small wire removed, False if does nothing.

    Return type: | bool

  `FixSplitFace`()
    - Split face if there are more than one out wire using inrormation after FixOrientation()

    Parameters: | MapWires (TopTools_DataMapOfShapeListOfShape &) –
    Return type: | bool

  `FixWireTool`()
    - Returns tool for fixing wires.

    Return type: | Handle_ShapeFix_Wire

  `FixWiresTwoCoincEdges`()
    - If wire contains two coincidence edges it must be removed Queries on status after Perform()

    Return type: | bool

  `GetAutoCorrectPrecisionMode`()

    ShapeFix_Face_GetAutoCorrectPrecisionMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixAddNaturalBoundMode`()

    ShapeFix_Face_GetFixAddNaturalBoundMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixIntersectingWiresMode`()

    ShapeFix_Face_GetFixIntersectingWiresMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixLoopWiresMode`()

    ShapeFix_Face_GetFixLoopWiresMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixMissingSeamMode`()

    ShapeFix_Face_GetFixMissingSeamMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixOrientationMode`()

    ShapeFix_Face_GetFixOrientationMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixPeriodicDegeneratedMode`()

    ShapeFix_Face_GetFixPeriodicDegeneratedMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixSmallAreaWireMode`()

    ShapeFix_Face_GetFixSmallAreaWireMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixSplitFaceMode`()

    ShapeFix_Face_GetFixSplitFaceMode(ShapeFix_Face self) -> Standard_Integer

  `GetFixWireMode`()

    ShapeFix_Face_GetFixWireMode(ShapeFix_Face self) -> Standard_Integer

  `GetHandle`()
  `Init`()
    - Loads a whole face already created, with its wires, sense and location

    Parameters: | face (TopoDS_Face &) –
    Return type: | None

    - Starts the creation of the face By default it will be FORWARD, or REVERSED if <fwd> is False

    Parameters: | surf (Handle_Geom_Surface &) – preci (float) – fwd (bool) – default value is Standard_True
    Return type: | None

    - Starts the creation of the face By default it will be FORWARD, or REVERSED if <fwd> is False

    Parameters: | surf (Handle_ShapeAnalysis_Surface &) – preci (float) – fwd (bool) – default value is Standard_True
    Return type: | None

  `Perform`()
    - Performs all the fixes, depending on modes Function Status returns the status of last call to Perform() ShapeExtend_OK : face was OK, nothing done ShapeExtend_DONE1: some wires are fixed ShapeExtend_DONE2: orientation of wires fixed ShapeExtend_DONE3: missing seam added ShapeExtend_DONE4: small area wire removed ShapeExtend_DONE5: natural bounds added ShapeExtend_FAIL1: some fails during fixing wires ShapeExtend_FAIL2: cannot fix orientation of wires ShapeExtend_FAIL3: cannot add missing seam ShapeExtend_FAIL4: cannot remove small area wire

    Return type: | bool

  `Result`()
    - Returns resulting shape (Face or Shell if splitted) To be used instead of Face() if FixMissingSeam involved

    Return type: | TopoDS_Shape

  `SetAutoCorrectPrecisionMode`()

    ShapeFix_Face_SetAutoCorrectPrecisionMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixAddNaturalBoundMode`()

    ShapeFix_Face_SetFixAddNaturalBoundMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixIntersectingWiresMode`()

    ShapeFix_Face_SetFixIntersectingWiresMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixLoopWiresMode`()

    ShapeFix_Face_SetFixLoopWiresMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixMissingSeamMode`()

    ShapeFix_Face_SetFixMissingSeamMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixOrientationMode`()

    ShapeFix_Face_SetFixOrientationMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixPeriodicDegeneratedMode`()

    ShapeFix_Face_SetFixPeriodicDegeneratedMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixSmallAreaWireMode`()

    ShapeFix_Face_SetFixSmallAreaWireMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixSplitFaceMode`()

    ShapeFix_Face_SetFixSplitFaceMode(ShapeFix_Face self, Standard_Integer value)

  `SetFixWireMode`()

    ShapeFix_Face_SetFixWireMode(ShapeFix_Face self, Standard_Integer value)

  `Status`()
    - Returns the status of last call to Perform() ShapeExtend_OK : face was OK, nothing done ShapeExtend_DONE1: some wires are fixed ShapeExtend_DONE2: orientation of wires fixed ShapeExtend_DONE3: missing seam added ShapeExtend_DONE4: small area wire removed ShapeExtend_DONE5: natural bounds added ShapeExtend_DONE8: face may be splited ShapeExtend_FAIL1: some fails during fixing wires ShapeExtend_FAIL2: cannot fix orientation of wires ShapeExtend_FAIL3: cannot add missing seam ShapeExtend_FAIL4: cannot remove small area wire

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_FaceConnect`(*args)

  Bases: `object`

  Return type: | None

  `Add`()

    Parameters: | aFirst (TopoDS_Face &) – aSecond (TopoDS_Face &) –
    Return type: | bool

  `Build`()

    Parameters: | shell (TopoDS_Shell &) – sewtoler (float) – fixtoler (float) –
    Return type: | TopoDS_Shell

  `Clear`()
    - Clears internal data structure

    Return type: | None

  `thisown`

    The membership flag

class `ShapeFix_FixSmallFace`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  Return type: | None

  `ComputeSharedEdgeForStripFace`()
    - Compute average edge for strip face

    Parameters: | F (TopoDS_Face &) – E1 (TopoDS_Edge &) – E2 (TopoDS_Edge &) – F1 (TopoDS_Face &) – tol (float) –
    Return type: | TopoDS_Edge

  `FixFace`()

    Parameters: | F (TopoDS_Face &) –
    Return type: | TopoDS_Face

  `FixPinFace`()

    Parameters: | F (TopoDS_Face &) –
    Return type: | bool

  `FixShape`()

    Return type: | TopoDS_Shape

  `FixSplitFace`()

    Parameters: | S (TopoDS_Shape &) –
    Return type: | TopoDS_Shape

  `FixSpotFace`()
    - Fixing case of spot face, if tol = -1 used local tolerance.

    Return type: | TopoDS_Shape

  `FixStripFace`()
    - Fixing case of strip face, if tol = -1 used local tolerance

    Parameters: | wasdone (bool) – default value is Standard_False
    Return type: | TopoDS_Shape

  `GetHandle`()
  `Init`()

    Parameters: | S (TopoDS_Shape &) –
    Return type: | None

  `Perform`()
    - Fixing case of spot face

    Return type: | None

  `RemoveFacesInCaseOfSpot`()
    - Remove spot face from compound

    Parameters: | F (TopoDS_Face &) –
    Return type: | bool

  `RemoveFacesInCaseOfStrip`()
    - Remove strip face from compound.

    Parameters: | F (TopoDS_Face &) –
    Return type: | bool

  `RemoveSmallFaces`()
    - Remove small faces from compound.

    Return type: | TopoDS_Shape

  `ReplaceInCaseOfStrip`()
    - Replace veretces and edges.

    Parameters: | F (TopoDS_Face &) – E1 (TopoDS_Edge &) – E2 (TopoDS_Edge &) – tol (float) –
    Return type: | bool

  `ReplaceVerticesInCaseOfSpot`()
    - Compute average vertex and replacing vertices by new one.

    Parameters: | F (TopoDS_Face &) – tol (float) –
    Return type: | bool

  `Shape`()

    Return type: | TopoDS_Shape

  `SplitFaces`()
    - Split faces by splitting vertices

    Return type: | TopoDS_Shape

  `SplitOneFace`()
    - Compute data for face splitting.

    Parameters: | F (TopoDS_Face &) – theSplittedFaces (TopoDS_Compound &) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_FreeBounds`(*args)

  Bases: `object`

  - Empty constructor

  Return type: | None

  - Builds forecasting free bounds of the <shape> and connects open wires with tolerance <closetoler>. <shape> should be a compound of faces. Tolerance <closetoler> should be greater than tolerance <sewtoler> used for initializing sewing analyzer, otherwise connection of open wires is not performed.

  Parameters: | shape (TopoDS_Shape &) – sewtoler (float) – closetoler (float) – splitclosed (bool) – splitopen (bool) –
  Return type: | None

  - Builds actual free bounds of the <shape> and connects open wires with tolerance <closetoler>. <shape> should be a compound of shells.

  Parameters: | shape (TopoDS_Shape &) – closetoler (float) – splitclosed (bool) – splitopen (bool) –
  Return type: | None

  `GetClosedWires`()
    - Returns compound of closed wires out of free edges.

    Return type: | TopoDS_Compound

  `GetOpenWires`()
    - Returns compound of open wires out of free edges.

    Return type: | TopoDS_Compound

  `GetShape`()
    - Returns modified source shape.

    Return type: | TopoDS_Shape

  `thisown`

    The membership flag

class `ShapeFix_IntersectionTool`(*args)

  Bases: `object`

  - Constructor

  Parameters: | context (Handle_ShapeBuild_ReShape &) – preci (float) – maxtol (float) – default value is 1.0
  Return type: | None

  `Context`()
    - Returns context

    Return type: | Handle_ShapeBuild_ReShape

  `CutEdge`()
    - Cut edge by parameters pend and cut

    Parameters: | edge (TopoDS_Edge &) – pend (float) – cut (float) – face (TopoDS_Face &) – iscutline (bool) –
    Return type: | bool

  `FixIntersectingWires`()

    Parameters: | face (TopoDS_Face &) –
    Return type: | bool

  `FixSelfIntersectWire`()

    Parameters: | sewd (Handle_ShapeExtend_WireData &) – face (TopoDS_Face &) – NbSplit (int &) – NbCut (int &) – NbRemoved (int &) –
    Return type: | bool

  `SplitEdge`()
    - Split edge on two new edges using new vertex ‘vert’ and ‘param’ - parameter for splitting The ‘face’ is necessary for pcurves and using TransferParameterProj

    Parameters: | edge (TopoDS_Edge &) – param (float) – vert (TopoDS_Vertex &) – face (TopoDS_Face &) – newE1 (TopoDS_Edge &) – newE2 (TopoDS_Edge &) – preci (float) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_Root`(*args)

  Bases: `OCC.MMgt.MMgt_TShared`

  - Empty Constructor (no context is created)

  Return type: | None

  `Context`()
    - Returns context

    Return type: | Handle_ShapeBuild_ReShape

  `GetHandle`()
  `LimitTolerance`()
    - Returns tolerance limited by [myMinTol,myMaxTol]

    Parameters: | toler (float) –
    Return type: | float

  `MaxTolerance`()
    - Returns maximal allowed tolerance

    Return type: | float

  `MinTolerance`()
    - Returns minimal allowed tolerance

    Return type: | float

  `MsgRegistrator`()
    - Returns message registrator

    Return type: | Handle_ShapeExtend_BasicMsgRegistrator

  `Precision`()
    - Returns basic precision value

    Return type: | float

  `SendFail`()
    - Sends a fail to be attached to the shape. Calls SendMsg with gravity set to Message_Fail.

    Parameters: | shape (TopoDS_Shape &) – message (Message_Msg &) –
    Return type: | None

    - Calls previous method for myShape.

    Parameters: | message (Message_Msg &) –
    Return type: | None

  `SendMsg`()
    - Sends a message to be attached to the shape. Calls corresponding message of message registrator.

    Parameters: | shape (TopoDS_Shape &) – message (Message_Msg &) – gravity (Message_Gravity) – default value is Message_Info
    Return type: | None

    - Sends a message to be attached to myShape. Calls previous method.

    Parameters: | message (Message_Msg &) – gravity (Message_Gravity) – default value is Message_Info
    Return type: | None

  `SendWarning`()
    - Sends a warning to be attached to the shape. Calls SendMsg with gravity set to Message_Warning.

    Parameters: | shape (TopoDS_Shape &) – message (Message_Msg &) –
    Return type: | None

    - Calls previous method for myShape.

    Parameters: | message (Message_Msg &) –
    Return type: | None

  `Set`()
    - Copy all fields from another Root object

    Parameters: | Root (Handle_ShapeFix_Root &) –
    Return type: | void

  `SetContext`()
    - Sets context

    Parameters: | context (Handle_ShapeBuild_ReShape &) –
    Return type: | void

  `SetMaxTolerance`()
    - Sets maximal allowed tolerance

    Parameters: | maxtol (float) –
    Return type: | void

  `SetMinTolerance`()
    - Sets minimal allowed tolerance

    Parameters: | mintol (float) –
    Return type: | void

  `SetMsgRegistrator`()
    - Sets message registrator

    Parameters: | msgreg (Handle_ShapeExtend_BasicMsgRegistrator &) –
    Return type: | void

  `SetPrecision`()
    - Sets basic precision value

    Parameters: | preci (float) –
    Return type: | void

  `thisown`

    The membership flag

class `ShapeFix_SequenceNodeOfSequenceOfWireSegment`(*args)

  Bases: `OCC.TCollection.TCollection_SeqNode`

  Parameters: | I (ShapeFix_WireSegment &) – n (TCollection_SeqNodePtr &) – p (TCollection_SeqNodePtr &) –
  Return type: | None

  `GetHandle`()
  `Value`()

    Return type: | ShapeFix_WireSegment

  `thisown`

    The membership flag

class `ShapeFix_SequenceOfWireSegment`(*args)

  Bases: `OCC.TCollection.TCollection_BaseSequence`

  Return type: | None
  Parameters: | Other (ShapeFix_SequenceOfWireSegment &) –
  Return type: | None

  `Append`()

    Parameters: | T (ShapeFix_WireSegment &) – S (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None
    Return type: | None

  `Assign`()

    Parameters: | Other (ShapeFix_SequenceOfWireSegment &) –
    Return type: | ShapeFix_SequenceOfWireSegment

  `ChangeValue`()

    Parameters: | Index (int) –
    Return type: | ShapeFix_WireSegment

  `Clear`()

    Return type: | None

  `First`()

    Return type: | ShapeFix_WireSegment

  `InsertAfter`()

    Parameters: | Index (int) – T (ShapeFix_WireSegment &) – Index – S (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None
    Return type: | None

  `InsertBefore`()

    Parameters: | Index (int) – T (ShapeFix_WireSegment &) – Index – S (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None
    Return type: | None

  `Last`()

    Return type: | ShapeFix_WireSegment

  `Prepend`()

    Parameters: | T (ShapeFix_WireSegment &) – S (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None
    Return type: | None

  `Remove`()

    Parameters: | Index (int) – FromIndex (int) – ToIndex (int) –
    Return type: | None
    Return type: | None

  `Set`()

    Parameters: | Other (ShapeFix_SequenceOfWireSegment &) –
    Return type: | ShapeFix_SequenceOfWireSegment

  `SetValue`()

    Parameters: | Index (int) – I (ShapeFix_WireSegment &) –
    Return type: | None

  `Split`()

    Parameters: | Index (int) – Sub (ShapeFix_SequenceOfWireSegment &) –
    Return type: | None

  `Value`()

    Parameters: | Index (int) –
    Return type: | ShapeFix_WireSegment

  `thisown`

    The membership flag

class `ShapeFix_Shape`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Empty Constructor

  Return type: | None

  - Initislises by shape.

  Parameters: | shape (TopoDS_Shape &) –
  Return type: | None

  `FixEdgeTool`()
    - Returns tool for fixing edges.

    Return type: | Handle_ShapeFix_Edge

  `FixFaceTool`()
    - Returns tool for fixing faces.

    Return type: | Handle_ShapeFix_Face

  `FixShellTool`()
    - Returns tool for fixing shells.

    Return type: | Handle_ShapeFix_Shell

  `FixSolidTool`()
    - Returns tool for fixing solids.

    Return type: | Handle_ShapeFix_Solid

  `FixWireTool`()
    - Returns tool for fixing wires.

    Return type: | Handle_ShapeFix_Wire

  `GetFixFreeFaceMode`()

    ShapeFix_Shape_GetFixFreeFaceMode(ShapeFix_Shape self) -> Standard_Integer

  `GetFixFreeShellMode`()

    ShapeFix_Shape_GetFixFreeShellMode(ShapeFix_Shape self) -> Standard_Integer

  `GetFixFreeWireMode`()

    ShapeFix_Shape_GetFixFreeWireMode(ShapeFix_Shape self) -> Standard_Integer

  `GetFixSameParameterMode`()

    ShapeFix_Shape_GetFixSameParameterMode(ShapeFix_Shape self) -> Standard_Integer

  `GetFixSolidMode`()

    ShapeFix_Shape_GetFixSolidMode(ShapeFix_Shape self) -> Standard_Integer

  `GetFixVertexPositionMode`()

    ShapeFix_Shape_GetFixVertexPositionMode(ShapeFix_Shape self) -> Standard_Integer

  `GetHandle`()
  `Init`()
    - Initislises by shape.

    Parameters: | shape (TopoDS_Shape &) –
    Return type: | None

  `Perform`()
    - Iterates on sub- shape and performs fixes

    Parameters: | theProgress (Handle_Message_ProgressIndicator &) – default value is 0
    Return type: | bool

  `SetFixFreeFaceMode`()

    ShapeFix_Shape_SetFixFreeFaceMode(ShapeFix_Shape self, Standard_Integer value)

  `SetFixFreeShellMode`()

    ShapeFix_Shape_SetFixFreeShellMode(ShapeFix_Shape self, Standard_Integer value)

  `SetFixFreeWireMode`()

    ShapeFix_Shape_SetFixFreeWireMode(ShapeFix_Shape self, Standard_Integer value)

  `SetFixSameParameterMode`()

    ShapeFix_Shape_SetFixSameParameterMode(ShapeFix_Shape self, Standard_Integer value)

  `SetFixSolidMode`()

    ShapeFix_Shape_SetFixSolidMode(ShapeFix_Shape self, Standard_Integer value)

  `SetFixVertexPositionMode`()

    ShapeFix_Shape_SetFixVertexPositionMode(ShapeFix_Shape self, Standard_Integer value)

  `Shape`()
    - Returns resulting shape

    Return type: | TopoDS_Shape

  `Status`()
    - Returns the status of the last Fix. This can be a combination of the following flags: ShapeExtend_DONE1: some free edges were fixed ShapeExtend_DONE2: some free wires were fixed ShapeExtend_DONE3: some free faces were fixed ShapeExtend_DONE4: some free shells were fixed ShapeExtend_DONE5: some free solids were fixed ShapeExtend_DONE6: shapes in compound(s) were fixed

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_ShapeTolerance`(*args)

  Bases: `object`

  Return type: | None

  `LimitTolerance`()
    - Limits tolerances in a shape as follows : tmin = tmax -> as SetTolerance (forces) tmin = 0 -> maximum tolerance will be <tmax> tmax = 0 or not given (more generally, tmax < tmin) -> <tmax> ignored, minimum will be <tmin> else, maximum will be <max> and minimum will be <min> styp = VERTEX : only vertices are set styp = EDGE : only edges are set styp = FACE : only faces are set styp = WIRE : to have edges and their vertices set styp = other value : all (vertices,edges,faces) are set Returns True if at least one tolerance of the sub-shape has been modified

    Parameters: | shape (TopoDS_Shape &) – tmin (float) – tmax (float) – default value is 0.0 styp (TopAbs_ShapeEnum) – default value is TopAbs_SHAPE
    Return type: | bool

  `SetTolerance`()
    - Sets (enforces) tolerances in a shape to the given value styp = VERTEX : only vertices are set styp = EDGE : only edges are set styp = FACE : only faces are set styp = WIRE : to have edges and their vertices set styp = other value : all (vertices,edges,faces) are set

    Parameters: | shape (TopoDS_Shape &) – preci (float) – styp (TopAbs_ShapeEnum) – default value is TopAbs_SHAPE
    Return type: | None

  `thisown`

    The membership flag

class `ShapeFix_Shell`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Empty constructor

  Return type: | None

  - Initializes by shell.

  Parameters: | shape (TopoDS_Shell &) –
  Return type: | None

  `ErrorFaces`()
    - Returns not oriented subset of faces.

    Return type: | TopoDS_Compound

  `FixFaceOrientation`()
    - Fixes orientation of faces in shell. Changes orientation of face in the shell, if it is oriented opposite to neigbouring faces. If it is not possible to orient all faces in the shell (like in case of mebious band), this method orients only subset of faces. Other faces are stored in Error compound. Modes : isAccountMultiConex - mode for account cases of multiconnexity. If this mode is equal to Standard_True, separate shells will be created in the cases of multiconnexity. If this mode is equal to Standard_False, one shell will be created without account of multiconnexity.By defautt - Standard_True; NonManifold - mode for creation of non-manifold shells. If this mode is equal to Standard_True one non-manifold will be created from shell contains multishared edges. Else if this mode is equal to Standard_False only manifold shells will be created. By default - Standard_False.

    Parameters: | shell (TopoDS_Shell &) – isAccountMultiConex (bool) – default value is Standard_True NonManifold (bool) – default value is Standard_False
    Return type: | bool

  `FixFaceTool`()
    - Returns tool for fixing faces.

    Return type: | Handle_ShapeFix_Face

  `GetFixFaceMode`()

    ShapeFix_Shell_GetFixFaceMode(ShapeFix_Shell self) -> Standard_Integer

  `GetFixOrientationMode`()

    ShapeFix_Shell_GetFixOrientationMode(ShapeFix_Shell self) -> Standard_Integer

  `GetHandle`()
  `Init`()
    - Initializes by shell.

    Parameters: | shell (TopoDS_Shell &) –
    Return type: | None

  `NbShells`()
    - Returns Number of obtainrd shells;

    Return type: | int

  `Perform`()
    - Iterates on subshapes and performs fixes (for each face calls ShapeFix_Face::Perform and then calls FixFaceOrientation). The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.

    Parameters: | theProgress (Handle_Message_ProgressIndicator &) – default value is 0
    Return type: | bool

  `SetFixFaceMode`()

    ShapeFix_Shell_SetFixFaceMode(ShapeFix_Shell self, Standard_Integer value)

  `SetFixOrientationMode`()

    ShapeFix_Shell_SetFixOrientationMode(ShapeFix_Shell self, Standard_Integer value)

  `Shape`()
    - In case of multiconnexity returns compound of fixed shells else returns one shell..

    Return type: | TopoDS_Shape

  `Shell`()
    - Returns fixed shell (or subset of oriented faces).

    Return type: | TopoDS_Shell

  `Status`()
    - Returns the status of the last Fix.

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_Solid`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Empty constructor;

  Return type: | None

  - Initializes by solid.

  Parameters: | solid (TopoDS_Solid &) –
  Return type: | None

  `FixShellTool`()
    - Returns tool for fixing shells.

    Return type: | Handle_ShapeFix_Shell

  `GetCreateOpenSolidMode`()

    ShapeFix_Solid_GetCreateOpenSolidMode(ShapeFix_Solid self) -> Standard_Boolean

  `GetFixShellMode`()

    ShapeFix_Solid_GetFixShellMode(ShapeFix_Solid self) -> Standard_Integer

  `GetHandle`()
  `Init`()
    - Initializes by solid .

    Parameters: | solid (TopoDS_Solid &) –
    Return type: | void

  `Perform`()
    - Iterates on shells and performs fixes (calls ShapeFix_Shell for each subshell). The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.

    Parameters: | theProgress (Handle_Message_ProgressIndicator &) – default value is 0
    Return type: | bool

  `SetCreateOpenSolidMode`()

    ShapeFix_Solid_SetCreateOpenSolidMode(ShapeFix_Solid self, Standard_Boolean value)

  `SetFixShellMode`()

    ShapeFix_Solid_SetFixShellMode(ShapeFix_Solid self, Standard_Integer value)

  `Shape`()
    - In case of multiconnexity returns compound of fixed solids else returns one solid.

    Return type: | TopoDS_Shape

  `Solid`()
    - Returns resulting solid.

    Return type: | TopoDS_Shape

  `SolidFromShell`()
    - Calls MakeSolid and orients the solid to be ‘not infinite’

    Parameters: | shell (TopoDS_Shell &) –
    Return type: | TopoDS_Solid

  `Status`()
    - Returns the status of the last Fix.

    Parameters: | status (ShapeExtend_Status) –
    Return type: | int

  `thisown`

    The membership flag

class `ShapeFix_SplitCommonVertex`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  Return type: | None

  `GetHandle`()
  `Init`()

    Parameters: | S (TopoDS_Shape &) –
    Return type: | None

  `Perform`()

    Return type: | None

  `Shape`()

    Return type: | TopoDS_Shape

  `thisown`

    The membership flag

class `ShapeFix_SplitTool`(*args)

  Bases: `object`

  - Empty constructor

  Return type: | None

  `CutEdge`()
    - Cut edge by parameters pend and cut

    Parameters: | edge (TopoDS_Edge &) – pend (float) – cut (float) – face (TopoDS_Face &) – iscutline (bool) –
    Return type: | bool

  `SplitEdge`()
    - Split edge on two new edges using new vertex ‘vert’ and ‘param’ - parameter for splitting The ‘face’ is necessary for pcurves and using TransferParameterProj

    Parameters: | edge (TopoDS_Edge &) – param (float) – vert (TopoDS_Vertex &) – face (TopoDS_Face &) – newE1 (TopoDS_Edge &) – newE2 (TopoDS_Edge &) – tol3d (float) – tol2d (float) –
    Return type: | bool

    - Split edge on two new edges using new vertex ‘vert’ and ‘param1’ and ‘param2’ - parameter for splitting and cutting The ‘face’ is necessary for pcurves and using TransferParameterProj

    Parameters: | edge (TopoDS_Edge &) – param1 (float) – param2 (float) – vert (TopoDS_Vertex &) – face (TopoDS_Face &) – newE1 (TopoDS_Edge &) – newE2 (TopoDS_Edge &) – tol3d (float) – tol2d (float) –
    Return type: | bool

    - Split edge on two new edges using two new vertex V1 and V2 and two parameters for splitting - fp and lp correspondingly The ‘face’ is necessary for pcurves and using TransferParameterProj aNum - number of edge in SeqE which corresponding to [fp,lp]

    Parameters: | edge (TopoDS_Edge &) – fp (float) – V1 (TopoDS_Vertex &) – lp (float) – V2 (TopoDS_Vertex &) – face (TopoDS_Face &) – SeqE (TopTools_SequenceOfShape &) – aNum (int &) – context (Handle_ShapeBuild_ReShape &) – tol3d (float) – tol2d (float) –
    Return type: | bool

  `thisown`

    The membership flag

class `ShapeFix_Wire`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  - Empty Constructor, creates clear object with default flags

  Return type: | None

  - Create new object with default flags and prepare it for use (Loads analyzer with all the data for the wire and face)

  Parameters: | wire (TopoDS_Wire &) – face (TopoDS_Face &) – prec (float) –
  Return type: | None

  `Analyzer`()
    - returns field Analyzer (working tool)

    Return type: | Handle_ShapeAnalysis_Wire

  `ClearModes`()
    - Sets all modes to default

    Return type: | None

  `ClearStatuses`()
    - Clears all statuses

    Return type: | None

  `Face`()
    - returns working face (Analyzer.Face())

    Return type: | TopoDS_Face

  `FixClosed`()
    - Fixes a wire to be well closed It performs FixConnected, FixDegenerated and FixLacking between last and first edges (independingly on flag ClosedMode and modes for these fixings) If <prec> is -1 then MaxTolerance() is taken.

    Parameters: | prec (float) – default value is -1.0
    Return type: | bool

  `FixConnected`()
    - Applies FixConnected(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True If <prec> is -1 then MaxTolerance() is taken.

    Parameters: | prec (float) – default value is -1.0
    Return type: | bool

    - Fixes connected edges (preceeding and current) Forces Vertices (end of preceeding-begin of current) to be the same one Tests with starting preci or, if given greater, <prec> If <prec> is -1 then MaxTolerance() is taken.

    Parameters: | num (int) – prec (float) –
    Return type: | bool

  `FixDegenerated`()
    - Applies FixDegenerated(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True

    Return type: | bool

    - Fixes Degenerated Edge Checks an <num-th> edge or a point between <num>th-1 and <num>th edges for a singularity on a supporting surface. If singularity is detected, either adds new degenerated edge (before <num>th), or makes <num>th edge to be degenerated.

    Parameters: | num (int) –
    Return type: | bool

  `FixEdgeCurves`()
    - Groups the fixes dealing with 3d and pcurves of the edges. The order of the fixes and the default behaviour are: ShapeFix_Edge::FixReversed2d ShapeFix_Edge::FixRemovePCurve (only if forced) ShapeFix_Edge::FixAddPCurve ShapeFix_Edge::FixRemoveCurve3d (only if forced) ShapeFix_Edge::FixAddCurve3d FixSeam, FixShifted, ShapeFix_Edge::FixSameParameter

    Return type: | bool

  `FixEdgeTool`()
    - Returns tool for fixing wires.

    Return type: | Handle_ShapeFix_Edge

  `FixGap2d`()
    - Fixes gap between ends of pcurves on num-1 and num-th edges. myPrecision is used to detect the gap. If convert is True, converts pcurves to bsplines to bend.

    Parameters: | num (int) – convert (bool) – default value is Standard_False
    Return type: | bool

  `FixGap3d`()
    - Fixes gap between ends of 3d curves on num-1 and num-th edges. myPrecision is used to detect the gap. If convert is True, converts curves to bsplines to bend.

    Parameters: | num (int) – convert (bool) – default value is Standard_False
    Return type: | bool

  `FixGaps2d`()
    - Fixes gaps between ends of pcurves on adjacent edges myPrecision is used to detect the gaps.

    Return type: | bool

  `FixGaps3d`()
    - Fixes gaps between ends of 3d curves on adjacent edges myPrecision is used to detect the gaps.

    Return type: | bool

  `FixLacking`()
    - Applies FixLacking(num) to all edges in the wire Connection between first and last edges is treated only if flag ClosedMode is True If <force> is False (default), test for connectness is done with precision of vertex between edges, else it is done with minimal value of vertex tolerance and Analyzer.Precision(). Hence, <force> will lead to inserting lacking edges in replacement of vertices which have big tolerances.

    Parameters: | force (bool) – default value is Standard_False
    Return type: | bool

    - Fixes Lacking Edge Test if two adjucent edges are disconnected in 2d (while connected in 3d), and in that case either increase tolerance of the vertex or add a new edge (straight in 2d space), in order to close wire in 2d. Returns True if edge was added or tolerance was increased.

    Parameters: | num (int) – force (bool) – default value is Standard_False
    Return type: | bool

  `FixNotchedEdges`()

    Return type: | bool

  `FixReorder`()
    - Performs an analysis and reorders edges in the wire using class WireOrder

    Return type: | bool

    - Reorder edges in the wire as determined by WireOrder that should be filled and computed before

    Parameters: | wi (ShapeAnalysis_WireOrder &) –
    Return type: | bool

  `FixSeam`()
    - Fixes a seam edge A Seam edge has two pcurves, one for forward. one for reversed The forward pcurve must be set as first //! NOTE that correct order of pcurves in the seam edge depends on its orientation (i.e., on orientation of the wire, method of exploration of edges etc.). Since wire represented by the ShapeExtend_WireData is always forward (orientation is accounted by edges), it will work correct if: 1. Wire created from ShapeExtend_WireData with methods ShapeExtend_WireData::Wire..() is added into the FORWARD face (orientation can be applied later) 2. Wire is extracted from the face with orientation not composed with orientation of the face

    Parameters: | num (int) –
    Return type: | bool

  `FixSelfIntersection`()
    - Applies FixSelfIntersectingEdge(num) and FixIntersectingEdges(num) to all edges in the wire and FixIntersectingEdges(num1, num2) for all pairs num1 and num2 such that num2 >= num1 + 2 and removes wrong edges if any

    Return type: | bool

  `FixShifted`()
    - Fixes edges which have pcurves shifted by whole parameter range on the closed surface (the case may occur if pcurve of edge was computed by projecting 3d curve, which goes along the seam). It compares each two consequent edges and tries to connect them if distance between ends is near to range of the surface. It also can detect and fix the case if all pcurves are connected, but lie out of parametric bounds of the surface. In addition to FixShifted from ShapeFix_Wire, more sophisticated check of degenerate points is performed, and special cases like sphere given by two meridians are treated.

    Return type: | bool

  `FixSmall`()
    - Applies FixSmall(num) to all edges in the wire

    Parameters: | lockvtx (bool) – precsmall (float) – default value is 0.0
    Return type: | int

    - Fixes Null Length Edge to be removed If an Edge has Null Length (regarding preci, or <precsmall> - what is smaller), it should be removed It can be with no problem if its two vertices are the same Else, if lockvtx is False, it is removed and its end vertex is put on the preceeding edge But if lockvtx is True, this edge must be kept ...

    Parameters: | num (int) – lockvtx (bool) – precsmall (float) –
    Return type: | bool

  `GetClosedWireMode`()

    ShapeFix_Wire_GetClosedWireMode(ShapeFix_Wire self) -> Standard_Boolean

  `GetFixAddCurve3dMode`()

    ShapeFix_Wire_GetFixAddCurve3dMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixAddPCurveMode`()

    ShapeFix_Wire_GetFixAddPCurveMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixConnectedMode`()

    ShapeFix_Wire_GetFixConnectedMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixDegeneratedMode`()

    ShapeFix_Wire_GetFixDegeneratedMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixEdgeCurvesMode`()

    ShapeFix_Wire_GetFixEdgeCurvesMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixGaps2dMode`()

    ShapeFix_Wire_GetFixGaps2dMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixGaps3dMode`()

    ShapeFix_Wire_GetFixGaps3dMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixGapsByRangesMode`()

    ShapeFix_Wire_GetFixGapsByRangesMode(ShapeFix_Wire self) -> Standard_Boolean

  `GetFixIntersectingEdgesMode`()

    ShapeFix_Wire_GetFixIntersectingEdgesMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixLackingMode`()

    ShapeFix_Wire_GetFixLackingMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixNonAdjacentIntersectingEdgesMode`()

    ShapeFix_Wire_GetFixNonAdjacentIntersectingEdgesMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixNotchedEdgesMode`()

    ShapeFix_Wire_GetFixNotchedEdgesMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixRemoveCurve3dMode`()

    ShapeFix_Wire_GetFixRemoveCurve3dMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixRemovePCurveMode`()

    ShapeFix_Wire_GetFixRemovePCurveMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixReorderMode`()

    ShapeFix_Wire_GetFixReorderMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixReversed2dMode`()

    ShapeFix_Wire_GetFixReversed2dMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixSameParameterMode`()

    ShapeFix_Wire_GetFixSameParameterMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixSeamMode`()

    ShapeFix_Wire_GetFixSeamMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixSelfIntersectingEdgeMode`()

    ShapeFix_Wire_GetFixSelfIntersectingEdgeMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixSelfIntersectionMode`()

    ShapeFix_Wire_GetFixSelfIntersectionMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixShiftedMode`()

    ShapeFix_Wire_GetFixShiftedMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixSmallMode`()

    ShapeFix_Wire_GetFixSmallMode(ShapeFix_Wire self) -> Standard_Integer

  `GetFixVertexToleranceMode`()

    ShapeFix_Wire_GetFixVertexToleranceMode(ShapeFix_Wire self) -> Standard_Integer

  `GetHandle`()
  `GetModifyGeometryMode`()

    ShapeFix_Wire_GetModifyGeometryMode(ShapeFix_Wire self) -> Standard_Boolean

  `GetModifyRemoveLoopMode`()

    ShapeFix_Wire_GetModifyRemoveLoopMode(ShapeFix_Wire self) -> Standard_Integer

  `GetModifyTopologyMode`()

    ShapeFix_Wire_GetModifyTopologyMode(ShapeFix_Wire self) -> Standard_Boolean

  `GetPreferencePCurveMode`()

    ShapeFix_Wire_GetPreferencePCurveMode(ShapeFix_Wire self) -> Standard_Boolean

  `Init`()
    - Load analyzer with all the data for the wire and face and drops all fixing statuses

    Parameters: | wire (TopoDS_Wire &) – face (TopoDS_Face &) – prec (float) –
    Return type: | None

    - Load analyzer with all the data already prepared and drops all fixing statuses If analyzer contains face, there is no need to set it by SetFace or SetSurface

    Parameters: | saw (Handle_ShapeAnalysis_Wire &) –
    Return type: | None

  `IsLoaded`()
    - Tells if the wire is loaded

    Return type: | bool

  `IsReady`()
    - Tells if the wire and face are loaded

    Return type: | bool

  `LastFixStatus`()
    - Queries the status of last call to methods Fix... of advanced level For details see corresponding methods; universal statuses are: OK : problem not detected; nothing done DONE: problem was detected and successfully fixed FAIL: problem cannot be fixed

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `Load`()
    - Load data for the wire, and drops all fixing statuses

    Parameters: | wire (TopoDS_Wire &) –
    Return type: | None

    - Load data for the wire, and drops all fixing statuses

    Parameters: | sbwd (Handle_ShapeExtend_WireData &) –
    Return type: | None

  `NbEdges`()
    - returns number of edges in the working wire

    Return type: | int

  `Perform`()
    - This method performs all the available fixes. If some fix is turned on or off explicitly by the Fix..Mode() flag, this fix is either called or not depending on that flag. Else (i.e. if flag is default) fix is called depending on the situation: some fixes are not called or are limited if order of edges in the wire is not OK, or depending on modes //! The order of the fixes and default behaviour of Perform() are: FixReorder FixSmall (with lockvtx true if ! TopoMode or if wire is not ordered) FixConnected (if wire is ordered) FixEdgeCurves (without FixShifted if wire is not ordered) FixDegenerated (if wire is ordered) FixSelfIntersection (if wire is ordered and ClosedMode is True) FixLacking (if wire is ordered)

    Return type: | bool

  `SetClosedWireMode`()

    ShapeFix_Wire_SetClosedWireMode(ShapeFix_Wire self, Standard_Boolean value)

  `SetFace`()
    - Set working face for the wire

    Parameters: | face (TopoDS_Face &) –
    Return type: | None

  `SetFixAddCurve3dMode`()

    ShapeFix_Wire_SetFixAddCurve3dMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixAddPCurveMode`()

    ShapeFix_Wire_SetFixAddPCurveMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixConnectedMode`()

    ShapeFix_Wire_SetFixConnectedMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixDegeneratedMode`()

    ShapeFix_Wire_SetFixDegeneratedMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixEdgeCurvesMode`()

    ShapeFix_Wire_SetFixEdgeCurvesMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixGaps2dMode`()

    ShapeFix_Wire_SetFixGaps2dMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixGaps3dMode`()

    ShapeFix_Wire_SetFixGaps3dMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixGapsByRangesMode`()

    ShapeFix_Wire_SetFixGapsByRangesMode(ShapeFix_Wire self, Standard_Boolean value)

  `SetFixIntersectingEdgesMode`()

    ShapeFix_Wire_SetFixIntersectingEdgesMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixLackingMode`()

    ShapeFix_Wire_SetFixLackingMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixNonAdjacentIntersectingEdgesMode`()

    ShapeFix_Wire_SetFixNonAdjacentIntersectingEdgesMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixNotchedEdgesMode`()

    ShapeFix_Wire_SetFixNotchedEdgesMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixRemoveCurve3dMode`()

    ShapeFix_Wire_SetFixRemoveCurve3dMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixRemovePCurveMode`()

    ShapeFix_Wire_SetFixRemovePCurveMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixReorderMode`()

    ShapeFix_Wire_SetFixReorderMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixReversed2dMode`()

    ShapeFix_Wire_SetFixReversed2dMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixSameParameterMode`()

    ShapeFix_Wire_SetFixSameParameterMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixSeamMode`()

    ShapeFix_Wire_SetFixSeamMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixSelfIntersectingEdgeMode`()

    ShapeFix_Wire_SetFixSelfIntersectingEdgeMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixSelfIntersectionMode`()

    ShapeFix_Wire_SetFixSelfIntersectionMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixShiftedMode`()

    ShapeFix_Wire_SetFixShiftedMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixSmallMode`()

    ShapeFix_Wire_SetFixSmallMode(ShapeFix_Wire self, Standard_Integer value)

  `SetFixVertexToleranceMode`()

    ShapeFix_Wire_SetFixVertexToleranceMode(ShapeFix_Wire self, Standard_Integer value)

  `SetModifyGeometryMode`()

    ShapeFix_Wire_SetModifyGeometryMode(ShapeFix_Wire self, Standard_Boolean value)

  `SetModifyRemoveLoopMode`()

    ShapeFix_Wire_SetModifyRemoveLoopMode(ShapeFix_Wire self, Standard_Integer value)

  `SetModifyTopologyMode`()

    ShapeFix_Wire_SetModifyTopologyMode(ShapeFix_Wire self, Standard_Boolean value)

  `SetPreferencePCurveMode`()

    ShapeFix_Wire_SetPreferencePCurveMode(ShapeFix_Wire self, Standard_Boolean value)

  `SetSurface`()
    - Set surface for the wire

    Parameters: | surf (Handle_Geom_Surface &) –
    Return type: | None

    - Set surface for the wire

    Parameters: | surf (Handle_Geom_Surface &) – loc (TopLoc_Location &) –
    Return type: | None

  `StatusClosed`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusConnected`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusDegenerated`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusEdgeCurves`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusGaps2d`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusGaps3d`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusLacking`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusNotches`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusRemovedSegment`()
    - Querying the status of perfomed API fixing procedures Each Status..() methods gives information about the last call to the corresponding Fix..() method of API level: OK : no problems detected; nothing done DONE: some problem(s) was(were) detected and successfully fixed FAIL: some problem(s) cannot be fixed

    Return type: | bool

  `StatusReorder`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusSelfIntersection`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusSmall`()

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `Wire`()
    - Makes the resulting Wire (by basic Brep_Builder)

    Return type: | TopoDS_Wire

  `WireAPIMake`()
    - Makes the resulting Wire (by BRepAPI_MakeWire)

    Return type: | TopoDS_Wire

  `WireData`()
    - returns working wire

    Return type: | Handle_ShapeExtend_WireData

  `thisown`

    The membership flag

class `ShapeFix_WireVertex`(*args)

  Bases: `object`

  Return type: | None

  `Analyzer`()
    - returns internal analyzer

    Return type: | ShapeAnalysis_WireVertex

  `Fix`()
    - Fixes all statuses except ‘Disjoined’, i.e. the cases in which a common value has been set, with or without changing parameters Returns the count of fixed vertices, 0 if none

    Return type: | int

  `FixSame`()
    - Fixes ‘Same’ or ‘Close’ status (same vertex may be set, without changing parameters) Returns the count of fixed vertices, 0 if none

    Return type: | int

  `Init`()
    - Loads the wire, ininializes internal analyzer (ShapeAnalysis_WireVertex) with the given precision, and performs analysis

    Parameters: | wire (TopoDS_Wire &) – preci (float) –
    Return type: | None

    - Loads the wire, ininializes internal analyzer (ShapeAnalysis_WireVertex) with the given precision, and performs analysis

    Parameters: | sbwd (Handle_ShapeExtend_WireData &) – preci (float) –
    Return type: | None

    - Loads all the data on wire, already analysed by ShapeAnalysis_WireVertex

    Parameters: | sawv (ShapeAnalysis_WireVertex &) –
    Return type: | None

  `Wire`()
    - returns resulting wire (fixed)

    Return type: | TopoDS_Wire

  `WireData`()
    - returns data on wire (fixed)

    Return type: | Handle_ShapeExtend_WireData

  `thisown`

    The membership flag

class `ShapeFix_Wireframe`(*args)

  Bases: `OCC.ShapeFix.ShapeFix_Root`

  Return type: | None
  Parameters: | shape (TopoDS_Shape &) –
  Return type: | None

  `CheckSmallEdges`()
    - Auxiliary tool for FixSmallEdges which checks for small edges and fills the maps. Returns True if at least one small edge has been found.

    Parameters: | theSmallEdges (TopTools_MapOfShape &) – theEdgeToFaces (TopTools_DataMapOfShapeListOfShape &) – theFaceWithSmall (TopTools_DataMapOfShapeListOfShape &) – theMultyEdges (TopTools_MapOfShape &) –
    Return type: | bool

  `ClearStatuses`()
    - Clears all statuses

    Return type: | void

  `FixSmallEdges`()
    - Fixes small edges in shape by merging adjacent edges If precision is 0.0, uses Precision::Confusion().

    Return type: | bool

  `FixWireGaps`()
    - Fixes gaps between ends of curves of adjacent edges (both 3d and pcurves) in wires If precision is 0.0, uses Precision::Confusion().

    Return type: | bool

  `GetHandle`()
  `GetModeDropSmallEdges`()

    ShapeFix_Wireframe_GetModeDropSmallEdges(ShapeFix_Wireframe self) -> Standard_Boolean

  `LimitAngle`()
    - Get limit angle for merging edges.

    Return type: | float

  `Load`()
    - Loads a shape, resets statuses

    Parameters: | shape (TopoDS_Shape &) –
    Return type: | None

  `MergeSmallEdges`()
    - Auxiliary tool for FixSmallEdges which merges small edges. If theModeDrop is equal to Standard_True then small edges, which cannot be connected with adjacent edges are dropped. Otherwise they are kept. theLimitAngle specifies maximum allowed tangency discontinuity between adjacent edges. If theLimitAngle is equal to -1, this angle is not taken into account.

    Parameters: | theSmallEdges (TopTools_MapOfShape &) – theEdgeToFaces (TopTools_DataMapOfShapeListOfShape &) – theFaceWithSmall (TopTools_DataMapOfShapeListOfShape &) – theMultyEdges (TopTools_MapOfShape &) – theModeDrop (bool) – default value is Standard_False theLimitAngle (float) – default value is -1
    Return type: | bool

  `SetLimitAngle`()
    - Set limit angle for merging edges.

    Parameters: | theLimitAngle (float) –
    Return type: | None

  `SetModeDropSmallEdges`()

    ShapeFix_Wireframe_SetModeDropSmallEdges(ShapeFix_Wireframe self, Standard_Boolean value)

  `Shape`()

    Return type: | TopoDS_Shape

  `StatusSmallEdges`()
    - Decodes the status of the last FixSmallEdges. OK - No small edges were found DONE1 - Some small edges were fixed FAIL1 - Failed to fix some small edges

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `StatusWireGaps`()
    - Decodes the status of the last FixWireGaps. OK - No gaps were found DONE1 - Some gaps in 3D were fixed DONE2 - Some gaps in 2D were fixed FAIL1 - Failed to fix some gaps in 3D FAIL2 - Failed to fix some gaps in 2D

    Parameters: | status (ShapeExtend_Status) –
    Return type: | bool

  `thisown`

    The membership flag

class `SwigPyIterator`(*args, **kwargs)

  Bases: `object`

  `advance`()
  `copy`()
  `decr`()
  `distance`()
  `equal`()
  `incr`()
  `next`()
  `previous`()
  `thisown`

    The membership flag

  `value`()

`register_handle`(handle, base_object)

  Inserts the handle into the base object to prevent memory corruption in certain cases

class `shapefix`

  Bases: `object`

  static `EncodeRegularity`(*args)
    - Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once

    Parameters: | shape (TopoDS_Shape &) – tolang (float) – default value is 1.0e-10
    Return type: | void

  static `FixVertexPosition`(*args)
    - Fix position of the vertices having tolerance more tnan specified one.;

    Parameters: | theshape (TopoDS_Shape &) – theTolerance (float) – thecontext (Handle_ShapeBuild_ReShape &) –
    Return type: | bool

  static `LeastEdgeSize`(*args)
    - Calculate size of least edge;

    Parameters: | theshape (TopoDS_Shape &) –
    Return type: | float

  static `RemoveSmallEdges`(*args)
    - Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall()

    Parameters: | shape (TopoDS_Shape &) – Tolerance (float) – context (Handle_ShapeBuild_ReShape &) –
    Return type: | TopoDS_Shape

  static `SameParameter`(*args)
    - Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.

    Parameters: | shape (TopoDS_Shape &) – enforce (bool) – preci (float) – default value is 0.0 theProgress (Handle_Message_ProgressIndicator &) – default value is 0
    Return type: | bool

  `thisown`

    The membership flag

`shapefix_EncodeRegularity`(*args)
  - Runs EncodeRegularity from BRepLib taking into account shared components of assemblies, so that each component is processed only once

  Parameters: | shape (TopoDS_Shape &) – tolang (float) – default value is 1.0e-10
  Return type: | void

`shapefix_FixVertexPosition`(*args)
  - Fix position of the vertices having tolerance more tnan specified one.;

  Parameters: | theshape (TopoDS_Shape &) – theTolerance (float) – thecontext (Handle_ShapeBuild_ReShape &) –
  Return type: | bool

`shapefix_LeastEdgeSize`(*args)
  - Calculate size of least edge;

  Parameters: | theshape (TopoDS_Shape &) –
  Return type: | float

`shapefix_RemoveSmallEdges`(*args)
  - Removes edges which are less than given tolerance from shape with help of ShapeFix_Wire::FixSmall()

  Parameters: | shape (TopoDS_Shape &) – Tolerance (float) – context (Handle_ShapeBuild_ReShape &) –
  Return type: | TopoDS_Shape

`shapefix_SameParameter`(*args)
  - Runs SameParameter from BRepLib with these adaptations : <enforce> forces computations, else they are made only on Edges with flag SameParameter false <preci>, if not precised, is taken for each EDge as its own Tolerance Returns True when done, False if an exception has been raised In case of exception anyway, as many edges as possible have been processed. The passed progress indicator allows user to consult the current progress stage and abort algorithm if needed.

  Parameters: | shape (TopoDS_Shape &) – enforce (bool) – preci (float) – default value is 0.0 theProgress (Handle_Message_ProgressIndicator &) – default value is 0
  Return type: | bool