# OCC.ChFi2d module

class `ChFi2d_AnaFilletAlgo`(*args)

  Bases: `object`

  - An empty constructor. Use the method Init() to initialize the class.

  Return type: | None

  - A constructor. It expects a wire consisting of two edges of type (any combination of): - segment - arc of circle.

  Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
  Return type: | None

  - A constructor. It expects two edges having a common point of type: - segment - arc of circle.

  Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
  Return type: | None

  `Init`()
    - Initializes the class by a wire consisting of two edges.

    Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
    Return type: | None

    - Initializes the class by two edges.

    Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
    Return type: | None

  `Perform`()
    - Calculates a fillet.

    Parameters: | radius (float) –
    Return type: | bool

  `Result`()
    - Retrieves a result (fillet and shrinked neighbours).

    Parameters: | e1 (TopoDS_Edge &) – e2 (TopoDS_Edge &) –
    Return type: | TopoDS_Edge

  `thisown`

    The membership flag

class `ChFi2d_Builder`(*args)

  Bases: `object`

  Return type: | None

  - The face <F> can be build on a closed or an open wire.

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

  `AddChamfer`()
    - Add a chamfer on the wire between the two edges connected <E1> and <E2>. <AddChamfer> returns the chamfer edge. This edge has sense only if the status <status> is <IsDone>.

    Parameters: | E1 (TopoDS_Edge &) – E2 (TopoDS_Edge &) – D1 (float) – D2 (float) –
    Return type: | TopoDS_Edge

    - Add a chamfer on the wire between the two edges connected to the vertex <V>. The chamfer will make an angle <Ang> with the edge <E>, and one of its extremities will be on <E> at distance <D>. The returned edge has sense only if the status <status> is <IsDone>. Warning: The value of <Ang> must be expressed in Radian.

    Parameters: | E (TopoDS_Edge &) – V (TopoDS_Vertex &) – D (float) – Ang (float) –
    Return type: | TopoDS_Edge

  `AddFillet`()
    - Add a fillet of radius <Radius> on the wire between the two edges connected to the vertex <V>. <AddFillet> returns the fillet edge. The returned edge has sense only if the status <status> is <IsDone>

    Parameters: | V (TopoDS_Vertex &) – Radius (float) –
    Return type: | TopoDS_Edge

  `BasisEdge`()
    - Returns the parent edge of <E> Warning: If <E>is a basis edge, the returned edge would be equal to <E>

    Parameters: | E (TopoDS_Edge &) –
    Return type: | TopoDS_Edge

  `ChamferEdges`()
    - returns the list of new edges

    Return type: | TopTools_SequenceOfShape

  `DescendantEdge`()
    - returns the modified edge if <E> has descendant or <E> in the other case.

    Parameters: | E (TopoDS_Edge &) –
    Return type: | TopoDS_Edge

  `FilletEdges`()
    - returns the list of new edges

    Return type: | TopTools_SequenceOfShape

  `HasDescendant`()

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

  `Init`()

    Parameters: | F (TopoDS_Face &) – RefFace (TopoDS_Face &) – ModFace (TopoDS_Face &) –
    Return type: | None
    Return type: | None

  `IsModified`()

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

  `ModifyChamfer`()
    - modify the chamfer <Chamfer> and returns the new chamfer edge. This edge as sense only if the status <status> is <IsDone>.

    Parameters: | Chamfer (TopoDS_Edge &) – E1 (TopoDS_Edge &) – E2 (TopoDS_Edge &) – D1 (float) – D2 (float) –
    Return type: | TopoDS_Edge

    - modify the chamfer <Chamfer> and returns the new chamfer edge. This edge as sense only if the status <status> is <IsDone>. Warning: The value of <Ang> must be expressed in Radian.

    Parameters: | Chamfer (TopoDS_Edge &) – E (TopoDS_Edge &) – D (float) – Ang (float) –
    Return type: | TopoDS_Edge

  `ModifyFillet`()
    - modify the fillet radius and return the new fillet edge. this edge has sense only if the status <status> is <IsDone>.

    Parameters: | Fillet (TopoDS_Edge &) – Radius (float) –
    Return type: | TopoDS_Edge

  `NbChamfer`()

    Return type: | int

  `NbFillet`()

    Return type: | int

  `RemoveChamfer`()
    - removes the chamfer <Chamfer> and returns the vertex connecting the two adjacent edges to this chamfer.

    Parameters: | Chamfer (TopoDS_Edge &) –
    Return type: | TopoDS_Vertex

  `RemoveFillet`()
    - removes the fillet <Fillet> and returns the vertex connecting the two adjacent edges to this fillet.

    Parameters: | Fillet (TopoDS_Edge &) –
    Return type: | TopoDS_Vertex

  `Result`()
    - returns the modified face

    Return type: | TopoDS_Face

  `Status`()

    Return type: | ChFi2d_ConstructionError

  `thisown`

    The membership flag

