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

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

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

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _BRepBuilderAPI.SWIG_PyInstanceMethod_New
_swig_new_static_method = _BRepBuilderAPI.SWIG_PyStaticMethod_New

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


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


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


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


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


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

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _BRepBuilderAPI.delete_SwigPyIterator
    value = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_value)
    incr = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_copy)
    next = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_BRepBuilderAPI.SwigPyIterator___sub__)
    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


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.GeomAbs
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.TopoDS
import OCC.Core.Message
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
BRepBuilderAPI_Preserved = _BRepBuilderAPI.BRepBuilderAPI_Preserved
BRepBuilderAPI_Deleted = _BRepBuilderAPI.BRepBuilderAPI_Deleted
BRepBuilderAPI_Trimmed = _BRepBuilderAPI.BRepBuilderAPI_Trimmed
BRepBuilderAPI_Merged = _BRepBuilderAPI.BRepBuilderAPI_Merged
BRepBuilderAPI_BoundaryModified = _BRepBuilderAPI.BRepBuilderAPI_BoundaryModified
BRepBuilderAPI_WireDone = _BRepBuilderAPI.BRepBuilderAPI_WireDone
BRepBuilderAPI_EmptyWire = _BRepBuilderAPI.BRepBuilderAPI_EmptyWire
BRepBuilderAPI_DisconnectedWire = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedWire
BRepBuilderAPI_NonManifoldWire = _BRepBuilderAPI.BRepBuilderAPI_NonManifoldWire
BRepBuilderAPI_EdgeDone = _BRepBuilderAPI.BRepBuilderAPI_EdgeDone
BRepBuilderAPI_PointProjectionFailed = _BRepBuilderAPI.BRepBuilderAPI_PointProjectionFailed
BRepBuilderAPI_ParameterOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ParameterOutOfRange
BRepBuilderAPI_DifferentPointsOnClosedCurve = _BRepBuilderAPI.BRepBuilderAPI_DifferentPointsOnClosedCurve
BRepBuilderAPI_PointWithInfiniteParameter = _BRepBuilderAPI.BRepBuilderAPI_PointWithInfiniteParameter
BRepBuilderAPI_DifferentsPointAndParameter = _BRepBuilderAPI.BRepBuilderAPI_DifferentsPointAndParameter
BRepBuilderAPI_LineThroughIdenticPoints = _BRepBuilderAPI.BRepBuilderAPI_LineThroughIdenticPoints
BRepBuilderAPI_PipeDone = _BRepBuilderAPI.BRepBuilderAPI_PipeDone
BRepBuilderAPI_PipeNotDone = _BRepBuilderAPI.BRepBuilderAPI_PipeNotDone
BRepBuilderAPI_PlaneNotIntersectGuide = _BRepBuilderAPI.BRepBuilderAPI_PlaneNotIntersectGuide
BRepBuilderAPI_ImpossibleContact = _BRepBuilderAPI.BRepBuilderAPI_ImpossibleContact
BRepBuilderAPI_Transformed = _BRepBuilderAPI.BRepBuilderAPI_Transformed
BRepBuilderAPI_RightCorner = _BRepBuilderAPI.BRepBuilderAPI_RightCorner
BRepBuilderAPI_RoundCorner = _BRepBuilderAPI.BRepBuilderAPI_RoundCorner
BRepBuilderAPI_FaceDone = _BRepBuilderAPI.BRepBuilderAPI_FaceDone
BRepBuilderAPI_NoFace = _BRepBuilderAPI.BRepBuilderAPI_NoFace
BRepBuilderAPI_NotPlanar = _BRepBuilderAPI.BRepBuilderAPI_NotPlanar
BRepBuilderAPI_CurveProjectionFailed = _BRepBuilderAPI.BRepBuilderAPI_CurveProjectionFailed
BRepBuilderAPI_ParametersOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ParametersOutOfRange
BRepBuilderAPI_ShellDone = _BRepBuilderAPI.BRepBuilderAPI_ShellDone
BRepBuilderAPI_EmptyShell = _BRepBuilderAPI.BRepBuilderAPI_EmptyShell
BRepBuilderAPI_DisconnectedShell = _BRepBuilderAPI.BRepBuilderAPI_DisconnectedShell
BRepBuilderAPI_ShellParametersOutOfRange = _BRepBuilderAPI.BRepBuilderAPI_ShellParametersOutOfRange
Handle_BRepBuilderAPI_FastSewing_Create = _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_Create
Handle_BRepBuilderAPI_FastSewing_DownCast = _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_DownCast
Handle_BRepBuilderAPI_FastSewing_IsNull = _BRepBuilderAPI.Handle_BRepBuilderAPI_FastSewing_IsNull
Handle_BRepBuilderAPI_Sewing_Create = _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_Create
Handle_BRepBuilderAPI_Sewing_DownCast = _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_DownCast
Handle_BRepBuilderAPI_Sewing_IsNull = _BRepBuilderAPI.Handle_BRepBuilderAPI_Sewing_IsNull
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))
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Add)
    Select = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Select)
    Clear = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Clear)
    IsEmpty = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_IsEmpty)
    Root = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Root)
    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_BndBoxTree
    Allocator = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTree_Allocator)

