# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.2.1
#
# 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.7.0/refman/html/package_brepbuilderapi.html
"""

from sys import version_info as _swig_python_version_info
# 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 == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(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):
        return _BRepBuilderAPI.SwigPyIterator_value(self)

    def incr(self, n=1):
        return _BRepBuilderAPI.SwigPyIterator_incr(self, n)

    def decr(self, n=1):
        return _BRepBuilderAPI.SwigPyIterator_decr(self, n)

    def distance(self, x):
        return _BRepBuilderAPI.SwigPyIterator_distance(self, x)

    def equal(self, x):
        return _BRepBuilderAPI.SwigPyIterator_equal(self, x)

    def copy(self):
        return _BRepBuilderAPI.SwigPyIterator_copy(self)

    def next(self):
        return _BRepBuilderAPI.SwigPyIterator_next(self)

    def __next__(self):
        return _BRepBuilderAPI.SwigPyIterator___next__(self)

    def previous(self):
        return _BRepBuilderAPI.SwigPyIterator_previous(self)

    def advance(self, n):
        return _BRepBuilderAPI.SwigPyIterator_advance(self, n)

    def __eq__(self, x):
        return _BRepBuilderAPI.SwigPyIterator___eq__(self, x)

    def __ne__(self, x):
        return _BRepBuilderAPI.SwigPyIterator___ne__(self, x)

    def __iadd__(self, n):
        return _BRepBuilderAPI.SwigPyIterator___iadd__(self, n)

    def __isub__(self, n):
        return _BRepBuilderAPI.SwigPyIterator___isub__(self, n)

    def __add__(self, n):
        return _BRepBuilderAPI.SwigPyIterator___add__(self, n)

    def __sub__(self, *args):
        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, method_name, class_name):
    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_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_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_PipeDone = _BRepBuilderAPI.BRepBuilderAPI_PipeDone
BRepBuilderAPI_PipeNotDone = _BRepBuilderAPI.BRepBuilderAPI_PipeNotDone
BRepBuilderAPI_PlaneNotIntersectGuide = _BRepBuilderAPI.BRepBuilderAPI_PlaneNotIntersectGuide
BRepBuilderAPI_ImpossibleContact = _BRepBuilderAPI.BRepBuilderAPI_ImpossibleContact
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_ShellDone = _BRepBuilderAPI.BRepBuilderAPI_ShellDone
BRepBuilderAPI_EmptyShell = _BRepBuilderAPI.BRepBuilderAPI_EmptyShell
BRepBuilderAPI_DisconnectedShell = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedShell
BRepBuilderAPI_ShellParametersOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ShellParametersOutOfRange
BRepBuilderAPI_Transformed = _BRepBuilderAPI.BRepBuilderAPI_Transformed
BRepBuilderAPI_RightCorner = _BRepBuilderAPI.BRepBuilderAPI_RightCorner
BRepBuilderAPI_RoundCorner = _BRepBuilderAPI.BRepBuilderAPI_RoundCorner
BRepBuilderAPI_WireDone = _BRepBuilderAPI.BRepBuilderAPI_WireDone
BRepBuilderAPI_EmptyWire = _BRepBuilderAPI.BRepBuilderAPI_EmptyWire
BRepBuilderAPI_DisconnectedWire = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedWire
BRepBuilderAPI_NonManifoldWire = _BRepBuilderAPI.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_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_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_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_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

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_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


def Handle_BRepBuilderAPI_FastSewing_Create():
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_Create()

def Handle_BRepBuilderAPI_FastSewing_DownCast(t):
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_DownCast(t)

def Handle_BRepBuilderAPI_FastSewing_IsNull(t):
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_IsNull(t)

def Handle_BRepBuilderAPI_Sewing_Create():
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_Create()

def Handle_BRepBuilderAPI_Sewing_DownCast(t):
    return _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_DownCast(t)

def Handle_BRepBuilderAPI_Sewing_IsNull(t):
    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, theBnd):
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Add(self, theObj, theBnd)

    def Select(self, theSelector):
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Select(self, theSelector)

    def Clear(self, aNewAlloc=0):
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Clear(self, aNewAlloc)

    def IsEmpty(self):
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_IsEmpty(self)

    def Root(self):
        return _BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Root(self)
    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_BndBoxTree

    def Allocator(self):
        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):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets the current plane.
        Return
        -------
        opencascade::handle<Geom_Plane>

        Description
        -----------
        Returns the current plane.

        """
        return _BRepBuilderAPI.brepbuilderapi_Plane(*args)

    @staticmethod
    def Precision(*args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets the default precision. the current precision is returned.
        Return
        -------
        float

        Description
        -----------
        Returns the default precision.

        """
        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)
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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def AddGenerated(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def AddModif(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Filter(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Generated(self, *args):
        r"""
        Return
        -------
        TopTools_DataMapOfShapeListOfShape

        Description
        -----------
        No available documentation.

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

    def Modification(self, *args):
        r"""
        Return
        -------
        TopTools_DataMapOfShapeListOfShape

        Description
        -----------
        No available documentation.

        """
        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):
        r"""
        Return
        -------
        None

        Description
        -----------
        Raises notdone if done is false.

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

    def IsDone(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        No available documentation.

        """
        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"""

        Parameters
        ----------
        theTolerance: float (optional, default to 1.0e-06)

        Return
        -------
        None

        Description
        -----------
        Creates an object with tolerance of connexity.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Adds faces of a shape.

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

        Return
        -------
        bool

        Description
        -----------
        Adds a surface.

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

    def GetResult(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns resulted shape.

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

    def GetTolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Returns tolerance.

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

    def Perform(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Compute resulted shape.

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

    def SetTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets tolerance.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Initializes an empty algorithm. the function init is then used to define the shape.

        Parameters
        ----------
        S: TopoDS_Shape
        Tol: float (optional, default to -1)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Found(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if a plane containing the edges of the shape is found and built. use the function plane to consult the result.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        S: TopoDS_Shape
        Tol: float (optional, default to -1)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Plane(self, *args):
        r"""
        Return
        -------
        opencascade::handle<Geom_Plane>

        Description
        -----------
        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.

        """
        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"""

        Parameters
        ----------
        tolerance: float (optional, default to 1.0e-06)
        option1: bool (optional, default to Standard_True)
        option2: bool (optional, default to Standard_True)
        option3: bool (optional, default to Standard_True)
        option4: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Defines the shapes to be sewed or controlled.

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

    def ContigousEdge(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Gives each contiguous edge.

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

    def ContigousEdgeCouple(self, *args):
        r"""

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

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Gives the sections (edge) belonging to a contiguous edge.

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

    def DegeneratedShape(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gives each degenerated shape.

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

    def DeletedFace(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Face

        Description
        -----------
        Gives each deleted face.

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

    def Dump(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Print the information.

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

    def FaceMode(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns mode for sewing faces by default - true.

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

    def FloatingEdgesMode(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns mode for sewing floating edges by default - false.

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

    def FreeEdge(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Gives each free edge.

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

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

        Description
        -----------
        Return context.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        tolerance: float (optional, default to 1.0e-06)
        option1: bool (optional, default to Standard_True)
        option2: bool (optional, default to Standard_True)
        option3: bool (optional, default to Standard_True)
        option4: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Initialize the parameters if necessary.

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

    def IsDegenerated(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Indicates if a input shape is degenerated.

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

    def IsModified(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Indicates if a input shape has been modified.

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

    def IsModifiedSubShape(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Indicates if a input subshape has been modified.

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

    def IsSectionBound(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Indicates if a section is bound (before use sectiontoboundary).

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

    def Load(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Loades the context shape.

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

    def LocalTolerancesMode(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns mode for accounting of local tolerances of edges and vertices during of merging.

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

    def MaxTolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gives set max tolerance.

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

    def MinTolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gives set min tolerance.

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

    def Modified(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gives a modifieded shape.

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

    def ModifiedSubShape(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gives a modifieded subshape.

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

    def MultipleEdge(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Gives each multiple edge.

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

    def NbContigousEdges(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Gives the number of contiguous edges (edge shared by two faces).

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

    def NbDegeneratedShapes(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Gives the number of degenerated shapes.

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

    def NbDeletedFaces(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Gives the number of deleted faces (faces smallest than tolerance).

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

    def NbFreeEdges(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Gives the number of free edges (edge shared by one face).

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

    def NbMultipleEdges(self, *args):
        r"""
        Return
        -------
        int

        Description
        -----------
        Gives the number of multiple edges (edge shared by more than two faces).

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

    def NonManifoldMode(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Gets mode for non-manifold sewing. //! internal functions ---.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        theProgress: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

        Description
        -----------
        Computing theprogress - progress indicator of algorithm.

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

    def SameParameterMode(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Gets same parameter mode.

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

    def SectionToBoundary(self, *args):
        r"""

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

        Return
        -------
        TopoDS_Edge

        Description
        -----------
        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.

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

    def SetContext(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set context.

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

    def SetFaceMode(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets mode for sewing faces by default - true.

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

    def SetFloatingEdgesMode(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def SetLocalTolerancesMode(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets mode for accounting of local tolerances of edges and vertices during of merging in this case worktolerance = mytolerance + toledge1+ toledg2;.

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

    def SetMaxTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets max tolerance.

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

    def SetMinTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets min tolerance.

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

    def SetNonManifoldMode(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets mode for non-manifold sewing.

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

    def SetSameParameterMode(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets same parameter mode.

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

    def SetTolerance(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Sets tolerance.

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

    def SewedShape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Gives the sewed shape a null shape if nothing constructed may be a face, a shell, a solid or a compound.

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

    def Tolerance(self, *args):
        r"""
        Return
        -------
        float

        Description
        -----------
        Gives set tolerance.

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

    def WhichFace(self, *args):
        r"""

        Parameters
        ----------
        theEdg: TopoDS_Edge
        index: int (optional, default to 1)

        Return
        -------
        TopoDS_Face

        Description
        -----------
        Gives a modified shape.

        """
        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"""

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

        Return
        -------
        None

        Description
        -----------
        Constructor; remembers the tolerance.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Keep the points used for comparison.

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

    def ClearResList(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clear the list of adjacent points.

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

    def Inspect(self, *args):
        r"""

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

        Return
        -------
        NCollection_CellFilter_Action

        Description
        -----------
        Implementation of inspection method.

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

    def ResInd(self, *args):
        r"""
        Return
        -------
        TColStd_ListOfInteger

        Description
        -----------
        Get list of indexes of points adjacent with the current.

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

    def SetCurrent(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set current point to search for coincidence.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Constructor; calls the base class constructor.

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

    def Accept(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        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. return true, because the object is accepted.

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

    def ClearResList(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Clear the list of intersecting boxes.

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

    def Reject(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Implementation of rejection method return true if the bounding box does not intersect with the current .

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

    def ResInd(self, *args):
        r"""
        Return
        -------
        TColStd_ListOfInteger

        Description
        -----------
        Get list of indexes of boxes intersecting with the current box.

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

    def SetCurrent(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        Set current box to search for overlapping with him.

        """
        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):
        r"""

        Parameters
        ----------
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

        Description
        -----------
        This is called by shape(). it does nothing but may be redefined.

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

    def Generated(self, *args):
        r"""

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

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns the list of shapes generated from the shape <s>.

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

    def IsDeleted(self, *args):
        r"""

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

        Return
        -------
        bool

        Description
        -----------
        Returns true if the shape s has been deleted.

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

    def Modified(self, *args):
        r"""

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

        Return
        -------
        TopTools_ListOfShape

        Description
        -----------
        Returns the list of shapes modified from the shape <s>.

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

    def Shape(self, *args):
        r"""
        Return
        -------
        TopoDS_Shape

        Description
        -----------
        Returns a shape built by the shape construction algorithm. raises exception stdfail_notdone if the shape was not built.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        Returns the constructed edge. exceptions stdfail_notdone if the edge is not built.

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

    def Error(self, *args):
        r"""
        Return
        -------
        BRepBuilderAPI_EdgeError

        Description
        -----------
        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.

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

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

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

    def Vertex1(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the first vertex of the edge. may be null.

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

    def Vertex2(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        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.

        """
        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"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        No available documentation.

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

    def Error(self, *args):
        r"""
        Return
        -------
        BRepBuilderAPI_EdgeError

        Description
        -----------
        Returns the error description when notdone.

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

    def Vertex1(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the first vertex of the edge. may be null.

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

    def Vertex2(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the second vertex of the edge. may be null.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Not done.

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

        Return
        -------
        None

        Description
        -----------
        Load a face. useful to add wires.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a plane.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a cylinder.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a cone.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a sphere.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a torus.

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

        Return
        -------
        None

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

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a plane.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a cylinder.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a cone.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a sphere.

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

        Return
        -------
        None

        Description
        -----------
        Make a face from a torus.

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

        Return
        -------
        None

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

        Parameters
        ----------
        W: TopoDS_Wire
        OnlyPlane: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        P: gp_Pln
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a plane and a wire.

        Parameters
        ----------
        C: gp_Cylinder
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a cylinder and a wire.

        Parameters
        ----------
        C: gp_Cone
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a cone and a wire.

        Parameters
        ----------
        S: gp_Sphere
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a sphere and a wire.

        Parameters
        ----------
        C: gp_Torus
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a torus and a wire.

        Parameters
        ----------
        S: Geom_Surface
        W: TopoDS_Wire
        Inside: bool (optional, default to Standard_True)

        Return
        -------
        None

        Description
        -----------
        Make a face from a surface and a wire. if the surface s is not plane, it must contain pcurves for all edges in w, otherwise the wrong shape will be created.

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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;.

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

    def Error(self, *args):
        r"""
        Return
        -------
        BRepBuilderAPI_FaceError

        Description
        -----------
        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.

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

    def Face(self, *args):
        r"""
        Return
        -------
        TopoDS_Face

        Description
        -----------
        Returns the constructed face. exceptions stdfail_notdone if no face is built.

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

    def Init(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        S: Geom_Surface
        Bound: bool
        TolDegen: float

        Return
        -------
        None

        Description
        -----------
        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
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        TolDegen: float

        Return
        -------
        None

        Description
        -----------
        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.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        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.

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt
        P3: gp_Pnt
        Close: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        P1: gp_Pnt
        P2: gp_Pnt
        P3: gp_Pnt
        P4: gp_Pnt
        Close: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        V3: TopoDS_Vertex
        Close: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        No available documentation.

        Parameters
        ----------
        V1: TopoDS_Vertex
        V2: TopoDS_Vertex
        V3: TopoDS_Vertex
        V4: TopoDS_Vertex
        Close: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        No available documentation.

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Added(self, *args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns true if the last vertex added to the constructed polygonal wire is not coincident with the previous one.

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

    def Close(self, *args):
        r"""
        Return
        -------
        None

        Description
        -----------
        Closes the polygonal wire under construction. note - this is equivalent to adding the first vertex to the polygonal wire under construction.

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

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        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.

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

    def FirstVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        No available documentation.

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

    def LastVertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        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.

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

    def Wire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        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.

        """
        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_MakeShapeOnMesh(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"""

        Parameters
        ----------
        theMesh: Poly_Triangulation

        Return
        -------
        None

        Description
        -----------
        Ctor. sets mesh to process. @param themesh [in] - mesh to construct shape for.

        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeShapeOnMesh_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeShapeOnMesh(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeShapeOnMesh

# Register BRepBuilderAPI_MakeShapeOnMesh in _BRepBuilderAPI:
_BRepBuilderAPI.BRepBuilderAPI_MakeShapeOnMesh_swigregister(BRepBuilderAPI_MakeShapeOnMesh)
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"""
        Return
        -------
        None

        Description
        -----------
        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.

        Parameters
        ----------
        S: Geom_Surface
        Segment: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Constructs a shell from the surface s.

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        Segment: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Error(self, *args):
        r"""
        Return
        -------
        BRepBuilderAPI_ShellError

        Description
        -----------
        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.

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

    def Init(self, *args):
        r"""

        Parameters
        ----------
        S: Geom_Surface
        UMin: float
        UMax: float
        VMin: float
        VMax: float
        Segment: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Shell(self, *args):
        r"""
        Return
        -------
        TopoDS_Shell

        Description
        -----------
        Returns the new 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"""
        Return
        -------
        None

        Description
        -----------
        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.

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

        Return
        -------
        None

        Description
        -----------
        Make a solid from a compsolid.

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

        Return
        -------
        None

        Description
        -----------
        Make a solid from a shell.

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

        Return
        -------
        None

        Description
        -----------
        Make a solid from two shells.

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

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        So: TopoDS_Solid

        Return
        -------
        None

        Description
        -----------
        Make a solid from a solid. useful for adding later.

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Solid(self, *args):
        r"""
        Return
        -------
        TopoDS_Solid

        Description
        -----------
        Returns the new 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"""

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

        Return
        -------
        None

        Description
        -----------
        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);.

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

    def Vertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        Returns the constructed 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"""
        Return
        -------
        None

        Description
        -----------
        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.

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

        Return
        -------
        None

        Description
        -----------
        Make a wire from an edge.

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

        Return
        -------
        None

        Description
        -----------
        Make a wire from two edges.

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

        Return
        -------
        None

        Description
        -----------
        Make a wire from three edges.

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

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        W: TopoDS_Wire

        Return
        -------
        None

        Description
        -----------
        Make a wire from a wire. useful for adding later.

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

        Return
        -------
        None

        Description
        -----------
        Add an edge to a wire.

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

    def Add(self, *args):
        r"""

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

        Return
        -------
        None

        Description
        -----------
        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
        ----------
        W: TopoDS_Wire

        Return
        -------
        None

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

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

        Return
        -------
        None

        Description
        -----------
        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>).

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

    def Edge(self, *args):
        r"""
        Return
        -------
        TopoDS_Edge

        Description
        -----------
        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..

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

    def Error(self, *args):
        r"""
        Return
        -------
        BRepBuilderAPI_WireError

        Description
        -----------
        Returns the construction status - brepbuilderapi_wiredone if the wire is built, or - another value of the brepbuilderapi_wireerror enumeration indicating why the construction failed.

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

    def Vertex(self, *args):
        r"""
        Return
        -------
        TopoDS_Vertex

        Description
        -----------
        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.

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

    def Wire(self, *args):
        r"""
        Return
        -------
        TopoDS_Wire

        Description
        -----------
        Returns the constructed wire; or the part of the wire under construction already built. exceptions stdfail_notdone if a wire is not built.

        """
        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):
        r"""

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

        Return
        -------
        TopoDS_Shape

        Description
        -----------
        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.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Constructs an empty copy framework. use the function perform to copy shapes.

        Parameters
        ----------
        S: TopoDS_Shape
        copyGeom: bool (optional, default to Standard_True)
        copyMesh: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        S: TopoDS_Shape
        copyGeom: bool (optional, default to Standard_True)
        copyMesh: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

        """
        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"""

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

        Return
        -------
        None

        Description
        -----------
        Constructs a framework for applying the geometric transformation t to a shape. use the function perform to define the shape to transform.

        Parameters
        ----------
        S: TopoDS_Shape
        T: gp_GTrsf
        Copy: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

        """
        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"""
        Return
        -------
        None

        Description
        -----------
        Constructs a framework for converting the geometry of a shape into nurbs geometry. use the function perform to define the shape to convert.

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        S: TopoDS_Shape
        Copy: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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.

        """
        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"""

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

        Return
        -------
        None

        Description
        -----------
        Constructs a framework for applying the geometric transformation t to a shape. use the function perform to define the shape to transform.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theTrsf: gp_Trsf
        theCopyGeom: bool (optional, default to Standard_False)
        theCopyMesh: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Creates a transformation from the gp_trsf <thetrsf>, and applies it to the shape <theshape>. if the transformation is direct and isometric (determinant = 1) and <thecopygeom> = standard_false, the resulting shape is <theshape> on which a new location has been set. otherwise, the transformation is applied on a duplication of <theshape>. if <thecopymesh> is true, the triangulation will be copied, and the copy will be assigned to the result shape.

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

    def Perform(self, *args):
        r"""

        Parameters
        ----------
        theShape: TopoDS_Shape
        theCopyGeom: bool (optional, default to Standard_False)
        theCopyMesh: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        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, in other words, if the determinant of the vectorial part of t is equal to 1., and if thecopygeom 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 theshape. - if thecopymesh is true, the triangulation will be copied, and the copy will be assigned to the result shape. 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.

        """
        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)



@deprecated
def brepbuilderapi_Plane(*args):
	return brepbuilderapi.Plane(*args)

@deprecated
def brepbuilderapi_Plane(*args):
	return brepbuilderapi.Plane(*args)

@deprecated
def brepbuilderapi_Precision(*args):
	return brepbuilderapi.Precision(*args)

@deprecated
def brepbuilderapi_Precision(*args):
	return brepbuilderapi.Precision(*args)