class `ChFi2d_ChamferAPI`(*args)

  Bases: `object`

  - An empty constructor.

  Return type: | None

  - A constructor accepting a wire consisting of two linear edges.

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

  - A constructor accepting two linear edges.

  Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) –
  Return type: | None

  `Init`()
    - Initializes the class by a wire consisting of two libear edges.

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

    - Initializes the class by two linear edges.

    Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) –
    Return type: | None

  `Perform`()
    - Constructs a chamfer edge. Returns true if the edge is constructed.

    Return type: | bool

  `Result`()

    Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – theLength1 (float) – theLength2 (float) –
    Return type: | TopoDS_Edge

  `thisown`

    The membership flag

class `ChFi2d_FilletAPI`(*args)

  Bases: `object`

  - An empty constructor of the fillet algorithm. Call a method Init() to initialize the algorithm before calling of a Perform() method.

  Return type: | None

  - A constructor of a fillet algorithm: accepts a wire consisting of two edges in a plane.

  Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
  Return type: | None

  - A constructor of a fillet algorithm: accepts two edges in a plane.

  Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
  Return type: | None

  `Init`()
    - Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane.

    Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
    Return type: | None

    - Initializes a fillet algorithm: accepts two edges in a plane.

    Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
    Return type: | None

  `NbResults`()
    - Returns number of possible solutions. <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.

    Parameters: | thePoint (gp_Pnt) –
    Return type: | int

  `Perform`()
    - Constructs a fillet edge. Returns true if at least one result was found.

    Parameters: | theRadius (float) –
    Return type: | bool

  `Result`()
    - Returns result (fillet edge, modified edge1, modified edge2), nearest to the given point <thePoint> if iSolution == -1 <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.

    Parameters: | thePoint (gp_Pnt) – theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – iSolution (int) – default value is -1
    Return type: | TopoDS_Edge

  `thisown`

    The membership flag

class `ChFi2d_FilletAlgo`(*args)

  Bases: `object`

  - An empty constructor of the fillet algorithm. Call a method Init() to initialize the algorithm before calling of a Perform() method.

  Return type: | None

  - A constructor of a fillet algorithm: accepts a wire consisting of two edges in a plane.

  Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
  Return type: | None

  - A constructor of a fillet algorithm: accepts two edges in a plane.

  Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
  Return type: | None

  `Init`()
    - Initializes a fillet algorithm: accepts a wire consisting of two edges in a plane.

    Parameters: | theWire (TopoDS_Wire &) – thePlane (gp_Pln) –
    Return type: | None

    - Initializes a fillet algorithm: accepts two edges in a plane.

    Parameters: | theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – thePlane (gp_Pln) –
    Return type: | None

  `NbResults`()
    - Returns number of possible solutions. <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.

    Parameters: | thePoint (gp_Pnt) –
    Return type: | int

  `Perform`()
    - Constructs a fillet edge. Returns true, if at least one result was found

    Parameters: | theRadius (float) –
    Return type: | bool

  `Result`()
    - Returns result (fillet edge, modified edge1, modified edge2), neares to the given point <thePoint> if iSolution == -1. <thePoint> chooses a particular fillet in case of several fillets may be constructed (for example, a circle intersecting a segment in 2 points). Put the intersecting (or common) point of the edges.

    Parameters: | thePoint (gp_Pnt) – theEdge1 (TopoDS_Edge &) – theEdge2 (TopoDS_Edge &) – iSolution (int) – default value is -1
    Return type: | TopoDS_Edge

  `thisown`

    The membership flag

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

  Bases: `object`

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

    The membership flag

  `value`()

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

  Bases: `object`

  `thisown`

    The membership flag

`register_handle`(handle, base_object)

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