# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.

"""
BRepBuilderAPI module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_brepbuilderapi.html
"""

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _BRepBuilderAPI
else:
    import _BRepBuilderAPI

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


class SwigPyIterator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _BRepBuilderAPI.delete_SwigPyIterator

    def value(self) -> "PyObject *":
        return _BRepBuilderAPI.SwigPyIterator_value(self)

    def incr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _BRepBuilderAPI.SwigPyIterator_incr(self, n)

    def decr(self, n: "size_t"=1) -> "swig::SwigPyIterator *":
        return _BRepBuilderAPI.SwigPyIterator_decr(self, n)

    def distance(self, x: "SwigPyIterator") -> "ptrdiff_t":
        return _BRepBuilderAPI.SwigPyIterator_distance(self, x)

    def equal(self, x: "SwigPyIterator") -> "bool":
        return _BRepBuilderAPI.SwigPyIterator_equal(self, x)

    def copy(self) -> "swig::SwigPyIterator *":
        return _BRepBuilderAPI.SwigPyIterator_copy(self)

    def next(self) -> "PyObject *":
        return _BRepBuilderAPI.SwigPyIterator_next(self)

    def __next__(self) -> "PyObject *":
        return _BRepBuilderAPI.SwigPyIterator___next__(self)

    def previous(self) -> "PyObject *":
        return _BRepBuilderAPI.SwigPyIterator_previous(self)

    def advance(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _BRepBuilderAPI.SwigPyIterator_advance(self, n)

    def __eq__(self, x: "SwigPyIterator") -> "bool":
        return _BRepBuilderAPI.SwigPyIterator___eq__(self, x)

    def __ne__(self, x: "SwigPyIterator") -> "bool":
        return _BRepBuilderAPI.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _BRepBuilderAPI.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator &":
        return _BRepBuilderAPI.SwigPyIterator___isub__(self, n)

    def __add__(self, n: "ptrdiff_t") -> "swig::SwigPyIterator *":
        return _BRepBuilderAPI.SwigPyIterator___add__(self, n)

    def __sub__(self, *args) -> "ptrdiff_t":
        return _BRepBuilderAPI.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

# Register SwigPyIterator in _BRepBuilderAPI:
_BRepBuilderAPI.SwigPyIterator_swigregister(SwigPyIterator)


def _dumps_object(klass):
    """ Overwrite default string output for any wrapped object.
    By default, __repr__ method returns something like:
    <OCC.Core.TopoDS.TopoDS_Shape; proxy of <Swig Object of type 'TopoDS_Shape *' at 0x02BB0758> >
    This is too much verbose.
    We prefer :
    <class 'gp_Pnt'>
    or
    <class 'TopoDS_Shape'>
    """
    klass_name = str(klass.__class__).split(".")[3].split("'")[0]
    repr_string = "<class '" + klass_name + "'"
# for TopoDS_Shape, we also look for the base type
    if klass_name == "TopoDS_Shape":
        if klass.IsNull():
            repr_string += ": Null>"
            return repr_string
        st = klass.ShapeType()
        types = {OCC.Core.TopAbs.TopAbs_VERTEX: "Vertex",
                 OCC.Core.TopAbs.TopAbs_SOLID: "Solid",
                 OCC.Core.TopAbs.TopAbs_EDGE: "Edge",
                 OCC.Core.TopAbs.TopAbs_FACE: "Face",
                 OCC.Core.TopAbs.TopAbs_SHELL: "Shell",
                 OCC.Core.TopAbs.TopAbs_WIRE: "Wire",
                 OCC.Core.TopAbs.TopAbs_COMPOUND: "Compound",
                 OCC.Core.TopAbs.TopAbs_COMPSOLID: "Compsolid"}
        repr_string += "; Type:%s" % types[st]        
    elif hasattr(klass, "IsNull"):
        if klass.IsNull():
            repr_string += "; Null"
    repr_string += ">"
    return repr_string


def process_exception(error: "Standard_Failure", method_name: "std::string", class_name: "std::string") -> "void":
    return _BRepBuilderAPI.process_exception(error, method_name, class_name)

from six import with_metaclass
import warnings
from OCC.Wrapper.wrapper_utils import Proxy, deprecated

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.Geom
import OCC.Core.gp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.OSD
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.TopTools
import OCC.Core.BRepTools
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.Geom2d
import OCC.Core.BRep
import OCC.Core.Poly
import OCC.Core.TShort

from enum import IntEnum
from OCC.Core.Exception import *

BRepBuilderAPI_Preserved = _BRepBuilderAPI.BRepBuilderAPI_Preserved
BRepBuilderAPI_Deleted = _BRepBuilderAPI.BRepBuilderAPI_Deleted
BRepBuilderAPI_Trimmed = _BRepBuilderAPI.BRepBuilderAPI_Trimmed
BRepBuilderAPI_Merged = _BRepBuilderAPI.BRepBuilderAPI_Merged
BRepBuilderAPI_BoundaryModified = _BRepBuilderAPI.BRepBuilderAPI_BoundaryModified
BRepBuilderAPI_WireDone = _BRepBuilderAPI.BRepBuilderAPI_WireDone
BRepBuilderAPI_EmptyWire = _BRepBuilderAPI.BRepBuilderAPI_EmptyWire
BRepBuilderAPI_DisconnectedWire = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedWire
BRepBuilderAPI_NonManifoldWire = _BRepBuilderAPI.BRepBuilderAPI_NonManifoldWire
BRepBuilderAPI_EdgeDone = _BRepBuilderAPI.BRepBuilderAPI_EdgeDone
BRepBuilderAPI_PointProjectionFailed = _BRepBuilderAPI.BRepBuilderAPI_PointProjectionFailed
BRepBuilderAPI_ParameterOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ParameterOutOfRange
BRepBuilderAPI_DifferentPointsOnClosedCurve = _BRepBuilderAPI.BRepBuilderAPI_DifferentPointsOnClosedCurve
BRepBuilderAPI_PointWithInfiniteParameter = _BRepBuilderAPI.BRepBuilderAPI_PointWithInfiniteParameter
BRepBuilderAPI_DifferentsPointAndParameter = _BRepBuilderAPI.BRepBuilderAPI_DifferentsPointAndParameter
BRepBuilderAPI_LineThroughIdenticPoints = _BRepBuilderAPI.BRepBuilderAPI_LineThroughIdenticPoints
BRepBuilderAPI_PipeDone = _BRepBuilderAPI.BRepBuilderAPI_PipeDone
BRepBuilderAPI_PipeNotDone = _BRepBuilderAPI.BRepBuilderAPI_PipeNotDone
BRepBuilderAPI_PlaneNotIntersectGuide = _BRepBuilderAPI.BRepBuilderAPI_PlaneNotIntersectGuide
BRepBuilderAPI_ImpossibleContact = _BRepBuilderAPI.BRepBuilderAPI_ImpossibleContact
BRepBuilderAPI_Transformed = _BRepBuilderAPI.BRepBuilderAPI_Transformed
BRepBuilderAPI_RightCorner = _BRepBuilderAPI.BRepBuilderAPI_RightCorner
BRepBuilderAPI_RoundCorner = _BRepBuilderAPI.BRepBuilderAPI_RoundCorner
BRepBuilderAPI_FaceDone = _BRepBuilderAPI.BRepBuilderAPI_FaceDone
BRepBuilderAPI_NoFace = _BRepBuilderAPI.BRepBuilderAPI_NoFace
BRepBuilderAPI_NotPlanar = _BRepBuilderAPI.BRepBuilderAPI_NotPlanar
BRepBuilderAPI_CurveProjectionFailed = _BRepBuilderAPI.BRepBuilderAPI_CurveProjectionFailed
BRepBuilderAPI_ParametersOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ParametersOutOfRange
BRepBuilderAPI_ShellDone = _BRepBuilderAPI.BRepBuilderAPI_ShellDone
BRepBuilderAPI_EmptyShell = _BRepBuilderAPI.BRepBuilderAPI_EmptyShell
BRepBuilderAPI_DisconnectedShell = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedShell
BRepBuilderAPI_ShellParametersOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ShellParametersOutOfRange


class BRepBuilderAPI_ShapeModification(IntEnum):
	BRepBuilderAPI_Preserved = 0
	BRepBuilderAPI_Deleted = 1
	BRepBuilderAPI_Trimmed = 2
	BRepBuilderAPI_Merged = 3
	BRepBuilderAPI_BoundaryModified = 4
BRepBuilderAPI_Preserved = BRepBuilderAPI_ShapeModification.BRepBuilderAPI_Preserved
BRepBuilderAPI_Deleted = BRepBuilderAPI_ShapeModification.BRepBuilderAPI_Deleted
BRepBuilderAPI_Trimmed = BRepBuilderAPI_ShapeModification.BRepBuilderAPI_Trimmed
BRepBuilderAPI_Merged = BRepBuilderAPI_ShapeModification.BRepBuilderAPI_Merged
BRepBuilderAPI_BoundaryModified = BRepBuilderAPI_ShapeModification.BRepBuilderAPI_BoundaryModified

class BRepBuilderAPI_WireError(IntEnum):
	BRepBuilderAPI_WireDone = 0
	BRepBuilderAPI_EmptyWire = 1
	BRepBuilderAPI_DisconnectedWire = 2
	BRepBuilderAPI_NonManifoldWire = 3
BRepBuilderAPI_WireDone = BRepBuilderAPI_WireError.BRepBuilderAPI_WireDone
BRepBuilderAPI_EmptyWire = BRepBuilderAPI_WireError.BRepBuilderAPI_EmptyWire
BRepBuilderAPI_DisconnectedWire = BRepBuilderAPI_WireError.BRepBuilderAPI_DisconnectedWire
BRepBuilderAPI_NonManifoldWire = BRepBuilderAPI_WireError.BRepBuilderAPI_NonManifoldWire

class BRepBuilderAPI_EdgeError(IntEnum):
	BRepBuilderAPI_EdgeDone = 0
	BRepBuilderAPI_PointProjectionFailed = 1
	BRepBuilderAPI_ParameterOutOfRange = 2
	BRepBuilderAPI_DifferentPointsOnClosedCurve = 3
	BRepBuilderAPI_PointWithInfiniteParameter = 4
	BRepBuilderAPI_DifferentsPointAndParameter = 5
	BRepBuilderAPI_LineThroughIdenticPoints = 6
BRepBuilderAPI_EdgeDone = BRepBuilderAPI_EdgeError.BRepBuilderAPI_EdgeDone
BRepBuilderAPI_PointProjectionFailed = BRepBuilderAPI_EdgeError.BRepBuilderAPI_PointProjectionFailed
BRepBuilderAPI_ParameterOutOfRange = BRepBuilderAPI_EdgeError.BRepBuilderAPI_ParameterOutOfRange
BRepBuilderAPI_DifferentPointsOnClosedCurve = BRepBuilderAPI_EdgeError.BRepBuilderAPI_DifferentPointsOnClosedCurve
BRepBuilderAPI_PointWithInfiniteParameter = BRepBuilderAPI_EdgeError.BRepBuilderAPI_PointWithInfiniteParameter
BRepBuilderAPI_DifferentsPointAndParameter = BRepBuilderAPI_EdgeError.BRepBuilderAPI_DifferentsPointAndParameter
BRepBuilderAPI_LineThroughIdenticPoints = BRepBuilderAPI_EdgeError.BRepBuilderAPI_LineThroughIdenticPoints

class BRepBuilderAPI_PipeError(IntEnum):
	BRepBuilderAPI_PipeDone = 0
	BRepBuilderAPI_PipeNotDone = 1
	BRepBuilderAPI_PlaneNotIntersectGuide = 2
	BRepBuilderAPI_ImpossibleContact = 3
BRepBuilderAPI_PipeDone = BRepBuilderAPI_PipeError.BRepBuilderAPI_PipeDone
BRepBuilderAPI_PipeNotDone = BRepBuilderAPI_PipeError.BRepBuilderAPI_PipeNotDone
BRepBuilderAPI_PlaneNotIntersectGuide = BRepBuilderAPI_PipeError.BRepBuilderAPI_PlaneNotIntersectGuide
BRepBuilderAPI_ImpossibleContact = BRepBuilderAPI_PipeError.BRepBuilderAPI_ImpossibleContact

class BRepBuilderAPI_TransitionMode(IntEnum):
	BRepBuilderAPI_Transformed = 0
	BRepBuilderAPI_RightCorner = 1
	BRepBuilderAPI_RoundCorner = 2
BRepBuilderAPI_Transformed = BRepBuilderAPI_TransitionMode.BRepBuilderAPI_Transformed
BRepBuilderAPI_RightCorner = BRepBuilderAPI_TransitionMode.BRepBuilderAPI_RightCorner
BRepBuilderAPI_RoundCorner = BRepBuilderAPI_TransitionMode.BRepBuilderAPI_RoundCorner

class BRepBuilderAPI_FaceError(IntEnum):
	BRepBuilderAPI_FaceDone = 0
	BRepBuilderAPI_NoFace = 1
	BRepBuilderAPI_NotPlanar = 2
	BRepBuilderAPI_CurveProjectionFailed = 3
	BRepBuilderAPI_ParametersOutOfRange = 4
BRepBuilderAPI_FaceDone = BRepBuilderAPI_FaceError.BRepBuilderAPI_FaceDone
BRepBuilderAPI_NoFace = BRepBuilderAPI_FaceError.BRepBuilderAPI_NoFace
BRepBuilderAPI_NotPlanar = BRepBuilderAPI_FaceError.BRepBuilderAPI_NotPlanar
BRepBuilderAPI_CurveProjectionFailed = BRepBuilderAPI_FaceError.BRepBuilderAPI_CurveProjectionFailed
BRepBuilderAPI_ParametersOutOfRange = BRepBuilderAPI_FaceError.BRepBuilderAPI_ParametersOutOfRange

class BRepBuilderAPI_ShellError(IntEnum):
	BRepBuilderAPI_ShellDone = 0
	BRepBuilderAPI_EmptyShell = 1
	BRepBuilderAPI_DisconnectedShell = 2
	BRepBuilderAPI_ShellParametersOutOfRange = 3
BRepBuilderAPI_ShellDone = BRepBuilderAPI_ShellError.BRepBuilderAPI_ShellDone
BRepBuilderAPI_EmptyShell = BRepBuilderAPI_ShellError.BRepBuilderAPI_EmptyShell
BRepBuilderAPI_DisconnectedShell = BRepBuilderAPI_ShellError.BRepBuilderAPI_DisconnectedShell
BRepBuilderAPI_ShellParametersOutOfRange = BRepBuilderAPI_ShellError.BRepBuilderAPI_ShellParametersOutOfRange


def Handle_BRepBuilderAPI_FastSewing_Create() -> "opencascade::handle< BRepBuilderAPI_FastSewing >":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_Create()

def Handle_BRepBuilderAPI_FastSewing_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepBuilderAPI_FastSewing >":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_DownCast(t)

def Handle_BRepBuilderAPI_FastSewing_IsNull(t: "opencascade::handle< BRepBuilderAPI_FastSewing > const &") -> "bool":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_IsNull(t)

def Handle_BRepBuilderAPI_Sewing_Create() -> "opencascade::handle< BRepBuilderAPI_Sewing >":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_Create()

def Handle_BRepBuilderAPI_Sewing_DownCast(t: "opencascade::handle< Standard_Transient > const &") -> "opencascade::handle< BRepBuilderAPI_Sewing >":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_DownCast(t)

def Handle_BRepBuilderAPI_Sewing_IsNull(t: "opencascade::handle< BRepBuilderAPI_Sewing > const &") -> "bool":
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_IsNull(t)
class BRepBuilderAPI_BndBoxTree(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_BndBoxTree(*args))

    def Add(self, theObj: "int const &", theBnd: "Bnd_Box") -> "Standard_Boolean":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Add(self, theObj, theBnd)

    def Select(self, theSelector: "NCollection_UBTree< int,Bnd_Box >::Selector &") -> "Standard_Integer":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Select(self, theSelector)

    def Clear(self, aNewAlloc: "opencascade::handle< NCollection_BaseAllocator > const &"=0) -> "void":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Clear(self, aNewAlloc)

    def IsEmpty(self) -> "Standard_Boolean":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_IsEmpty(self)

    def Root(self) -> "NCollection_UBTree< int,Bnd_Box >::TreeNode const &":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Root(self)
    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_BndBoxTree

    def Allocator(self) -> "opencascade::handle< NCollection_BaseAllocator > const &":
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Allocator(self)

# Register BRepBuilderAPI_BndBoxTree in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_swigregister(BRepBuilderAPI_BndBoxTree)

class brepbuilderapi(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    @staticmethod
    def Plane(*args) -> "opencascade::handle< Geom_Plane > const &":
        r"""
        Sets the current plane.

        Parameters
        ----------
        P: Geom_Plane

        Returns
        -------
        None
        Returns the current plane.

        Returns
        -------
        opencascade::handle<Geom_Plane>

        """
        return _BRepBuilderAPI.brepbuilderapi_Plane(*args)

    @staticmethod
    def Precision(*args) -> "Standard_Real":
        r"""
        Sets the default precision. the current precision is returned.

        Parameters
        ----------
        P: float

        Returns
        -------
        None
        Returns the default precision.

        Returns
        -------
        float

        """
        return _BRepBuilderAPI.brepbuilderapi_Precision(*args)

    __repr__ = _dumps_object


    def __init__(self):
        _BRepBuilderAPI.brepbuilderapi_swiginit(self, _BRepBuilderAPI.new_brepbuilderapi())
    __swig_destroy__ = _BRepBuilderAPI.delete_brepbuilderapi

# Register brepbuilderapi in _BRepBuilderAPI:
_BRepBuilderAPI.brepbuilderapi_swigregister(brepbuilderapi)

def brepbuilderapi_Plane(*args) -> "opencascade::handle< Geom_Plane > const &":
    r"""
    Sets the current plane.

    Parameters
    ----------
    P: Geom_Plane

    Returns
    -------
    None
    Returns the current plane.

    Returns
    -------
    opencascade::handle<Geom_Plane>

    """
    return _BRepBuilderAPI.brepbuilderapi_Plane(*args)

def brepbuilderapi_Precision(*args) -> "Standard_Real":
    r"""
    Sets the default precision. the current precision is returned.

    Parameters
    ----------
    P: float

    Returns
    -------
    None
    Returns the default precision.

    Returns
    -------
    float

    """
    return _BRepBuilderAPI.brepbuilderapi_Precision(*args)

class BRepBuilderAPI_Collect(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_Collect_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Collect(*args))

    def Add(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        SI: TopoDS_Shape
        MKS: BRepBuilderAPI_MakeShape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_Add(self, *args)

    def AddGenerated(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape
        Gen: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_AddGenerated(self, *args)

    def AddModif(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        S: TopoDS_Shape
        Mod: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_AddModif(self, *args)

    def Filter(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        SF: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_Filter(self, *args)

    def Generated(self, *args) -> "TopTools_DataMapOfShapeListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_DataMapOfShapeListOfShape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_Generated(self, *args)

    def Modification(self, *args) -> "TopTools_DataMapOfShapeListOfShape const &":
        r"""
        No available documentation.

        Returns
        -------
        TopTools_DataMapOfShapeListOfShape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Collect_Modification(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Collect

# Register BRepBuilderAPI_Collect in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_Collect_swigregister(BRepBuilderAPI_Collect)

class BRepBuilderAPI_Command(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def Check(self, *args) -> "void":
        r"""
        Raises notdone if done is false.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Command_Check(self, *args)

    def IsDone(self, *args) -> "Standard_Boolean":
        r"""
        No available documentation.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Command_IsDone(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Command

# Register BRepBuilderAPI_Command in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_Command_swigregister(BRepBuilderAPI_Command)

class BRepBuilderAPI_FastSewing(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    FS_OK = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_OK
    FS_Degenerated = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_Degenerated
    FS_FindVertexError = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_FindVertexError
    FS_FindEdgeError = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_FindEdgeError
    FS_FaceWithNullSurface = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_FaceWithNullSurface
    FS_NotNaturalBoundsFace = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_NotNaturalBoundsFace
    FS_InfiniteSurface = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_InfiniteSurface
    FS_EmptyInput = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_EmptyInput
    FS_Exception = _BRepBuilderAPI.BRepBuilderAPI_FastSewing_FS_Exception


    class FS_Statuses(IntEnum):
    	FS_OK = 0
    	FS_Degenerated = 1
    	FS_FindVertexError = 2
    	FS_FindEdgeError = 4
    	FS_FaceWithNullSurface = 8
    	FS_NotNaturalBoundsFace = 16
    	FS_InfiniteSurface = 32
    	FS_EmptyInput = 64
    	FS_Exception = 128
    FS_OK = FS_Statuses.FS_OK
    FS_Degenerated = FS_Statuses.FS_Degenerated
    FS_FindVertexError = FS_Statuses.FS_FindVertexError
    FS_FindEdgeError = FS_Statuses.FS_FindEdgeError
    FS_FaceWithNullSurface = FS_Statuses.FS_FaceWithNullSurface
    FS_NotNaturalBoundsFace = FS_Statuses.FS_NotNaturalBoundsFace
    FS_InfiniteSurface = FS_Statuses.FS_InfiniteSurface
    FS_EmptyInput = FS_Statuses.FS_EmptyInput
    FS_Exception = FS_Statuses.FS_Exception


    def __init__(self, *args):
        r"""
        Creates an object with tolerance of connexity.

        Parameters
        ----------
        theTolerance: float,optional
        	default value is 1.0e-06

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_FastSewing_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_FastSewing(*args))

    def Add(self, *args) -> "Standard_Boolean":
        r"""
        Adds faces of a shape.

        Parameters
        ----------
        theShape: TopoDS_Shape

        Returns
        -------
        bool
        Adds a surface.

        Parameters
        ----------
        theSurface: Geom_Surface

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FastSewing_Add(self, *args)

    def GetResult(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns resulted shape.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FastSewing_GetResult(self, *args)

    def GetTolerance(self, *args) -> "Standard_Real":
        r"""
        Returns tolerance.

        Returns
        -------
        float

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FastSewing_GetTolerance(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Compute resulted shape.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FastSewing_Perform(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        theToler: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FastSewing_SetTolerance(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_BRepBuilderAPI_FastSewing_DownCast(t)


    __repr__ = _dumps_object

    @methodnotwrapped
    def GetStatuses(self):
    	pass

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_FastSewing

# Register BRepBuilderAPI_FastSewing in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_FastSewing_swigregister(BRepBuilderAPI_FastSewing)

class BRepBuilderAPI_FindPlane(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Initializes an empty algorithm. the function init is then used to define the shape.

        Returns
        -------
        None
        Constructs the plane containing the edges of the shape s. a plane is built only if all the edges are within a distance of less than or equal to tolerance from a planar surface. this tolerance value is equal to the larger of the following two values: - tol, where the default value is negative, or - the largest of the tolerance values assigned to the individual edges of s. use the function found to verify that a plane is built. the resulting plane is then retrieved using the function plane.

        Parameters
        ----------
        S: TopoDS_Shape
        Tol: float,optional
        	default value is -1

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_FindPlane_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_FindPlane(*args))

    def Found(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if a plane containing the edges of the shape is found and built. use the function plane to consult the result.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FindPlane_Found(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Constructs the plane containing the edges of the shape s. a plane is built only if all the edges are within a distance of less than or equal to tolerance from a planar surface. this tolerance value is equal to the larger of the following two values: - tol, where the default value is negative, or - the largest of the tolerance values assigned to the individual edges of s. use the function found to verify that a plane is built. the resulting plane is then retrieved using the function plane.

        Parameters
        ----------
        S: TopoDS_Shape
        Tol: float,optional
        	default value is -1

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FindPlane_Init(self, *args)

    def Plane(self, *args) -> "opencascade::handle< Geom_Plane >":
        r"""
        Returns the plane containing the edges of the shape. warning use the function found to verify that the plane is built. if a plane is not found, plane returns a null handle.

        Returns
        -------
        opencascade::handle<Geom_Plane>

        """
        return _BRepBuilderAPI.BRepBuilderAPI_FindPlane_Plane(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_FindPlane

# Register BRepBuilderAPI_FindPlane in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_FindPlane_swigregister(BRepBuilderAPI_FindPlane)

class BRepBuilderAPI_Sewing(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Creates an object with tolerance of connexity option for sewing (if false only control) option for analysis of degenerated shapes option for cutting of free edges. option for non manifold processing.

        Parameters
        ----------
        tolerance: float,optional
        	default value is 1.0e-06
        option1: bool,optional
        	default value is Standard_True
        option2: bool,optional
        	default value is Standard_True
        option3: bool,optional
        	default value is Standard_True
        option4: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_Sewing_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Sewing(*args))

    def Add(self, *args) -> "void":
        r"""
        Defines the shapes to be sewed or controlled.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Add(self, *args)

    def ContigousEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Gives each contigous edge.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_ContigousEdge(self, *args)

    def ContigousEdgeCouple(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Gives the sections (edge) belonging to a contigous edge.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_ContigousEdgeCouple(self, *args)

    def DegeneratedShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Gives each degenerated shape.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_DegeneratedShape(self, *args)

    def DeletedFace(self, *args) -> "TopoDS_Face const":
        r"""
        Gives each deleted face.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopoDS_Face

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_DeletedFace(self, *args)

    def Dump(self, *args) -> "void":
        r"""
        Print the informations.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Dump(self, *args)

    def FaceMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns mode for sewing faces by default - true.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_FaceMode(self, *args)

    def FloatingEdgesMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns mode for sewing floating edges by default - false.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_FloatingEdgesMode(self, *args)

    def FreeEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Gives each free edge.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_FreeEdge(self, *args)

    def GetContext(self, *args) -> "opencascade::handle< BRepTools_ReShape > const &":
        r"""
        Return context.

        Returns
        -------
        opencascade::handle<BRepTools_ReShape>

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_GetContext(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initialize the parameters if necessary.

        Parameters
        ----------
        tolerance: float,optional
        	default value is 1.0e-06
        option1: bool,optional
        	default value is Standard_True
        option2: bool,optional
        	default value is Standard_True
        option3: bool,optional
        	default value is Standard_True
        option4: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Init(self, *args)

    def IsDegenerated(self, *args) -> "Standard_Boolean":
        r"""
        Indicates if a input shape is degenerated.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_IsDegenerated(self, *args)

    def IsModified(self, *args) -> "Standard_Boolean":
        r"""
        Indicates if a input shape has been modified.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_IsModified(self, *args)

    def IsModifiedSubShape(self, *args) -> "Standard_Boolean":
        r"""
        Indicates if a input subshape has been modified.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_IsModifiedSubShape(self, *args)

    def IsSectionBound(self, *args) -> "Standard_Boolean":
        r"""
        Indicates if a section is bound (before use sectiontoboundary).

        Parameters
        ----------
        section: TopoDS_Edge

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_IsSectionBound(self, *args)

    def Load(self, *args) -> "void":
        r"""
        Loades the context shape.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Load(self, *args)

    def LocalTolerancesMode(self, *args) -> "Standard_Boolean":
        r"""
        Returns mode for accounting of local tolerances of edges and vertices during of merging.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_LocalTolerancesMode(self, *args)

    def MaxTolerance(self, *args) -> "Standard_Real":
        r"""
        Gives set max tolerance.

        Returns
        -------
        float

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_MaxTolerance(self, *args)

    def MinTolerance(self, *args) -> "Standard_Real":
        r"""
        Gives set min tolerance.

        Returns
        -------
        float

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_MinTolerance(self, *args)

    def Modified(self, *args) -> "TopoDS_Shape const":
        r"""
        Gives a modifieded shape.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Modified(self, *args)

    def ModifiedSubShape(self, *args) -> "TopoDS_Shape":
        r"""
        Gives a modifieded subshape.

        Parameters
        ----------
        shape: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_ModifiedSubShape(self, *args)

    def MultipleEdge(self, *args) -> "TopoDS_Edge const":
        r"""
        Gives each multiple edge.

        Parameters
        ----------
        index: int

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_MultipleEdge(self, *args)

    def NbContigousEdges(self, *args) -> "Standard_Integer":
        r"""
        Gives the number of contigous edges (edge shared by two faces).

        Returns
        -------
        int

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NbContigousEdges(self, *args)

    def NbDegeneratedShapes(self, *args) -> "Standard_Integer":
        r"""
        Gives the number of degenerated shapes.

        Returns
        -------
        int

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NbDegeneratedShapes(self, *args)

    def NbDeletedFaces(self, *args) -> "Standard_Integer":
        r"""
        Gives the number of deleted faces (faces smallest than tolerance).

        Returns
        -------
        int

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NbDeletedFaces(self, *args)

    def NbFreeEdges(self, *args) -> "Standard_Integer":
        r"""
        Gives the number of free edges (edge shared by one face).

        Returns
        -------
        int

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NbFreeEdges(self, *args)

    def NbMultipleEdges(self, *args) -> "Standard_Integer":
        r"""
        Gives the number of multiple edges (edge shared by more than two faces).

        Returns
        -------
        int

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NbMultipleEdges(self, *args)

    def NonManifoldMode(self, *args) -> "Standard_Boolean":
        r"""
        Gets mode for non-manifold sewing. //! internal fuctions ---.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_NonManifoldMode(self, *args)

    def Perform(self, *args) -> "void":
        r"""
        Computing theprogress - progress indicator of algorithm.

        Parameters
        ----------
        theProgress: Message_ProgressRange,optional
        	default value is Message_ProgressRange()

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Perform(self, *args)

    def SameParameterMode(self, *args) -> "Standard_Boolean":
        r"""
        Gets same parameter mode.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SameParameterMode(self, *args)

    def SectionToBoundary(self, *args) -> "TopoDS_Edge const":
        r"""
        Gives the original edge (free boundary) which becomes the the section. remember that sections constitute common edges. this imformation is important for control because with original edge we can find the surface to which the section is attached.

        Parameters
        ----------
        section: TopoDS_Edge

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SectionToBoundary(self, *args)

    def SetContext(self, *args) -> "void":
        r"""
        Set context.

        Parameters
        ----------
        theContext: BRepTools_ReShape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetContext(self, *args)

    def SetFaceMode(self, *args) -> "void":
        r"""
        Sets mode for sewing faces by default - true.

        Parameters
        ----------
        theFaceMode: bool

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetFaceMode(self, *args)

    def SetFloatingEdgesMode(self, *args) -> "void":
        r"""
        Sets mode for sewing floating edges by default - false. returns mode for cutting floating edges by default - false. sets mode for cutting floating edges by default - false.

        Parameters
        ----------
        theFloatingEdgesMode: bool

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetFloatingEdgesMode(self, *args)

    def SetLocalTolerancesMode(self, *args) -> "void":
        r"""
        Sets mode for accounting of local tolerances of edges and vertices during of merging in this case worktolerance = mytolerance + toledge1+ toledg2;.

        Parameters
        ----------
        theLocalTolerancesMode: bool

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetLocalTolerancesMode(self, *args)

    def SetMaxTolerance(self, *args) -> "void":
        r"""
        Sets max tolerance.

        Parameters
        ----------
        theMaxToler: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetMaxTolerance(self, *args)

    def SetMinTolerance(self, *args) -> "void":
        r"""
        Sets min tolerance.

        Parameters
        ----------
        theMinToler: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetMinTolerance(self, *args)

    def SetNonManifoldMode(self, *args) -> "void":
        r"""
        Sets mode for non-manifold sewing.

        Parameters
        ----------
        theNonManifoldMode: bool

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetNonManifoldMode(self, *args)

    def SetSameParameterMode(self, *args) -> "void":
        r"""
        Sets same parameter mode.

        Parameters
        ----------
        SameParameterMode: bool

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetSameParameterMode(self, *args)

    def SetTolerance(self, *args) -> "void":
        r"""
        Sets tolerance.

        Parameters
        ----------
        theToler: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SetTolerance(self, *args)

    def SewedShape(self, *args) -> "TopoDS_Shape const":
        r"""
        Gives the sewed shape a null shape if nothing constructed may be a face, a shell, a solid or a compound.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_SewedShape(self, *args)

    def Tolerance(self, *args) -> "Standard_Real":
        r"""
        Gives set tolerance.

        Returns
        -------
        float

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_Tolerance(self, *args)

    def WhichFace(self, *args) -> "TopoDS_Face":
        r"""
        Gives a modified shape.

        Parameters
        ----------
        theEdg: TopoDS_Edge
        index: int,optional
        	default value is 1

        Returns
        -------
        TopoDS_Face

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Sewing_WhichFace(self, *args)


    @staticmethod
    def DownCast(t):
      return Handle_BRepBuilderAPI_Sewing_DownCast(t)


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Sewing

# Register BRepBuilderAPI_Sewing in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_Sewing_swigregister(BRepBuilderAPI_Sewing)

class BRepBuilderAPI_VertexInspector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructor; remembers the tolerance.

        Parameters
        ----------
        theTol: float

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_VertexInspector(*args))

    def Add(self, *args) -> "void":
        r"""
        Keep the points used for comparison.

        Parameters
        ----------
        thePnt: gp_XYZ

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_Add(self, *args)

    def ClearResList(self, *args) -> "void":
        r"""
        Clear the list of adjacent points.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_ClearResList(self, *args)

    def Inspect(self, *args) -> "NCollection_CellFilter_Action":
        r"""
        Implementation of inspection method.

        Parameters
        ----------
        theTarget: int

        Returns
        -------
        NCollection_CellFilter_Action

        """
        return _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_Inspect(self, *args)

    def ResInd(self, *args) -> "TColStd_ListOfInteger const &":
        r"""
        Get list of indexes of points adjacent with the current.

        Returns
        -------
        TColStd_ListOfInteger

        """
        return _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_ResInd(self, *args)

    def SetCurrent(self, *args) -> "void":
        r"""
        Set current point to search for coincidence.

        Parameters
        ----------
        theCurPnt: gp_XYZ

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_SetCurrent(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_VertexInspector

# Register BRepBuilderAPI_VertexInspector in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_swigregister(BRepBuilderAPI_VertexInspector)

class BRepBuilderAPI_BndBoxTreeSelector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructor; calls the base class constructor.

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_BndBoxTreeSelector(*args))

    def Accept(self, *args) -> "Standard_Boolean":
        r"""
        Implementation of acceptance method this method is called when the bounding box intersect with the current. it stores the object - the index of box in the list of accepted objects. returns true, because the object is accepted.

        Parameters
        ----------
        theObj: int

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_Accept(self, *args)

    def ClearResList(self, *args) -> "void":
        r"""
        Clear the list of intersecting boxes.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_ClearResList(self, *args)

    def Reject(self, *args) -> "Standard_Boolean":
        r"""
        Implementation of rejection method returns true if the bounding box does not intersect with the current .

        Parameters
        ----------
        theBox: Bnd_Box

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_Reject(self, *args)

    def ResInd(self, *args) -> "TColStd_ListOfInteger const &":
        r"""
        Get list of indexes of boxes intersecting with the current box.

        Returns
        -------
        TColStd_ListOfInteger

        """
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_ResInd(self, *args)

    def SetCurrent(self, *args) -> "void":
        r"""
        Set current box to search for overlapping with him.

        Parameters
        ----------
        theBox: Bnd_Box

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_SetCurrent(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_BndBoxTreeSelector

# Register BRepBuilderAPI_BndBoxTreeSelector in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_swigregister(BRepBuilderAPI_BndBoxTreeSelector)

class BRepBuilderAPI_MakeShape(BRepBuilderAPI_Command):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def Build(self, *args) -> "void":
        r"""
        This is called by shape(). it does nothing but may be redefined.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShape_Build(self, *args)

    def Generated(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes generated from the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShape_Generated(self, *args)

    def IsDeleted(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the shape s has been deleted.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShape_IsDeleted(self, *args)

    def Modified(self, *args) -> "TopTools_ListOfShape const &":
        r"""
        Returns the list of shapes modified from the shape <s>.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopTools_ListOfShape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShape_Modified(self, *args)

    def Shape(self, *args) -> "TopoDS_Shape const":
        r"""
        Returns a shape built by the shape construction algorithm. raises exception stdfail_notdone if the shape was not built.

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShape_Shape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeShape

# Register BRepBuilderAPI_MakeShape in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeShape_swigregister(BRepBuilderAPI_MakeShape)

class BRepBuilderAPI_MakeEdge(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        No available documentation.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve
        P1: gp_Pnt
        P2: gp_Pnt
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface
        P1: gp_Pnt
        P2: gp_Pnt
        p1: float
        p2: float

        Returns
        -------
        None
        The general method to directly create an edge is to give - a 3d curve c as the support (geometric domain) of the edge, - two vertices v1 and v2 to limit the curve (definition of the restriction of the edge), and - two real values p1 and p2 which are the parameters for the vertices v1 and v2 on the curve. the curve may be defined as a 2d curve in the parametric space of a surface: a pcurve. the surface on which the edge is built is then kept at the level of the edge. the default tolerance will be associated with this edge. rules applied to the arguments: for the curve: - the curve must not be a 'null handle'. - if the curve is a trimmed curve the basis curve is used. for the vertices: - vertices may be null shapes. when v1 or v2 is null the edge is open in the corresponding direction and the parameter value p1 or p2 must be infinite (remember that precision::infinite() defines an infinite value). - the two vertices must be identical if they have the same 3d location. identical vertices are used in particular when the curve is closed. for the parameters: - the parameters must be in the parametric range of the curve (or the basis curve if the curve is trimmed). if this condition is not satisfied the edge is not built, and the error function will return brepapi_parameteroutofrange. - parameter values must not be equal. if this condition is not satisfied (i.e. if | p1 - p2 | ) the edge is not built, and the error function will return brepapi_linethroughidenticpoints. parameter values are expected to be given in increasing order: c->firstparameter() - if the parameter values are given in decreasing order the vertices are switched, i.e. the 'first vertex' is on the point of parameter p2 and the 'second vertex' is on the point of parameter p1. in such a case, to keep the original intent of the construction, the edge will be oriented 'reversed'. - on a periodic curve the parameter values p1 and p2 are adjusted by adding or subtracting the period to obtain p1 in the parametric range of the curve, and p2] such that [ p1 , where period is the period of the curve. - a parameter value may be infinite. the edge is open in the corresponding direction. however the corresponding vertex must be a null shape. if this condition is not satisfied the edge is not built, and the error function will return brepapi_pointwithinfiniteparameter. - the distance between the vertex and the point evaluated on the curve with the parameter, must be lower than the precision of the vertex. if this condition is not satisfied the edge is not built, and the error function will return brepapi_differentspointandparameter. other edge constructions - the parameter values can be omitted, they will be computed by projecting the vertices on the curve. note that projection is the only way to evaluate the parameter values of the vertices on the curve: vertices must be given on the curve, i.e. the distance from a vertex to the curve must be less than or equal to the precision of the vertex. if this condition is not satisfied the edge is not built, and the error function will return brepapi_pointprojectionfailed. - 3d points can be given in place of vertices. vertices will be created from the points (with the default topological precision precision::confusion()). note: - giving vertices is useful when creating a connected edge. - if the parameter values correspond to the extremities of a closed curve, points must be identical, or at least coincident. if this condition is not satisfied the edge is not built, and the error function will return brepapi_differentpointsonclosedcurve. - the vertices or points can be omitted if the parameter values are given. the points will be computed from the parameters on the curve. the vertices or points and the parameter values can be omitted. the first and last parameters of the curve will then be used. //! auxiliary methods.

        Parameters
        ----------
        L: Geom2d_Curve
        S: Geom_Surface
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeEdge(*args))

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the constructed edge. exceptions stdfail_notdone if the edge is not built.

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Edge(self, *args)

    def Error(self, *args) -> "BRepBuilderAPI_EdgeError":
        r"""
        Returns the construction status - brepbuilderapi_edgedone if the edge is built, or - another value of the brepbuilderapi_edgeerror enumeration indicating the reason of construction failure.

        Returns
        -------
        BRepBuilderAPI_EdgeError

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Error(self, *args)

    def Init(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve
        P1: gp_Pnt
        P2: gp_Pnt
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface
        P1: gp_Pnt
        P2: gp_Pnt
        p1: float
        p2: float

        Returns
        -------
        None
        Defines or redefines the arguments for the construction of an edge. this function is currently used after the empty constructor brepapi_makeedge().

        Parameters
        ----------
        C: Geom2d_Curve
        S: Geom_Surface
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Init(self, *args)

    def Vertex1(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the first vertex of the edge. may be null.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Vertex1(self, *args)

    def Vertex2(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the second vertex of the edge. may be null. //! warning the returned vertex in each function corresponds respectively to - the lowest, or - the highest parameter on the curve along which the edge is built. it does not correspond to the first or second vertex given at the time of the construction, if the edge is oriented reversed. exceptions stdfail_notdone if the edge is not built.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Vertex2(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeEdge

# Register BRepBuilderAPI_MakeEdge in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_swigregister(BRepBuilderAPI_MakeEdge)

class BRepBuilderAPI_MakeEdge2d(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin2d
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Lin2d
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ2d
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Circ2d
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips2d
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Elips2d
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr2d
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Hypr2d
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab2d
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: gp_Parab2d
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        P1: gp_Pnt2d
        P2: gp_Pnt2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        L: Geom2d_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeEdge2d(*args))

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Edge(self, *args)

    def Error(self, *args) -> "BRepBuilderAPI_EdgeError":
        r"""
        Returns the error description when notdone.

        Returns
        -------
        BRepBuilderAPI_EdgeError

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Error(self, *args)

    def Init(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        P1: gp_Pnt2d
        P2: gp_Pnt2d

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        P1: gp_Pnt2d
        P2: gp_Pnt2d
        p1: float
        p2: float

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        C: Geom2d_Curve
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        p1: float
        p2: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Init(self, *args)

    def Vertex1(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the first vertex of the edge. may be null.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Vertex1(self, *args)

    def Vertex2(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the second vertex of the edge. may be null.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Vertex2(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeEdge2d

# Register BRepBuilderAPI_MakeEdge2d in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_swigregister(BRepBuilderAPI_MakeEdge2d)

class BRepBuilderAPI_MakeFace(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Not done.

        Returns
        -------
        None
        Load a face. usefull to add wires.

        Parameters
        ----------
        F: TopoDS_Face

        Returns
        -------
        None
        Make a face from a plane.

        Parameters
        ----------
        P: gp_Pln

        Returns
        -------
        None
        Make a face from a cylinder.

        Parameters
        ----------
        C: gp_Cylinder

        Returns
        -------
        None
        Make a face from a cone.

        Parameters
        ----------
        C: gp_Cone

        Returns
        -------
        None
        Make a face from a sphere.

        Parameters
        ----------
        S: gp_Sphere

        Returns
        -------
        None
        Make a face from a torus.

        Parameters
        ----------
        C: gp_Torus

        Returns
        -------
        None
        Make a face from a surface. accepts tolerance value (toldegen) for resolution of degenerated edges.

        Parameters
        ----------
        S: Geom_Surface
        TolDegen: float

        Returns
        -------
        None
        Make a face from a plane.

        Parameters
        ----------
        P: gp_Pln
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Returns
        -------
        None
        Make a face from a cylinder.

        Parameters
        ----------
        C: gp_Cylinder
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Returns
        -------
        None
        Make a face from a cone.

        Parameters
        ----------
        C: gp_Cone
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Returns
        -------
        None
        Make a face from a sphere.

        Parameters
        ----------
        S: gp_Sphere
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Returns
        -------
        None
        Make a face from a torus.

        Parameters
        ----------
        C: gp_Torus
        UMin: float
        UMax: float
        VMin: float
        VMax: float

        Returns
        -------
        None
        Make a face from a surface. accepts tolerance value (toldegen) for resolution of degenerated edges.

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        TolDegen: float

        Returns
        -------
        None
        Find a surface from the wire and make a face. if <onlyplane> is true, the computed surface will be a plane. if it is not possible to find a plane, the flag notdone will be set.

        Parameters
        ----------
        W: TopoDS_Wire
        OnlyPlane: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Make a face from a plane and a wire.

        Parameters
        ----------
        P: gp_Pln
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Make a face from a cylinder and a wire.

        Parameters
        ----------
        C: gp_Cylinder
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Make a face from a cone and a wire.

        Parameters
        ----------
        C: gp_Cone
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Make a face from a sphere and a wire.

        Parameters
        ----------
        S: gp_Sphere
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Make a face from a torus and a wire.

        Parameters
        ----------
        C: gp_Torus
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Make a face from a surface and a wire.

        Parameters
        ----------
        S: Geom_Surface
        W: TopoDS_Wire
        Inside: bool,optional
        	default value is Standard_True

        Returns
        -------
        None
        Adds the wire <w> in the face <f> a general method to create a face is to give - a surface s as the support (the geometric domain) of the face, - and a wire w to bound it. the bounds of the face can also be defined by four parameter values umin, umax, vmin, vmax which determine isoparametric limitations on the parametric space of the surface. in this way, a patch is defined. the parameter values are optional. if they are omitted, the natural bounds of the surface are used. a wire is automatically built using the defined bounds. up to four edges and four vertices are created with this wire (no edge is created when the corresponding parameter value is infinite). wires can then be added using the function add to define other restrictions on the face. these restrictions represent holes. more than one wire may be added by this way, provided that the wires do not cross each other and that they define only one area on the surface. (be careful, however, as this is not checked). forbidden addition of wires note that in this schema, the third case is valid if edges of the wire w are declared internal to the face. as a result, these edges are no longer bounds of the face. a default tolerance (precision::confusion()) is given to the face, this tolerance may be increased during construction of the face using various algorithms. rules applied to the arguments for the surface: - the surface must not be a 'null handle'. - if the surface is a trimmed surface, the basis surface is used. - for the wire: the wire is composed of connected edges, each edge having a parametric curve description in the parametric domain of the surface; in other words, as a pcurve. for the parameters: - the parameter values must be in the parametric range of the surface (or the basis surface, if the surface is trimmed). if this condition is not satisfied, the face is not built, and the error function will return brepbuilderapi_parametersoutofrange. - the bounding parameters p1 and p2 are adjusted on a periodic surface in a given parametric direction by adding or subtracting the period to obtain p1 in the parametric range of the surface and such p2, that p2 - p1 <= period, where period is the period of the surface in this parametric direction. - a parameter value may be infinite. there will be no edge and no vertex in the corresponding direction.

        Parameters
        ----------
        F: TopoDS_Face
        W: TopoDS_Wire

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeFace_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeFace(*args))

    def Add(self, *args) -> "void":
        r"""
        Adds the wire w to the constructed face as a hole. warning w must not cross the other bounds of the face, and all the bounds must define only one area on the surface. (be careful, however, as this is not checked.) example // a cylinder gp_cylinder c = ..; // a wire topods_wire w = ...; brepbuilderapi_makeface mf(c); mf.add(w); topods_face f = mf;.

        Parameters
        ----------
        W: TopoDS_Wire

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeFace_Add(self, *args)

    def Error(self, *args) -> "BRepBuilderAPI_FaceError":
        r"""
        Returns the construction status brepbuilderapi_facedone if the face is built, or - another value of the brepbuilderapi_faceerror enumeration indicating why the construction failed, in particular when the given parameters are outside the bounds of the surface.

        Returns
        -------
        BRepBuilderAPI_FaceError

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeFace_Error(self, *args)

    def Face(self, *args) -> "TopoDS_Face const":
        r"""
        Returns the constructed face. exceptions stdfail_notdone if no face is built.

        Returns
        -------
        TopoDS_Face

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeFace_Face(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Initializes (or reinitializes) the construction of a face by creating a new object which is a copy of the face f, in order to add wires to it, using the function add. note: this complete copy of the geometry is only required if you want to work on the geometries of the two faces independently.

        Parameters
        ----------
        F: TopoDS_Face

        Returns
        -------
        None
        Initializes (or reinitializes) the construction of a face on the surface s. if bound is true, a wire is automatically created from the natural bounds of the surface s and added to the face in order to bound it. if bound is false, no wire is added. this option is used when real bounds are known. these will be added to the face after this initialization, using the function add. toldegen parameter is used for resolution of degenerated edges if calculation of natural bounds is turned on.

        Parameters
        ----------
        S: Geom_Surface
        Bound: bool
        TolDegen: float

        Returns
        -------
        None
        Initializes (or reinitializes) the construction of a face on the surface s, limited in the u parametric direction by the two parameter values umin and umax and in the v parametric direction by the two parameter values vmin and vmax. warning error returns: - brepbuilderapi_parametersoutofrange when the parameters given are outside the bounds of the surface or the basis surface of a trimmed surface. toldegen parameter is used for resolution of degenerated edges.

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        TolDegen: float

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeFace_Init(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeFace

# Register BRepBuilderAPI_MakeFace in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeFace_swigregister(BRepBuilderAPI_MakeFace)

class BRepBuilderAPI_MakePolygon(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Initializes an empty polygonal wire, to which points or vertices are added using the add function. as soon as the polygonal wire under construction contains vertices, it can be consulted using the wire function.

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt
        P3: gp_Pnt
        Close: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Constructs a polygonal wire from 2, 3 or 4 points. vertices are automatically created on the given points. the polygonal wire is closed if close is true; otherwise it is open. further vertices can be added using the add function. the polygonal wire under construction can be consulted at any time by using the wire function. example //an open polygon from four points topods_wire w = brepbuilderapi_makepolygon(p1,p2,p3,p4); warning: the process is equivalent to: - initializing an empty polygonal wire, - and adding the given points in sequence. consequently, be careful when using this function: if the sequence of points p1 - p2 - p1 is found among the arguments of the constructor, you will create a polygonal wire with two consecutive coincident edges.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt
        P3: gp_Pnt
        P4: gp_Pnt
        Close: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Returns
        -------
        None
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        V3: TopoDS_Vertex
        Close: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Constructs a polygonal wire from 2, 3 or 4 vertices. the polygonal wire is closed if close is true; otherwise it is open (default value). further vertices can be added using the add function. the polygonal wire under construction can be consulted at any time by using the wire function. example //a closed triangle from three vertices topods_wire w = brepbuilderapi_makepolygon(v1,v2,v3,standard_true); warning the process is equivalent to: - initializing an empty polygonal wire, - then adding the given points in sequence. so be careful, as when using this function, you could create a polygonal wire with two consecutive coincident edges if the sequence of vertices v1 - v2 - v1 is found among the constructor's arguments.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        V3: TopoDS_Vertex
        V4: TopoDS_Vertex
        Close: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakePolygon(*args))

    def Add(self, *args) -> "void":
        r"""
        No available documentation.

        Parameters
        ----------
        P: gp_Pnt

        Returns
        -------
        None
        Adds the point p or the vertex v at the end of the polygonal wire under construction. a vertex is automatically created on the point p. warning - when p or v is coincident to the previous vertex, no edge is built. the method added can be used to test for this. neither p nor v is checked to verify that it is coincident with another vertex than the last one, of the polygonal wire under construction. it is also possible to add vertices on a closed polygon (built for example by using a constructor which declares the polygon closed, or after the use of the close function). consequently, be careful using this function: you might create: - a polygonal wire with two consecutive coincident edges, or - a non manifold polygonal wire. - p or v is not checked to verify if it is coincident with another vertex but the last one, of the polygonal wire under construction. it is also possible to add vertices on a closed polygon (built for example by using a constructor which declares the polygon closed, or after the use of the close function). consequently, be careful when using this function: you might create: - a polygonal wire with two consecutive coincident edges, or - a non-manifold polygonal wire.

        Parameters
        ----------
        V: TopoDS_Vertex

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Add(self, *args)

    def Added(self, *args) -> "Standard_Boolean":
        r"""
        Returns true if the last vertex added to the constructed polygonal wire is not coincident with the previous one.

        Returns
        -------
        bool

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Added(self, *args)

    def Close(self, *args) -> "void":
        r"""
        Closes the polygonal wire under construction. note - this is equivalent to adding the first vertex to the polygonal wire under construction.

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Close(self, *args)

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the edge built between the last two points or vertices added to the constructed polygonal wire under construction. warning if there is only one vertex in the polygonal wire, the result is a null edge.

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Edge(self, *args)

    def FirstVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        No available documentation.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_FirstVertex(self, *args)

    def LastVertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the first or the last vertex of the polygonal wire under construction. if the constructed polygonal wire is closed, the first and the last vertices are identical.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_LastVertex(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the constructed polygonal wire, or the already built part of the polygonal wire under construction. exceptions stdfail_notdone if the wire is not built, i.e. if fewer than two vertices have been chained together by this construction algorithm.

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Wire(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakePolygon

# Register BRepBuilderAPI_MakePolygon in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_swigregister(BRepBuilderAPI_MakePolygon)

class BRepBuilderAPI_MakeShell(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs an empty shell framework. the init function is used to define the construction arguments. warning the function error will return brepbuilderapi_emptyshell if it is called before the function init.

        Returns
        -------
        None
        Constructs a shell from the surface s.

        Parameters
        ----------
        S: Geom_Surface
        Segment: bool,optional
        	default value is Standard_False

        Returns
        -------
        None
        Constructs a shell from the surface s, limited in the u parametric direction by the two parameter values umin and umax, and limited in the v parametric direction by the two parameter values vmin and vmax.

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        Segment: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeShell_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeShell(*args))

    def Error(self, *args) -> "BRepBuilderAPI_ShellError":
        r"""
        Returns the construction status: - brepbuilderapi_shelldone if the shell is built, or - another value of the brepbuilderapi_shellerror enumeration indicating why the construction failed. this is frequently brepbuilderapi_shellparametersoutofrange indicating that the given parameters are outside the bounds of the surface.

        Returns
        -------
        BRepBuilderAPI_ShellError

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShell_Error(self, *args)

    def Init(self, *args) -> "void":
        r"""
        Defines or redefines the arguments for the construction of a shell. the construction is initialized with the surface s, limited in the u parametric direction by the two parameter values umin and umax, and in the v parametric direction by the two parameter values vmin and vmax. warning the function error returns: - brepbuilderapi_shellparametersoutofrange when the given parameters are outside the bounds of the surface or the basis surface if s is trimmed.

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        Segment: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShell_Init(self, *args)

    def Shell(self, *args) -> "TopoDS_Shell const":
        r"""
        Returns the new shell.

        Returns
        -------
        TopoDS_Shell

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeShell_Shell(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeShell

# Register BRepBuilderAPI_MakeShell in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeShell_swigregister(BRepBuilderAPI_MakeShell)

class BRepBuilderAPI_MakeSolid(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Initializes the construction of a solid. an empty solid is considered to cover the whole space. the add function is used to define shells to bound it.

        Returns
        -------
        None
        Make a solid from a compsolid.

        Parameters
        ----------
        S: TopoDS_CompSolid

        Returns
        -------
        None
        Make a solid from a shell.

        Parameters
        ----------
        S: TopoDS_Shell

        Returns
        -------
        None
        Make a solid from two shells.

        Parameters
        ----------
        S1: TopoDS_Shell
        S2: TopoDS_Shell

        Returns
        -------
        None
        Make a solid from three shells. constructs a solid - covering the whole space, or - from shell s, or - from two shells s1 and s2, or - from three shells s1, s2 and s3, or warning no check is done to verify the conditions of coherence of the resulting solid. in particular, s1, s2 (and s3) must not intersect each other. besides, after all shells have been added using the add function, one of these shells should constitute the outside skin of the solid; it may be closed (a finite solid) or open (an infinite solid). other shells form hollows (cavities) in these previous ones. each must bound a closed volume.

        Parameters
        ----------
        S1: TopoDS_Shell
        S2: TopoDS_Shell
        S3: TopoDS_Shell

        Returns
        -------
        None
        Make a solid from a solid. usefull for adding later.

        Parameters
        ----------
        So: TopoDS_Solid

        Returns
        -------
        None
        Add a shell to a solid. //! constructs a solid: - from the solid so, to which shells can be added, or - by adding the shell s to the solid so. warning no check is done to verify the conditions of coherence of the resulting solid. in particular s must not intersect the solid s0. besides, after all shells have been added using the add function, one of these shells should constitute the outside skin of the solid. it may be closed (a finite solid) or open (an infinite solid). other shells form hollows (cavities) in the previous ones. each must bound a closed volume.

        Parameters
        ----------
        So: TopoDS_Solid
        S: TopoDS_Shell

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeSolid_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeSolid(*args))

    def Add(self, *args) -> "void":
        r"""
        Adds the shell to the current solid. warning no check is done to verify the conditions of coherence of the resulting solid. in particular, s must not intersect other shells of the solid under construction. besides, after all shells have been added, one of these shells should constitute the outside skin of the solid. it may be closed (a finite solid) or open (an infinite solid). other shells form hollows (cavities) in these previous ones. each must bound a closed volume.

        Parameters
        ----------
        S: TopoDS_Shell

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeSolid_Add(self, *args)

    def Solid(self, *args) -> "TopoDS_Solid const":
        r"""
        Returns the new solid.

        Returns
        -------
        TopoDS_Solid

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeSolid_Solid(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeSolid

# Register BRepBuilderAPI_MakeSolid in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeSolid_swigregister(BRepBuilderAPI_MakeSolid)

class BRepBuilderAPI_MakeVertex(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs a vertex from point p. example create a vertex from a 3d point. gp_pnt p(0,0,10); topods_vertex v = brepbuilderapi_makevertex(p);.

        Parameters
        ----------
        P: gp_Pnt

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeVertex_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeVertex(*args))

    def Vertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the constructed vertex.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeVertex_Vertex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeVertex

# Register BRepBuilderAPI_MakeVertex in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeVertex_swigregister(BRepBuilderAPI_MakeVertex)

class BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs an empty wire framework, to which edges are added using the add function. as soon as the wire contains one edge, it can return with the use of the function wire. warning the function error will return brepbuilderapi_emptywire if it is called before at least one edge is added to the wire under construction.

        Returns
        -------
        None
        Make a wire from an edge.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        None
        Make a wire from two edges.

        Parameters
        ----------
        E1: TopoDS_Edge
        E2: TopoDS_Edge

        Returns
        -------
        None
        Make a wire from three edges.

        Parameters
        ----------
        E1: TopoDS_Edge
        E2: TopoDS_Edge
        E3: TopoDS_Edge

        Returns
        -------
        None
        Make a wire from four edges. constructs a wire - from the topods_wire w composed of the edge e, or - from edge e, or - from two edges e1 and e2, or - from three edges e1, e2 and e3, or - from four edges e1, e2, e3 and e4. further edges can be added using the function add. given edges are added in a sequence. each of them must be connectable to the wire under construction, and so must satisfy the following condition (unless it is the first edge of the wire): one of its vertices must be geometrically coincident with one of the vertices of the wire (provided that the highest tolerance factor is assigned to the two vertices). it could also be the same vertex. warning if an edge is not connectable to the wire under construction it is not added. the function error will return brepbuilderapi_disconnectedwire, the function isdone will return false and the function wire will raise an error, until a new connectable edge is added.

        Parameters
        ----------
        E1: TopoDS_Edge
        E2: TopoDS_Edge
        E3: TopoDS_Edge
        E4: TopoDS_Edge

        Returns
        -------
        None
        Make a wire from a wire. usefull for adding later.

        Parameters
        ----------
        W: TopoDS_Wire

        Returns
        -------
        None
        Add an edge to a wire.

        Parameters
        ----------
        W: TopoDS_Wire
        E: TopoDS_Edge

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeWire_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeWire(*args))

    def Add(self, *args) -> "void":
        r"""
        Adds the edge e to the wire under construction. e must be connectable to the wire under construction, and, unless it is the first edge of the wire, must satisfy the following condition: one of its vertices must be geometrically coincident with one of the vertices of the wire (provided that the highest tolerance factor is assigned to the two vertices). it could also be the same vertex. warning if e is not connectable to the wire under construction it is not added. the function error will return brepbuilderapi_disconnectedwire, the function isdone will return false and the function wire will raise an error, until a new connectable edge is added.

        Parameters
        ----------
        E: TopoDS_Edge

        Returns
        -------
        None
        Add the edges of <w> to the current wire.

        Parameters
        ----------
        W: TopoDS_Wire

        Returns
        -------
        None
        Adds the edges of <l> to the current wire. the edges are not to be consecutive. but they are to be all connected geometrically or topologically. if some of them are not connected the status give disconnectedwire but the 'maker' is done() and you can get the partial result. (ie connected to the first edgeof the list <l>).

        Parameters
        ----------
        L: TopTools_ListOfShape

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeWire_Add(self, *args)

    def Edge(self, *args) -> "TopoDS_Edge const":
        r"""
        Returns the last edge added to the wire under construction. warning - this edge can be different from the original one (the argument of the function add, for instance,) - a null edge is returned if there are no edges in the wire under construction, or if the last edge which you tried to add was not connectable..

        Returns
        -------
        TopoDS_Edge

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeWire_Edge(self, *args)

    def Error(self, *args) -> "BRepBuilderAPI_WireError":
        r"""
        Returns the construction status - brepbuilderapi_wiredone if the wire is built, or - another value of the brepbuilderapi_wireerror enumeration indicating why the construction failed.

        Returns
        -------
        BRepBuilderAPI_WireError

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeWire_Error(self, *args)

    def Vertex(self, *args) -> "TopoDS_Vertex const":
        r"""
        Returns the last vertex of the last edge added to the wire under construction. warning a null vertex is returned if there are no edges in the wire under construction, or if the last edge which you tried to add was not connectabler.

        Returns
        -------
        TopoDS_Vertex

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeWire_Vertex(self, *args)

    def Wire(self, *args) -> "TopoDS_Wire const":
        r"""
        Returns the constructed wire; or the part of the wire under construction already built. exceptions stdfail_notdone if a wire is not built.

        Returns
        -------
        TopoDS_Wire

        """
        return _BRepBuilderAPI.BRepBuilderAPI_MakeWire_Wire(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeWire

# Register BRepBuilderAPI_MakeWire in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeWire_swigregister(BRepBuilderAPI_MakeWire)

class BRepBuilderAPI_ModifyShape(BRepBuilderAPI_MakeShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    def ModifiedShape(self, *args) -> "TopoDS_Shape":
        r"""
        Returns the modified shape corresponding to <s>. s can correspond to the entire initial shape or to its subshape. exceptions standard_nosuchobject if s is not the initial shape or a subshape of the initial shape to which the transformation has been applied. raises nosuchobject from standard if s is not the initial shape or a sub-shape of the initial shape.

        Parameters
        ----------
        S: TopoDS_Shape

        Returns
        -------
        TopoDS_Shape

        """
        return _BRepBuilderAPI.BRepBuilderAPI_ModifyShape_ModifiedShape(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_ModifyShape

# Register BRepBuilderAPI_ModifyShape in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_ModifyShape_swigregister(BRepBuilderAPI_ModifyShape)

class BRepBuilderAPI_Copy(BRepBuilderAPI_ModifyShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs an empty copy framework. use the function perform to copy shapes.

        Returns
        -------
        None
        Constructs a copy framework and copies the shape s. use the function shape to access the result. if copymesh is true, triangulation contained in original shape will be copied along with geometry (by default, triangulation gets lost). if copygeom is false, only topological objects will be copied, while geometry and triangulation will be shared with original shape. note: the constructed framework can be reused to copy other shapes: just specify them with the function perform.

        Parameters
        ----------
        S: TopoDS_Shape
        copyGeom: bool,optional
        	default value is Standard_True
        copyMesh: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_Copy_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Copy(*args))

    def Perform(self, *args) -> "void":
        r"""
        Copies the shape s. use the function shape to access the result. if copymesh is true, triangulation contained in original shape will be copied along with geometry (by default, triangulation gets lost). if copygeom is false, only topological objects will be copied, while geometry and triangulation will be shared with original shape.

        Parameters
        ----------
        S: TopoDS_Shape
        copyGeom: bool,optional
        	default value is Standard_True
        copyMesh: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Copy_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Copy

# Register BRepBuilderAPI_Copy in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_Copy_swigregister(BRepBuilderAPI_Copy)

class BRepBuilderAPI_GTransform(BRepBuilderAPI_ModifyShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs a framework for applying the geometric transformation t to a shape. use the function perform to define the shape to transform.

        Parameters
        ----------
        T: gp_GTrsf

        Returns
        -------
        None
        Constructs a framework for applying the geometric transformation t to a shape, and applies it to the shape s. - if the transformation t is direct and isometric (i.e. if the determinant of the vectorial part of t is equal to 1.), and if copy equals false (default value), the resulting shape is the same as the original but with a new location assigned to it. - in all other cases, the transformation is applied to a duplicate of s. use the function shape to access the result. note: the constructed framework can be reused to apply the same geometric transformation to other shapes: just specify them with the function perform.

        Parameters
        ----------
        S: TopoDS_Shape
        T: gp_GTrsf
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_GTransform_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_GTransform(*args))

    def Perform(self, *args) -> "void":
        r"""
        Applies the geometric transformation defined at the time of construction of this framework to the shape s. - if the transformation t is direct and isometric (i.e. if the determinant of the vectorial part of t is equal to 1.), and if copy equals false (default value), the resulting shape is the same as the original but with a new location assigned to it. - in all other cases, the transformation is applied to a duplicate of s. use the function shape to access the result. note: this framework can be reused to apply the same geometric transformation to other shapes: just specify them by calling the function perform again.

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_GTransform_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_GTransform

# Register BRepBuilderAPI_GTransform in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_GTransform_swigregister(BRepBuilderAPI_GTransform)

class BRepBuilderAPI_NurbsConvert(BRepBuilderAPI_ModifyShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs a framework for converting the geometry of a shape into nurbs geometry. use the function perform to define the shape to convert.

        Returns
        -------
        None
        Builds a new shape by converting the geometry of the shape s into nurbs geometry. specifically, all curves supporting edges of s are converted into bspline curves, and all surfaces supporting its faces are converted into bspline surfaces. use the function shape to access the new shape. note: the constructed framework can be reused to convert other shapes. you specify these with the function perform.

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_NurbsConvert_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_NurbsConvert(*args))

    def Perform(self, *args) -> "void":
        r"""
        Builds a new shape by converting the geometry of the shape s into nurbs geometry. specifically, all curves supporting edges of s are converted into bspline curves, and all surfaces supporting its faces are converted into bspline surfaces. use the function shape to access the new shape. note: this framework can be reused to convert other shapes: you specify them by calling the function perform again.

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_NurbsConvert_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_NurbsConvert

# Register BRepBuilderAPI_NurbsConvert in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_NurbsConvert_swigregister(BRepBuilderAPI_NurbsConvert)

class BRepBuilderAPI_Transform(BRepBuilderAPI_ModifyShape):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        Constructs a framework for applying the geometric transformation t to a shape. use the function perform to define the shape to transform.

        Parameters
        ----------
        T: gp_Trsf

        Returns
        -------
        None
        Creates a transformation from the gp_trsf <t>, and applies it to the shape <s>. if the transformation is direct and isometric (determinant = 1) and <copy> = standard_false, the resulting shape is <s> on which a new location has been set. otherwise, the transformation is applied on a duplication of <s>.

        Parameters
        ----------
        S: TopoDS_Shape
        T: gp_Trsf
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        _BRepBuilderAPI.BRepBuilderAPI_Transform_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Transform(*args))

    def Perform(self, *args) -> "void":
        r"""
        Pplies the geometric transformation defined at the time of construction of this framework to the shape s. - if the transformation t is direct and isometric, in other words, if the determinant of the vectorial part of t is equal to 1., and if copy equals false (the default value), the resulting shape is the same as the original but with a new location assigned to it. - in all other cases, the transformation is applied to a duplicate of s. use the function shape to access the result. note: this framework can be reused to apply the same geometric transformation to other shapes. you only need to specify them by calling the function perform again.

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool,optional
        	default value is Standard_False

        Returns
        -------
        None

        """
        return _BRepBuilderAPI.BRepBuilderAPI_Transform_Perform(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Transform

# Register BRepBuilderAPI_Transform in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_Transform_swigregister(BRepBuilderAPI_Transform)





