# OCC.TopClass module

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

  Bases: `object`

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

    The membership flag

  `value`()

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

  Bases: `object`

  `HasAPoint`()
    - True is returned if a point has been found.

    Return type: | bool

  `IsDone`()
    - True is returned when the intersection have been computed.

    Return type: | bool

  `Perform`()
    - Perform the intersection between the segment L(0) ... L(Prm) and the Face <Face>. //! Only the point with the smallest parameter on the line is returned. //! The Tolerance <Tol> is used to determine if the first point of the segment is near the face. In that case, the parameter of the intersection point on the line can be a negative value (greater than -Tol).

    Parameters: | L (gp_Lin) – Prm (float) – Tol (float) – Face (TopoDS_Face &) –
    Return type: | void

  `Point`()
    - Returns the Intersection Point.

    Return type: | IntCurveSurface_IntersectionPoint

  `State`()
    - Returns the state of the point on the face. The values can be either TopAbs_IN ( the point is in the face) or TopAbs_ON ( the point is on a boudary of the face).

    Return type: | TopAbs_State

  `thisown`

    The membership flag

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

  Bases: `object`

  `CurrentFace`()
    - Returns the current face.

    Return type: | TopoDS_Face

  `InitFace`()
    - Starts an exploration of the faces.

    Return type: | void

  `InitShell`()
    - Starts an exploration of the shells.

    Return type: | void

  `MoreFaces`()
    - Returns True if there is a current face.

    Return type: | bool

  `MoreShells`()
    - Returns True if there is a current shell.

    Return type: | bool

  `NextFace`()
    - Sets the explorer to the next face and returns False if there are no more wires.

    Return type: | void

  `NextShell`()
    - Sets the explorer to the next shell and returns False if there are no more wires.

    Return type: | void

  `OtherSegment`()
    - Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections. //! The First Call to this method returns a line which point to a point of the first face of the shape. The Second Call provide a line to the second face and so on. //! if the method is called N times on a shape with F faces (N>F) the line point to other points on the face 1,2,3 ... N

    Parameters: | P (gp_Pnt) – L (gp_Lin) – Par (float &) –
    Return type: | void

  `Reject`()
    - Should return True if the point is outside a bounding volume of the shape.

    Parameters: | P (gp_Pnt) –
    Return type: | bool

  `RejectFace`()
    - Returns True if the face bounding volume does not intersect the segment.

    Parameters: | L (gp_Lin) – Par (float) –
    Return type: | bool

  `RejectShell`()
    - Returns True if the shell bounding volume does not intersect the segment.

    Parameters: | L (gp_Lin) – Par (float) –
    Return type: | bool

  `Segment`()
    - Returns in <L>, <Par> a segment having at least one intersection with the shape boundary to compute intersections.

    Parameters: | P (gp_Pnt) – L (gp_Lin) – Par (float &) –
    Return type: | void

  `thisown`

    The membership flag

`register_handle`(handle, base_object)

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