# 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
    Plane = _swig_new_static_method(_BRepBuilderAPI.brepbuilderapi_Plane)
    Precision = _swig_new_static_method(_BRepBuilderAPI.brepbuilderapi_Precision)

    __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)
brepbuilderapi_Plane = _BRepBuilderAPI.brepbuilderapi_Plane
brepbuilderapi_Precision = _BRepBuilderAPI.brepbuilderapi_Precision

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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_Add)
    AddGenerated = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_AddGenerated)
    AddModif = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_AddModif)

    def __init__(self, *args):
        r""":rtype: None"""
        _BRepBuilderAPI.BRepBuilderAPI_Collect_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Collect(*args))
    Filter = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_Filter)
    Generated = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_Generated)
    Modification = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Collect_Modification)

    __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
    Check = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Command_Check)
    IsDone = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Command_IsDone)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FastSewing_Add)

    def __init__(self, *args):
        r"""
        * Creates an object with tolerance of connexity
        	:param theTolerance: default value is 1.0e-06
        	:type theTolerance: float
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_FastSewing_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_FastSewing(*args))
    GetResult = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FastSewing_GetResult)
    GetTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FastSewing_GetTolerance)
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FastSewing_Perform)
    SetTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FastSewing_SetTolerance)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_FastSewing

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

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

    def __init__(self, *args):
        r"""
        * Initializes an empty algorithm. The function Init is then used to define the shape.
        	:rtype: None* Constructs the plane containing the edges of the shape S. A plane is built only if all the edges are within a distance of less than or equal to tolerance from a planar surface. This tolerance value is equal to the larger of the following two values: - Tol, where the default value is negative, or - the largest of the tolerance values assigned to the individual edges of S. Use the function Found to verify that a plane is built. The resulting plane is then retrieved using the function Plane.
        	:param S:
        	:type S: TopoDS_Shape
        	:param Tol: default value is -1
        	:type Tol: float
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_FindPlane_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_FindPlane(*args))
    Found = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FindPlane_Found)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FindPlane_Init)
    Plane = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_FindPlane_Plane)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Add)

    def __init__(self, *args):
        r"""
        * Creates an object with tolerance of connexity option for sewing (if false only control) option for analysis of degenerated shapes option for cutting of free edges. option for non manifold processing
        	:param tolerance: default value is 1.0e-06
        	:type tolerance: float
        	:param option1: default value is Standard_True
        	:type option1: bool
        	:param option2: default value is Standard_True
        	:type option2: bool
        	:param option3: default value is Standard_True
        	:type option3: bool
        	:param option4: default value is Standard_False
        	:type option4: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_Sewing_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Sewing(*args))
    ContigousEdge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_ContigousEdge)
    ContigousEdgeCouple = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_ContigousEdgeCouple)
    DegeneratedShape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_DegeneratedShape)
    DeletedFace = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_DeletedFace)
    Dump = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Dump)
    FaceMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_FaceMode)
    FloatingEdgesMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_FloatingEdgesMode)
    FreeEdge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_FreeEdge)
    GetContext = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_GetContext)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Init)
    IsDegenerated = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_IsDegenerated)
    IsModified = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_IsModified)
    IsModifiedSubShape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_IsModifiedSubShape)
    IsSectionBound = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_IsSectionBound)
    Load = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Load)
    LocalTolerancesMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_LocalTolerancesMode)
    MaxTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_MaxTolerance)
    MinTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_MinTolerance)
    Modified = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Modified)
    ModifiedSubShape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_ModifiedSubShape)
    MultipleEdge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_MultipleEdge)
    NbContigousEdges = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NbContigousEdges)
    NbDegeneratedShapes = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NbDegeneratedShapes)
    NbDeletedFaces = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NbDeletedFaces)
    NbFreeEdges = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NbFreeEdges)
    NbMultipleEdges = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NbMultipleEdges)
    NonManifoldMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_NonManifoldMode)
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Perform)
    SameParameterMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SameParameterMode)
    SectionToBoundary = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SectionToBoundary)
    SetContext = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetContext)
    SetFaceMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetFaceMode)
    SetFloatingEdgesMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetFloatingEdgesMode)
    SetLocalTolerancesMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetLocalTolerancesMode)
    SetMaxTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetMaxTolerance)
    SetMinTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetMinTolerance)
    SetNonManifoldMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetNonManifoldMode)
    SetSameParameterMode = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetSameParameterMode)
    SetTolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SetTolerance)
    SewedShape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_SewedShape)
    Tolerance = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_Tolerance)
    WhichFace = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Sewing_WhichFace)


    @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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_Add)

    def __init__(self, *args):
        r"""
        * Constructor; remembers the tolerance
        	:param theTol:
        	:type theTol: float
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_VertexInspector_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_VertexInspector(*args))
    ClearResList = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_ClearResList)
    Inspect = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_Inspect)
    ResInd = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_ResInd)
    SetCurrent = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_VertexInspector_SetCurrent)

    __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
    Accept = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_Accept)

    def __init__(self, *args):
        r"""
        * Constructor; calls the base class constructor
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_BndBoxTreeSelector(*args))
    ClearResList = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_ClearResList)
    Reject = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_Reject)
    ResInd = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_ResInd)
    SetCurrent = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_BndBoxTreeSelector_SetCurrent)

    __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
    Build = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShape_Build)
    Generated = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShape_Generated)
    IsDeleted = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShape_IsDeleted)
    Modified = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShape_Modified)
    Shape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShape_Shape)

    __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"""
        :rtype: None:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Lin
        	:rtype: None:param L:
        	:type L: gp_Lin
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Lin
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Lin
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Circ
        	:rtype: None:param L:
        	:type L: gp_Circ
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Circ
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Circ
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Elips
        	:rtype: None:param L:
        	:type L: gp_Elips
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Elips
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Elips
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Hypr
        	:rtype: None:param L:
        	:type L: gp_Hypr
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Hypr
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Hypr
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Parab
        	:rtype: None:param L:
        	:type L: gp_Parab
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Parab
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: gp_Parab
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom_Curve
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None* The general method to directly create an edge is to give - a 3D curve C as the support (geometric domain) of the edge, - two vertices V1 and V2 to limit the curve (definition of the restriction of the edge), and - two real values p1 and p2 which are the parameters for the vertices V1 and V2 on the curve. The curve may be defined as a 2d curve in the parametric space of a surface: a pcurve. The surface on which the edge is built is then kept at the level of the edge. The default tolerance will be associated with this edge. Rules applied to the arguments: For the curve: - The curve must not be a 'null handle'. - If the curve is a trimmed curve the basis curve is used. For the vertices: - Vertices may be null shapes. When V1 or V2 is null the edge is open in the corresponding direction and the parameter value p1 or p2 must be infinite (remember that Precision::Infinite() defines an infinite value). - The two vertices must be identical if they have the same 3D location. Identical vertices are used in particular when the curve is closed. For the parameters: - The parameters must be in the parametric range of the curve (or the basis curve if the curve is trimmed). If this condition is not satisfied the edge is not built, and the Error function will return BRepAPI_ParameterOutOfRange. - Parameter values must not be equal. If this condition is not satisfied (i.e. if | p1 - p2 | ) the edge is not built, and the Error function will return BRepAPI_LineThroughIdenticPoints. Parameter values are expected to be given in increasing order: C->FirstParameter() - If the parameter values are given in decreasing order the vertices are switched, i.e. the 'first vertex' is on the point of parameter p2 and the 'second vertex' is on the point of parameter p1. In such a case, to keep the original intent of the construction, the edge will be oriented 'reversed'. - On a periodic curve the parameter values p1 and p2 are adjusted by adding or subtracting the period to obtain p1 in the parametric range of the curve, and p2] such that [ p1 , where Period is the period of the curve. - A parameter value may be infinite. The edge is open in the corresponding direction. However the corresponding vertex must be a null shape. If this condition is not satisfied the edge is not built, and the Error function will return BRepAPI_PointWithInfiniteParameter. - The distance between the vertex and the point evaluated on the curve with the parameter, must be lower than the precision of the vertex. If this condition is not satisfied the edge is not built, and the Error function will return BRepAPI_DifferentsPointAndParameter. Other edge constructions - The parameter values can be omitted, they will be computed by projecting the vertices on the curve. Note that projection is the only way to evaluate the parameter values of the vertices on the curve: vertices must be given on the curve, i.e. the distance from a vertex to the curve must be less than or equal to the precision of the vertex. If this condition is not satisfied the edge is not built, and the Error function will return BRepAPI_PointProjectionFailed. - 3D points can be given in place of vertices. Vertices will be created from the points (with the default topological precision Precision::Confusion()). Note: - Giving vertices is useful when creating a connected edge. - If the parameter values correspond to the extremities of a closed curve, points must be identical, or at least coincident. If this condition is not satisfied the edge is not built, and the Error function will return BRepAPI_DifferentPointsOnClosedCurve. - The vertices or points can be omitted if the parameter values are given. The points will be computed from the parameters on the curve. The vertices or points and the parameter values can be omitted. The first and last parameters of the curve will then be used. //! Auxiliary methods
        	:param L:
        	:type L: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeEdge_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeEdge(*args))
    Edge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Edge)
    Error = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Error)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Init)
    Vertex1 = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Vertex1)
    Vertex2 = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge_Vertex2)

    __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"""
        :param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Lin2d
        	:rtype: None:param L:
        	:type L: gp_Lin2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Lin2d
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Lin2d
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Circ2d
        	:rtype: None:param L:
        	:type L: gp_Circ2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Circ2d
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Circ2d
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Elips2d
        	:rtype: None:param L:
        	:type L: gp_Elips2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Elips2d
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Elips2d
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Hypr2d
        	:rtype: None:param L:
        	:type L: gp_Hypr2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Hypr2d
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Hypr2d
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: gp_Parab2d
        	:rtype: None:param L:
        	:type L: gp_Parab2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: gp_Parab2d
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: gp_Parab2d
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param P1:
        	:type P1: gp_Pnt2d
        	:param P2:
        	:type P2: gp_Pnt2d
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None:param L:
        	:type L: Geom2d_Curve
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:param p1:
        	:type p1: float
        	:param p2:
        	:type p2: float
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeEdge2d(*args))
    Edge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Edge)
    Error = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Error)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Init)
    Vertex1 = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Vertex1)
    Vertex2 = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeEdge2d_Vertex2)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeFace_Add)

    def __init__(self, *args):
        r"""
        * Not done.
        	:rtype: None* Load a face. Usefull to add wires.
        	:param F:
        	:type F: TopoDS_Face
        	:rtype: None* Make a face from a plane.
        	:param P:
        	:type P: gp_Pln
        	:rtype: None* Make a face from a cylinder.
        	:param C:
        	:type C: gp_Cylinder
        	:rtype: None* Make a face from a cone.
        	:param C:
        	:type C: gp_Cone
        	:rtype: None* Make a face from a sphere.
        	:param S:
        	:type S: gp_Sphere
        	:rtype: None* Make a face from a torus.
        	:param C:
        	:type C: gp_Torus
        	:rtype: None* Make a face from a Surface. Accepts tolerance value (TolDegen) for resolution of degenerated edges.
        	:param S:
        	:type S: Geom_Surface
        	:param TolDegen:
        	:type TolDegen: float
        	:rtype: None* Make a face from a plane.
        	:param P:
        	:type P: gp_Pln
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:rtype: None* Make a face from a cylinder.
        	:param C:
        	:type C: gp_Cylinder
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:rtype: None* Make a face from a cone.
        	:param C:
        	:type C: gp_Cone
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:rtype: None* Make a face from a sphere.
        	:param S:
        	:type S: gp_Sphere
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:rtype: None* Make a face from a torus.
        	:param C:
        	:type C: gp_Torus
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:rtype: None* Make a face from a Surface. Accepts tolerance value (TolDegen) for resolution of degenerated edges.
        	:param S:
        	:type S: Geom_Surface
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:param TolDegen:
        	:type TolDegen: float
        	:rtype: None* Find a surface from the wire and make a face. if <OnlyPlane> is true, the computed surface will be a plane. If it is not possible to find a plane, the flag NotDone will be set.
        	:param W:
        	:type W: TopoDS_Wire
        	:param OnlyPlane: default value is Standard_False
        	:type OnlyPlane: bool
        	:rtype: None* Make a face from a plane and a wire.
        	:param P:
        	:type P: gp_Pln
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Make a face from a cylinder and a wire.
        	:param C:
        	:type C: gp_Cylinder
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Make a face from a cone and a wire.
        	:param C:
        	:type C: gp_Cone
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Make a face from a sphere and a wire.
        	:param S:
        	:type S: gp_Sphere
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Make a face from a torus and a wire.
        	:param C:
        	:type C: gp_Torus
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Make a face from a Surface and a wire.
        	:param S:
        	:type S: Geom_Surface
        	:param W:
        	:type W: TopoDS_Wire
        	:param Inside: default value is Standard_True
        	:type Inside: bool
        	:rtype: None* Adds the wire <W> in the face <F> A general method to create a face is to give - a surface S as the support (the geometric domain) of the face, - and a wire W to bound it. The bounds of the face can also be defined by four parameter values umin, umax, vmin, vmax which determine isoparametric limitations on the parametric space of the surface. In this way, a patch is defined. The parameter values are optional. If they are omitted, the natural bounds of the surface are used. A wire is automatically built using the defined bounds. Up to four edges and four vertices are created with this wire (no edge is created when the corresponding parameter value is infinite). Wires can then be added using the function Add to define other restrictions on the face. These restrictions represent holes. More than one wire may be added by this way, provided that the wires do not cross each other and that they define only one area on the surface. (Be careful, however, as this is not checked). Forbidden addition of wires Note that in this schema, the third case is valid if edges of the wire W are declared internal to the face. As a result, these edges are no longer bounds of the face. A default tolerance (Precision::Confusion()) is given to the face, this tolerance may be increased during construction of the face using various algorithms. Rules applied to the arguments For the surface: - The surface must not be a 'null handle'. - If the surface is a trimmed surface, the basis surface is used. - For the wire: the wire is composed of connected edges, each edge having a parametric curve description in the parametric domain of the surface; in other words, as a pcurve. For the parameters: - The parameter values must be in the parametric range of the surface (or the basis surface, if the surface is trimmed). If this condition is not satisfied, the face is not built, and the Error function will return BRepBuilderAPI_ParametersOutOfRange. - The bounding parameters p1 and p2 are adjusted on a periodic surface in a given parametric direction by adding or subtracting the period to obtain p1 in the parametric range of the surface and such p2, that p2 - p1 <= Period, where Period is the period of the surface in this parametric direction. - A parameter value may be infinite. There will be no edge and no vertex in the corresponding direction.
        	:param F:
        	:type F: TopoDS_Face
        	:param W:
        	:type W: TopoDS_Wire
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeFace_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeFace(*args))
    Error = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeFace_Error)
    Face = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeFace_Face)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeFace_Init)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Add)
    Added = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Added)

    def __init__(self, *args):
        r"""
        * Initializes an empty polygonal wire, to which points or vertices are added using the Add function. As soon as the polygonal wire under construction contains vertices, it can be consulted using the Wire function.
        	:rtype: None:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:rtype: None:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:param P3:
        	:type P3: gp_Pnt
        	:param Close: default value is Standard_False
        	:type Close: bool
        	:rtype: None* Constructs a polygonal wire from 2, 3 or 4 points. Vertices are automatically created on the given points. The polygonal wire is closed if Close is true; otherwise it is open. Further vertices can be added using the Add function. The polygonal wire under construction can be consulted at any time by using the Wire function. Example //an open polygon from four points TopoDS_Wire W = BRepBuilderAPI_MakePolygon(P1,P2,P3,P4); Warning: The process is equivalent to: - initializing an empty polygonal wire, - and adding the given points in sequence. Consequently, be careful when using this function: if the sequence of points p1 - p2 - p1 is found among the arguments of the constructor, you will create a polygonal wire with two consecutive coincident edges.
        	:param P1:
        	:type P1: gp_Pnt
        	:param P2:
        	:type P2: gp_Pnt
        	:param P3:
        	:type P3: gp_Pnt
        	:param P4:
        	:type P4: gp_Pnt
        	:param Close: default value is Standard_False
        	:type Close: bool
        	:rtype: None:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:rtype: None:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:param V3:
        	:type V3: TopoDS_Vertex
        	:param Close: default value is Standard_False
        	:type Close: bool
        	:rtype: None* Constructs a polygonal wire from 2, 3 or 4 vertices. The polygonal wire is closed if Close is true; otherwise it is open (default value). Further vertices can be added using the Add function. The polygonal wire under construction can be consulted at any time by using the Wire function. Example //a closed triangle from three vertices TopoDS_Wire W = BRepBuilderAPI_MakePolygon(V1,V2,V3,Standard_True); Warning The process is equivalent to: - initializing an empty polygonal wire, - then adding the given points in sequence. So be careful, as when using this function, you could create a polygonal wire with two consecutive coincident edges if the sequence of vertices v1 - v2 - v1 is found among the constructor's arguments.
        	:param V1:
        	:type V1: TopoDS_Vertex
        	:param V2:
        	:type V2: TopoDS_Vertex
        	:param V3:
        	:type V3: TopoDS_Vertex
        	:param V4:
        	:type V4: TopoDS_Vertex
        	:param Close: default value is Standard_False
        	:type Close: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakePolygon_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakePolygon(*args))
    Close = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Close)
    Edge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Edge)
    FirstVertex = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_FirstVertex)
    LastVertex = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_LastVertex)
    Wire = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakePolygon_Wire)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakePolygon

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

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

    def __init__(self, *args):
        r"""
        * Constructs an empty shell framework. The Init function is used to define the construction arguments. Warning The function Error will return BRepBuilderAPI_EmptyShell if it is called before the function Init.
        	:rtype: None* Constructs a shell from the surface S.
        	:param S:
        	:type S: Geom_Surface
        	:param Segment: default value is Standard_False
        	:type Segment: bool
        	:rtype: None* Constructs a shell from the surface S, limited in the u parametric direction by the two parameter values UMin and UMax, and limited in the v parametric direction by the two parameter values VMin and VMax.
        	:param S:
        	:type S: Geom_Surface
        	:param UMin:
        	:type UMin: float
        	:param UMax:
        	:type UMax: float
        	:param VMin:
        	:type VMin: float
        	:param VMax:
        	:type VMax: float
        	:param Segment: default value is Standard_False
        	:type Segment: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeShell_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeShell(*args))
    Error = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShell_Error)
    Init = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShell_Init)
    Shell = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeShell_Shell)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeSolid_Add)

    def __init__(self, *args):
        r"""
        * Initializes the construction of a solid. An empty solid is considered to cover the whole space. The Add function is used to define shells to bound it.
        	:rtype: None* Make a solid from a CompSolid.
        	:param S:
        	:type S: TopoDS_CompSolid
        	:rtype: None* Make a solid from a shell.
        	:param S:
        	:type S: TopoDS_Shell
        	:rtype: None* Make a solid from two shells.
        	:param S1:
        	:type S1: TopoDS_Shell
        	:param S2:
        	:type S2: TopoDS_Shell
        	:rtype: None* Make a solid from three shells. Constructs a solid - covering the whole space, or - from shell S, or - from two shells S1 and S2, or - from three shells S1, S2 and S3, or Warning No check is done to verify the conditions of coherence of the resulting solid. In particular, S1, S2 (and S3) must not intersect each other. Besides, after all shells have been added using the Add function, one of these shells should constitute the outside skin of the solid; it may be closed (a finite solid) or open (an infinite solid). Other shells form hollows (cavities) in these previous ones. Each must bound a closed volume.
        	:param S1:
        	:type S1: TopoDS_Shell
        	:param S2:
        	:type S2: TopoDS_Shell
        	:param S3:
        	:type S3: TopoDS_Shell
        	:rtype: None* Make a solid from a solid. Usefull for adding later.
        	:param So:
        	:type So: TopoDS_Solid
        	:rtype: None* Add a shell to a solid. //! Constructs a solid: - from the solid So, to which shells can be added, or - by adding the shell S to the solid So. Warning No check is done to verify the conditions of coherence of the resulting solid. In particular S must not intersect the solid S0. Besides, after all shells have been added using the Add function, one of these shells should constitute the outside skin of the solid. It may be closed (a finite solid) or open (an infinite solid). Other shells form hollows (cavities) in the previous ones. Each must bound a closed volume.
        	:param So:
        	:type So: TopoDS_Solid
        	:param S:
        	:type S: TopoDS_Shell
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeSolid_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeSolid(*args))
    Solid = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeSolid_Solid)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_MakeSolid

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

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

    def __init__(self, *args):
        r"""
        * Constructs a vertex from point P. Example create a vertex from a 3D point. gp_Pnt P(0,0,10); TopoDS_Vertex V = BRepBuilderAPI_MakeVertex(P);
        	:param P:
        	:type P: gp_Pnt
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeVertex_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeVertex(*args))
    Vertex = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeVertex_Vertex)

    __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
    Add = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeWire_Add)

    def __init__(self, *args):
        r"""
        * Constructs an empty wire framework, to which edges are added using the Add function. As soon as the wire contains one edge, it can return with the use of the function Wire. Warning The function Error will return BRepBuilderAPI_EmptyWire if it is called before at least one edge is added to the wire under construction.
        	:rtype: None* Make a Wire from an edge.
        	:param E:
        	:type E: TopoDS_Edge
        	:rtype: None* Make a Wire from two edges.
        	:param E1:
        	:type E1: TopoDS_Edge
        	:param E2:
        	:type E2: TopoDS_Edge
        	:rtype: None* Make a Wire from three edges.
        	:param E1:
        	:type E1: TopoDS_Edge
        	:param E2:
        	:type E2: TopoDS_Edge
        	:param E3:
        	:type E3: TopoDS_Edge
        	:rtype: None* Make a Wire from four edges. Constructs a wire - from the TopoDS_Wire W composed of the edge E, or - from edge E, or - from two edges E1 and E2, or - from three edges E1, E2 and E3, or - from four edges E1, E2, E3 and E4. Further edges can be added using the function Add. Given edges are added in a sequence. Each of them must be connectable to the wire under construction, and so must satisfy the following condition (unless it is the first edge of the wire): one of its vertices must be geometrically coincident with one of the vertices of the wire (provided that the highest tolerance factor is assigned to the two vertices). It could also be the same vertex. Warning If an edge is not connectable to the wire under construction it is not added. The function Error will return BRepBuilderAPI_DisconnectedWire, the function IsDone will return false and the function Wire will raise an error, until a new connectable edge is added.
        	:param E1:
        	:type E1: TopoDS_Edge
        	:param E2:
        	:type E2: TopoDS_Edge
        	:param E3:
        	:type E3: TopoDS_Edge
        	:param E4:
        	:type E4: TopoDS_Edge
        	:rtype: None* Make a Wire from a Wire. Usefull for adding later.
        	:param W:
        	:type W: TopoDS_Wire
        	:rtype: None* Add an edge to a wire.
        	:param W:
        	:type W: TopoDS_Wire
        	:param E:
        	:type E: TopoDS_Edge
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_MakeWire_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_MakeWire(*args))
    Edge = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeWire_Edge)
    Error = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeWire_Error)
    Vertex = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeWire_Vertex)
    Wire = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_MakeWire_Wire)

    __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
    ModifiedShape = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_ModifyShape_ModifiedShape)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_ModifyShape

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

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

    def __init__(self, *args):
        r"""
        * Constructs an empty copy framework. Use the function Perform to copy shapes.
        	:rtype: None* Constructs a copy framework and copies the shape S. Use the function Shape to access the result. If copyMesh is True, triangulation contained in original shape will be copied along with geometry (by default, triangulation gets lost). If copyGeom is False, only topological objects will be copied, while geometry and triangulation will be shared with original shape. Note: the constructed framework can be reused to copy other shapes: just specify them with the function Perform.
        	:param S:
        	:type S: TopoDS_Shape
        	:param copyGeom: default value is Standard_True
        	:type copyGeom: bool
        	:param copyMesh: default value is Standard_False
        	:type copyMesh: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_Copy_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Copy(*args))
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Copy_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Copy

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

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

    def __init__(self, *args):
        r"""
        * Constructs a framework for applying the geometric transformation T to a shape. Use the function Perform to define the shape to transform.
        	:param T:
        	:type T: gp_GTrsf
        	:rtype: None* Constructs a framework for applying the geometric transformation T to a shape, and applies it to the shape S. - If the transformation T is direct and isometric (i.e. if the determinant of the vectorial part of T is equal to 1.), and if Copy equals false (default value), the resulting shape is the same as the original but with a new location assigned to it. - In all other cases, the transformation is applied to a duplicate of S. Use the function Shape to access the result. Note: the constructed framework can be reused to apply the same geometric transformation to other shapes: just specify them with the function Perform.
        	:param S:
        	:type S: TopoDS_Shape
        	:param T:
        	:type T: gp_GTrsf
        	:param Copy: default value is Standard_False
        	:type Copy: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_GTransform_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_GTransform(*args))
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_GTransform_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_GTransform

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

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

    def __init__(self, *args):
        r"""
        * Constructs a framework for converting the geometry of a shape into NURBS geometry. Use the function Perform to define the shape to convert.
        	:rtype: None* Builds a new shape by converting the geometry of the shape S into NURBS geometry. Specifically, all curves supporting edges of S are converted into BSpline curves, and all surfaces supporting its faces are converted into BSpline surfaces. Use the function Shape to access the new shape. Note: the constructed framework can be reused to convert other shapes. You specify these with the function Perform.
        	:param S:
        	:type S: TopoDS_Shape
        	:param Copy: default value is Standard_False
        	:type Copy: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_NurbsConvert_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_NurbsConvert(*args))
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_NurbsConvert_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_NurbsConvert

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

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

    def __init__(self, *args):
        r"""
        * Constructs a framework for applying the geometric transformation T to a shape. Use the function Perform to define the shape to transform.
        	:param T:
        	:type T: gp_Trsf
        	:rtype: None* Creates a transformation from the gp_Trsf <T>, and applies it to the shape <S>. If the transformation is direct and isometric (determinant = 1) and <Copy> = Standard_False, the resulting shape is <S> on which a new location has been set. Otherwise, the transformation is applied on a duplication of <S>.
        	:param S:
        	:type S: TopoDS_Shape
        	:param T:
        	:type T: gp_Trsf
        	:param Copy: default value is Standard_False
        	:type Copy: bool
        	:rtype: None
        """
        _BRepBuilderAPI.BRepBuilderAPI_Transform_swiginit(self, _BRepBuilderAPI.new_BRepBuilderAPI_Transform(*args))
    Perform = _swig_new_instance_method(_BRepBuilderAPI.BRepBuilderAPI_Transform_Perform)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepBuilderAPI.delete_BRepBuilderAPI_Transform

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



