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

"""
BRep module, see official documentation at
https://www.opencascade.com/doc/occt-7.4.0/refman/html/package_brep.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 _BRep
else:
    import _BRep

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

_swig_new_instance_method = _BRep.SWIG_PyInstanceMethod_New
_swig_new_static_method = _BRep.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__ = _BRep.delete_SwigPyIterator
    value = _swig_new_instance_method(_BRep.SwigPyIterator_value)
    incr = _swig_new_instance_method(_BRep.SwigPyIterator_incr)
    decr = _swig_new_instance_method(_BRep.SwigPyIterator_decr)
    distance = _swig_new_instance_method(_BRep.SwigPyIterator_distance)
    equal = _swig_new_instance_method(_BRep.SwigPyIterator_equal)
    copy = _swig_new_instance_method(_BRep.SwigPyIterator_copy)
    next = _swig_new_instance_method(_BRep.SwigPyIterator_next)
    __next__ = _swig_new_instance_method(_BRep.SwigPyIterator___next__)
    previous = _swig_new_instance_method(_BRep.SwigPyIterator_previous)
    advance = _swig_new_instance_method(_BRep.SwigPyIterator_advance)
    __eq__ = _swig_new_instance_method(_BRep.SwigPyIterator___eq__)
    __ne__ = _swig_new_instance_method(_BRep.SwigPyIterator___ne__)
    __iadd__ = _swig_new_instance_method(_BRep.SwigPyIterator___iadd__)
    __isub__ = _swig_new_instance_method(_BRep.SwigPyIterator___isub__)
    __add__ = _swig_new_instance_method(_BRep.SwigPyIterator___add__)
    __sub__ = _swig_new_instance_method(_BRep.SwigPyIterator___sub__)
    def __iter__(self):
        return self

# Register SwigPyIterator in _BRep:
_BRep.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.TopoDS
import OCC.Core.Message
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.GeomAbs
import OCC.Core.Geom
import OCC.Core.TColgp
import OCC.Core.TColStd
import OCC.Core.TCollection
import OCC.Core.Poly
import OCC.Core.TShort
import OCC.Core.Geom2d
Handle_BRep_CurveRepresentation_Create = _BRep.Handle_BRep_CurveRepresentation_Create
Handle_BRep_CurveRepresentation_DownCast = _BRep.Handle_BRep_CurveRepresentation_DownCast
Handle_BRep_CurveRepresentation_IsNull = _BRep.Handle_BRep_CurveRepresentation_IsNull
Handle_BRep_PointRepresentation_Create = _BRep.Handle_BRep_PointRepresentation_Create
Handle_BRep_PointRepresentation_DownCast = _BRep.Handle_BRep_PointRepresentation_DownCast
Handle_BRep_PointRepresentation_IsNull = _BRep.Handle_BRep_PointRepresentation_IsNull
Handle_BRep_TEdge_Create = _BRep.Handle_BRep_TEdge_Create
Handle_BRep_TEdge_DownCast = _BRep.Handle_BRep_TEdge_DownCast
Handle_BRep_TEdge_IsNull = _BRep.Handle_BRep_TEdge_IsNull
Handle_BRep_TFace_Create = _BRep.Handle_BRep_TFace_Create
Handle_BRep_TFace_DownCast = _BRep.Handle_BRep_TFace_DownCast
Handle_BRep_TFace_IsNull = _BRep.Handle_BRep_TFace_IsNull
Handle_BRep_TVertex_Create = _BRep.Handle_BRep_TVertex_Create
Handle_BRep_TVertex_DownCast = _BRep.Handle_BRep_TVertex_DownCast
Handle_BRep_TVertex_IsNull = _BRep.Handle_BRep_TVertex_IsNull
Handle_BRep_CurveOn2Surfaces_Create = _BRep.Handle_BRep_CurveOn2Surfaces_Create
Handle_BRep_CurveOn2Surfaces_DownCast = _BRep.Handle_BRep_CurveOn2Surfaces_DownCast
Handle_BRep_CurveOn2Surfaces_IsNull = _BRep.Handle_BRep_CurveOn2Surfaces_IsNull
Handle_BRep_GCurve_Create = _BRep.Handle_BRep_GCurve_Create
Handle_BRep_GCurve_DownCast = _BRep.Handle_BRep_GCurve_DownCast
Handle_BRep_GCurve_IsNull = _BRep.Handle_BRep_GCurve_IsNull
Handle_BRep_PointOnCurve_Create = _BRep.Handle_BRep_PointOnCurve_Create
Handle_BRep_PointOnCurve_DownCast = _BRep.Handle_BRep_PointOnCurve_DownCast
Handle_BRep_PointOnCurve_IsNull = _BRep.Handle_BRep_PointOnCurve_IsNull
Handle_BRep_PointsOnSurface_Create = _BRep.Handle_BRep_PointsOnSurface_Create
Handle_BRep_PointsOnSurface_DownCast = _BRep.Handle_BRep_PointsOnSurface_DownCast
Handle_BRep_PointsOnSurface_IsNull = _BRep.Handle_BRep_PointsOnSurface_IsNull
Handle_BRep_Polygon3D_Create = _BRep.Handle_BRep_Polygon3D_Create
Handle_BRep_Polygon3D_DownCast = _BRep.Handle_BRep_Polygon3D_DownCast
Handle_BRep_Polygon3D_IsNull = _BRep.Handle_BRep_Polygon3D_IsNull
Handle_BRep_PolygonOnSurface_Create = _BRep.Handle_BRep_PolygonOnSurface_Create
Handle_BRep_PolygonOnSurface_DownCast = _BRep.Handle_BRep_PolygonOnSurface_DownCast
Handle_BRep_PolygonOnSurface_IsNull = _BRep.Handle_BRep_PolygonOnSurface_IsNull
Handle_BRep_PolygonOnTriangulation_Create = _BRep.Handle_BRep_PolygonOnTriangulation_Create
Handle_BRep_PolygonOnTriangulation_DownCast = _BRep.Handle_BRep_PolygonOnTriangulation_DownCast
Handle_BRep_PolygonOnTriangulation_IsNull = _BRep.Handle_BRep_PolygonOnTriangulation_IsNull
Handle_BRep_Curve3D_Create = _BRep.Handle_BRep_Curve3D_Create
Handle_BRep_Curve3D_DownCast = _BRep.Handle_BRep_Curve3D_DownCast
Handle_BRep_Curve3D_IsNull = _BRep.Handle_BRep_Curve3D_IsNull
Handle_BRep_CurveOnSurface_Create = _BRep.Handle_BRep_CurveOnSurface_Create
Handle_BRep_CurveOnSurface_DownCast = _BRep.Handle_BRep_CurveOnSurface_DownCast
Handle_BRep_CurveOnSurface_IsNull = _BRep.Handle_BRep_CurveOnSurface_IsNull
Handle_BRep_PointOnCurveOnSurface_Create = _BRep.Handle_BRep_PointOnCurveOnSurface_Create
Handle_BRep_PointOnCurveOnSurface_DownCast = _BRep.Handle_BRep_PointOnCurveOnSurface_DownCast
Handle_BRep_PointOnCurveOnSurface_IsNull = _BRep.Handle_BRep_PointOnCurveOnSurface_IsNull
Handle_BRep_PointOnSurface_Create = _BRep.Handle_BRep_PointOnSurface_Create
Handle_BRep_PointOnSurface_DownCast = _BRep.Handle_BRep_PointOnSurface_DownCast
Handle_BRep_PointOnSurface_IsNull = _BRep.Handle_BRep_PointOnSurface_IsNull
Handle_BRep_PolygonOnClosedSurface_Create = _BRep.Handle_BRep_PolygonOnClosedSurface_Create
Handle_BRep_PolygonOnClosedSurface_DownCast = _BRep.Handle_BRep_PolygonOnClosedSurface_DownCast
Handle_BRep_PolygonOnClosedSurface_IsNull = _BRep.Handle_BRep_PolygonOnClosedSurface_IsNull
Handle_BRep_PolygonOnClosedTriangulation_Create = _BRep.Handle_BRep_PolygonOnClosedTriangulation_Create
Handle_BRep_PolygonOnClosedTriangulation_DownCast = _BRep.Handle_BRep_PolygonOnClosedTriangulation_DownCast
Handle_BRep_PolygonOnClosedTriangulation_IsNull = _BRep.Handle_BRep_PolygonOnClosedTriangulation_IsNull
Handle_BRep_CurveOnClosedSurface_Create = _BRep.Handle_BRep_CurveOnClosedSurface_Create
Handle_BRep_CurveOnClosedSurface_DownCast = _BRep.Handle_BRep_CurveOnClosedSurface_DownCast
Handle_BRep_CurveOnClosedSurface_IsNull = _BRep.Handle_BRep_CurveOnClosedSurface_IsNull
class BRep_ListOfPointRepresentation(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_begin)
    end = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_end)
    cbegin = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_cbegin)
    cend = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_cend)

    def __init__(self, *args):
        _BRep.BRep_ListOfPointRepresentation_swiginit(self, _BRep.new_BRep_ListOfPointRepresentation(*args))
    Size = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Size)
    Assign = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Assign)
    Set = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Set)
    Clear = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Clear)
    First = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_First)
    Last = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Last)
    Append = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Append)
    Prepend = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Prepend)
    RemoveFirst = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_RemoveFirst)
    Remove = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Remove)
    InsertBefore = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_InsertAfter)
    Reverse = _swig_new_instance_method(_BRep.BRep_ListOfPointRepresentation_Reverse)
    __swig_destroy__ = _BRep.delete_BRep_ListOfPointRepresentation

# Register BRep_ListOfPointRepresentation in _BRep:
_BRep.BRep_ListOfPointRepresentation_swigregister(BRep_ListOfPointRepresentation)

class BRep_ListIteratorOfListOfPointRepresentation(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):
        _BRep.BRep_ListIteratorOfListOfPointRepresentation_swiginit(self, _BRep.new_BRep_ListIteratorOfListOfPointRepresentation(*args))
    More = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfPointRepresentation_More)
    Next = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfPointRepresentation_Next)
    Value = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfPointRepresentation_Value)
    ChangeValue = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfPointRepresentation_ChangeValue)
    __swig_destroy__ = _BRep.delete_BRep_ListIteratorOfListOfPointRepresentation

# Register BRep_ListIteratorOfListOfPointRepresentation in _BRep:
_BRep.BRep_ListIteratorOfListOfPointRepresentation_swigregister(BRep_ListIteratorOfListOfPointRepresentation)

class BRep_ListOfCurveRepresentation(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    begin = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_begin)
    end = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_end)
    cbegin = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_cbegin)
    cend = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_cend)

    def __init__(self, *args):
        _BRep.BRep_ListOfCurveRepresentation_swiginit(self, _BRep.new_BRep_ListOfCurveRepresentation(*args))
    Size = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Size)
    Assign = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Assign)
    Set = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Set)
    Clear = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Clear)
    First = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_First)
    Last = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Last)
    Append = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Append)
    Prepend = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Prepend)
    RemoveFirst = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_RemoveFirst)
    Remove = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Remove)
    InsertBefore = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_InsertBefore)
    InsertAfter = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_InsertAfter)
    Reverse = _swig_new_instance_method(_BRep.BRep_ListOfCurveRepresentation_Reverse)
    __swig_destroy__ = _BRep.delete_BRep_ListOfCurveRepresentation

# Register BRep_ListOfCurveRepresentation in _BRep:
_BRep.BRep_ListOfCurveRepresentation_swigregister(BRep_ListOfCurveRepresentation)

class BRep_ListIteratorOfListOfCurveRepresentation(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):
        _BRep.BRep_ListIteratorOfListOfCurveRepresentation_swiginit(self, _BRep.new_BRep_ListIteratorOfListOfCurveRepresentation(*args))
    More = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfCurveRepresentation_More)
    Next = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfCurveRepresentation_Next)
    Value = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfCurveRepresentation_Value)
    ChangeValue = _swig_new_instance_method(_BRep.BRep_ListIteratorOfListOfCurveRepresentation_ChangeValue)
    __swig_destroy__ = _BRep.delete_BRep_ListIteratorOfListOfCurveRepresentation

# Register BRep_ListIteratorOfListOfCurveRepresentation in _BRep:
_BRep.BRep_ListIteratorOfListOfCurveRepresentation_swigregister(BRep_ListIteratorOfListOfCurveRepresentation)

class BRep_Builder(OCC.Core.TopoDS.TopoDS_Builder):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Continuity = _swig_new_instance_method(_BRep.BRep_Builder_Continuity)
    Degenerated = _swig_new_instance_method(_BRep.BRep_Builder_Degenerated)
    MakeEdge = _swig_new_instance_method(_BRep.BRep_Builder_MakeEdge)
    MakeFace = _swig_new_instance_method(_BRep.BRep_Builder_MakeFace)
    MakeVertex = _swig_new_instance_method(_BRep.BRep_Builder_MakeVertex)
    NaturalRestriction = _swig_new_instance_method(_BRep.BRep_Builder_NaturalRestriction)
    Range = _swig_new_instance_method(_BRep.BRep_Builder_Range)
    SameParameter = _swig_new_instance_method(_BRep.BRep_Builder_SameParameter)
    SameRange = _swig_new_instance_method(_BRep.BRep_Builder_SameRange)
    Transfert = _swig_new_instance_method(_BRep.BRep_Builder_Transfert)
    UpdateEdge = _swig_new_instance_method(_BRep.BRep_Builder_UpdateEdge)
    UpdateFace = _swig_new_instance_method(_BRep.BRep_Builder_UpdateFace)
    UpdateVertex = _swig_new_instance_method(_BRep.BRep_Builder_UpdateVertex)

    __repr__ = _dumps_object


    def __init__(self):
        _BRep.BRep_Builder_swiginit(self, _BRep.new_BRep_Builder())
    __swig_destroy__ = _BRep.delete_BRep_Builder

# Register BRep_Builder in _BRep:
_BRep.BRep_Builder_swigregister(BRep_Builder)

class BRep_CurveRepresentation(OCC.Core.Standard.Standard_Transient):
    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
    Continuity = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Continuity)
    Copy = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Copy)
    Curve3D = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Curve3D)
    IsCurve3D = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsCurve3D)
    IsCurveOnClosedSurface = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsCurveOnClosedSurface)
    IsCurveOnSurface = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsCurveOnSurface)
    IsPolygon3D = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsPolygon3D)
    IsPolygonOnClosedSurface = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsPolygonOnClosedSurface)
    IsPolygonOnClosedTriangulation = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsPolygonOnClosedTriangulation)
    IsPolygonOnSurface = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsPolygonOnSurface)
    IsPolygonOnTriangulation = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsPolygonOnTriangulation)
    IsRegularity = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_IsRegularity)
    Location = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Location)
    Location2 = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Location2)
    PCurve = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_PCurve)
    PCurve2 = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_PCurve2)
    Polygon = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Polygon)
    Polygon2 = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Polygon2)
    Polygon3D = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Polygon3D)
    PolygonOnTriangulation = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_PolygonOnTriangulation)
    PolygonOnTriangulation2 = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_PolygonOnTriangulation2)
    Surface = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Surface)
    Surface2 = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Surface2)
    Triangulation = _swig_new_instance_method(_BRep.BRep_CurveRepresentation_Triangulation)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_CurveRepresentation

# Register BRep_CurveRepresentation in _BRep:
_BRep.BRep_CurveRepresentation_swigregister(BRep_CurveRepresentation)

class BRep_PointRepresentation(OCC.Core.Standard.Standard_Transient):
    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
    Curve = _swig_new_instance_method(_BRep.BRep_PointRepresentation_Curve)
    IsPointOnCurve = _swig_new_instance_method(_BRep.BRep_PointRepresentation_IsPointOnCurve)
    IsPointOnCurveOnSurface = _swig_new_instance_method(_BRep.BRep_PointRepresentation_IsPointOnCurveOnSurface)
    IsPointOnSurface = _swig_new_instance_method(_BRep.BRep_PointRepresentation_IsPointOnSurface)
    Location = _swig_new_instance_method(_BRep.BRep_PointRepresentation_Location)
    PCurve = _swig_new_instance_method(_BRep.BRep_PointRepresentation_PCurve)
    Parameter = _swig_new_instance_method(_BRep.BRep_PointRepresentation_Parameter)
    Parameter2 = _swig_new_instance_method(_BRep.BRep_PointRepresentation_Parameter2)
    Surface = _swig_new_instance_method(_BRep.BRep_PointRepresentation_Surface)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PointRepresentation

# Register BRep_PointRepresentation in _BRep:
_BRep.BRep_PointRepresentation_swigregister(BRep_PointRepresentation)

class BRep_TEdge(OCC.Core.TopoDS.TopoDS_TEdge):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Creates an empty TEdge.
        	:rtype: None
        """
        _BRep.BRep_TEdge_swiginit(self, _BRep.new_BRep_TEdge(*args))
    ChangeCurves = _swig_new_instance_method(_BRep.BRep_TEdge_ChangeCurves)
    Curves = _swig_new_instance_method(_BRep.BRep_TEdge_Curves)
    Degenerated = _swig_new_instance_method(_BRep.BRep_TEdge_Degenerated)
    SameParameter = _swig_new_instance_method(_BRep.BRep_TEdge_SameParameter)
    SameRange = _swig_new_instance_method(_BRep.BRep_TEdge_SameRange)
    Tolerance = _swig_new_instance_method(_BRep.BRep_TEdge_Tolerance)
    UpdateTolerance = _swig_new_instance_method(_BRep.BRep_TEdge_UpdateTolerance)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_TEdge

# Register BRep_TEdge in _BRep:
_BRep.BRep_TEdge_swigregister(BRep_TEdge)

class BRep_TFace(OCC.Core.TopoDS.TopoDS_TFace):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

    def __init__(self, *args):
        r"""
        * Creates an empty TFace.
        	:rtype: None
        """
        _BRep.BRep_TFace_swiginit(self, _BRep.new_BRep_TFace(*args))
    Location = _swig_new_instance_method(_BRep.BRep_TFace_Location)
    NaturalRestriction = _swig_new_instance_method(_BRep.BRep_TFace_NaturalRestriction)
    Surface = _swig_new_instance_method(_BRep.BRep_TFace_Surface)
    Tolerance = _swig_new_instance_method(_BRep.BRep_TFace_Tolerance)
    Triangulation = _swig_new_instance_method(_BRep.BRep_TFace_Triangulation)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_TFace

# Register BRep_TFace in _BRep:
_BRep.BRep_TFace_swigregister(BRep_TFace)

class BRep_TVertex(OCC.Core.TopoDS.TopoDS_TVertex):
    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"""
        _BRep.BRep_TVertex_swiginit(self, _BRep.new_BRep_TVertex(*args))
    ChangePoints = _swig_new_instance_method(_BRep.BRep_TVertex_ChangePoints)
    Pnt = _swig_new_instance_method(_BRep.BRep_TVertex_Pnt)
    Points = _swig_new_instance_method(_BRep.BRep_TVertex_Points)
    Tolerance = _swig_new_instance_method(_BRep.BRep_TVertex_Tolerance)
    UpdateTolerance = _swig_new_instance_method(_BRep.BRep_TVertex_UpdateTolerance)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_TVertex

# Register BRep_TVertex in _BRep:
_BRep.BRep_TVertex_swigregister(BRep_TVertex)

class BRep_Tool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    Continuity = _swig_new_static_method(_BRep.BRep_Tool_Continuity)
    Curve = _swig_new_static_method(_BRep.BRep_Tool_Curve)
    CurveOnPlane = _swig_new_static_method(_BRep.BRep_Tool_CurveOnPlane)
    CurveOnSurface = _swig_new_static_method(_BRep.BRep_Tool_CurveOnSurface)
    Degenerated = _swig_new_static_method(_BRep.BRep_Tool_Degenerated)
    HasContinuity = _swig_new_static_method(_BRep.BRep_Tool_HasContinuity)
    IsClosed = _swig_new_static_method(_BRep.BRep_Tool_IsClosed)
    IsGeometric = _swig_new_static_method(_BRep.BRep_Tool_IsGeometric)
    MaxContinuity = _swig_new_static_method(_BRep.BRep_Tool_MaxContinuity)
    MaxTolerance = _swig_new_static_method(_BRep.BRep_Tool_MaxTolerance)
    NaturalRestriction = _swig_new_static_method(_BRep.BRep_Tool_NaturalRestriction)
    Parameter = _swig_new_static_method(_BRep.BRep_Tool_Parameter)
    Parameters = _swig_new_static_method(_BRep.BRep_Tool_Parameters)
    Pnt = _swig_new_static_method(_BRep.BRep_Tool_Pnt)
    Polygon3D = _swig_new_static_method(_BRep.BRep_Tool_Polygon3D)
    PolygonOnSurface = _swig_new_static_method(_BRep.BRep_Tool_PolygonOnSurface)
    PolygonOnTriangulation = _swig_new_static_method(_BRep.BRep_Tool_PolygonOnTriangulation)
    Range = _swig_new_static_method(_BRep.BRep_Tool_Range)
    SameParameter = _swig_new_static_method(_BRep.BRep_Tool_SameParameter)
    SameRange = _swig_new_static_method(_BRep.BRep_Tool_SameRange)
    SetUVPoints = _swig_new_static_method(_BRep.BRep_Tool_SetUVPoints)
    Surface = _swig_new_static_method(_BRep.BRep_Tool_Surface)
    Tolerance = _swig_new_static_method(_BRep.BRep_Tool_Tolerance)
    Triangulation = _swig_new_static_method(_BRep.BRep_Tool_Triangulation)
    UVPoints = _swig_new_static_method(_BRep.BRep_Tool_UVPoints)

    __repr__ = _dumps_object


    def __init__(self):
        _BRep.BRep_Tool_swiginit(self, _BRep.new_BRep_Tool())
    __swig_destroy__ = _BRep.delete_BRep_Tool

# Register BRep_Tool in _BRep:
_BRep.BRep_Tool_swigregister(BRep_Tool)
BRep_Tool_Continuity = _BRep.BRep_Tool_Continuity
BRep_Tool_Curve = _BRep.BRep_Tool_Curve
BRep_Tool_CurveOnPlane = _BRep.BRep_Tool_CurveOnPlane
BRep_Tool_CurveOnSurface = _BRep.BRep_Tool_CurveOnSurface
BRep_Tool_Degenerated = _BRep.BRep_Tool_Degenerated
BRep_Tool_HasContinuity = _BRep.BRep_Tool_HasContinuity
BRep_Tool_IsClosed = _BRep.BRep_Tool_IsClosed
BRep_Tool_IsGeometric = _BRep.BRep_Tool_IsGeometric
BRep_Tool_MaxContinuity = _BRep.BRep_Tool_MaxContinuity
BRep_Tool_MaxTolerance = _BRep.BRep_Tool_MaxTolerance
BRep_Tool_NaturalRestriction = _BRep.BRep_Tool_NaturalRestriction
BRep_Tool_Parameter = _BRep.BRep_Tool_Parameter
BRep_Tool_Parameters = _BRep.BRep_Tool_Parameters
BRep_Tool_Pnt = _BRep.BRep_Tool_Pnt
BRep_Tool_Polygon3D = _BRep.BRep_Tool_Polygon3D
BRep_Tool_PolygonOnSurface = _BRep.BRep_Tool_PolygonOnSurface
BRep_Tool_PolygonOnTriangulation = _BRep.BRep_Tool_PolygonOnTriangulation
BRep_Tool_Range = _BRep.BRep_Tool_Range
BRep_Tool_SameParameter = _BRep.BRep_Tool_SameParameter
BRep_Tool_SameRange = _BRep.BRep_Tool_SameRange
BRep_Tool_SetUVPoints = _BRep.BRep_Tool_SetUVPoints
BRep_Tool_Surface = _BRep.BRep_Tool_Surface
BRep_Tool_Tolerance = _BRep.BRep_Tool_Tolerance
BRep_Tool_Triangulation = _BRep.BRep_Tool_Triangulation
BRep_Tool_UVPoints = _BRep.BRep_Tool_UVPoints

class BRep_CurveOn2Surfaces(BRep_CurveRepresentation):
    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 S1:
        	:type S1: Geom_Surface
        	:param S2:
        	:type S2: Geom_Surface
        	:param L1:
        	:type L1: TopLoc_Location
        	:param L2:
        	:type L2: TopLoc_Location
        	:param C:
        	:type C: GeomAbs_Shape
        	:rtype: None
        """
        _BRep.BRep_CurveOn2Surfaces_swiginit(self, _BRep.new_BRep_CurveOn2Surfaces(*args))
    Continuity = _swig_new_instance_method(_BRep.BRep_CurveOn2Surfaces_Continuity)
    D0 = _swig_new_instance_method(_BRep.BRep_CurveOn2Surfaces_D0)
    IsRegularity = _swig_new_instance_method(_BRep.BRep_CurveOn2Surfaces_IsRegularity)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_CurveOn2Surfaces

# Register BRep_CurveOn2Surfaces in _BRep:
_BRep.BRep_CurveOn2Surfaces_swigregister(BRep_CurveOn2Surfaces)

class BRep_GCurve(BRep_CurveRepresentation):
    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
    D0 = _swig_new_instance_method(_BRep.BRep_GCurve_D0)
    First = _swig_new_instance_method(_BRep.BRep_GCurve_First)
    Last = _swig_new_instance_method(_BRep.BRep_GCurve_Last)
    Range = _swig_new_instance_method(_BRep.BRep_GCurve_Range)
    SetRange = _swig_new_instance_method(_BRep.BRep_GCurve_SetRange)
    Update = _swig_new_instance_method(_BRep.BRep_GCurve_Update)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_GCurve

# Register BRep_GCurve in _BRep:
_BRep.BRep_GCurve_swigregister(BRep_GCurve)

class BRep_PointOnCurve(BRep_PointRepresentation):
    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 P:
        	:type P: float
        	:param C:
        	:type C: Geom_Curve
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PointOnCurve_swiginit(self, _BRep.new_BRep_PointOnCurve(*args))
    Curve = _swig_new_instance_method(_BRep.BRep_PointOnCurve_Curve)
    IsPointOnCurve = _swig_new_instance_method(_BRep.BRep_PointOnCurve_IsPointOnCurve)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PointOnCurve

# Register BRep_PointOnCurve in _BRep:
_BRep.BRep_PointOnCurve_swigregister(BRep_PointOnCurve)

class BRep_PointsOnSurface(BRep_PointRepresentation):
    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
    Surface = _swig_new_instance_method(_BRep.BRep_PointsOnSurface_Surface)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PointsOnSurface

# Register BRep_PointsOnSurface in _BRep:
_BRep.BRep_PointsOnSurface_swigregister(BRep_PointsOnSurface)

class BRep_Polygon3D(BRep_CurveRepresentation):
    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 P:
        	:type P: Poly_Polygon3D
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_Polygon3D_swiginit(self, _BRep.new_BRep_Polygon3D(*args))
    Polygon3D = _swig_new_instance_method(_BRep.BRep_Polygon3D_Polygon3D)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_Polygon3D

# Register BRep_Polygon3D in _BRep:
_BRep.BRep_Polygon3D_swigregister(BRep_Polygon3D)

class BRep_PolygonOnSurface(BRep_CurveRepresentation):
    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 P:
        	:type P: Poly_Polygon2D
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PolygonOnSurface_swiginit(self, _BRep.new_BRep_PolygonOnSurface(*args))
    IsPolygonOnSurface = _swig_new_instance_method(_BRep.BRep_PolygonOnSurface_IsPolygonOnSurface)
    Polygon = _swig_new_instance_method(_BRep.BRep_PolygonOnSurface_Polygon)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PolygonOnSurface

# Register BRep_PolygonOnSurface in _BRep:
_BRep.BRep_PolygonOnSurface_swigregister(BRep_PolygonOnSurface)

class BRep_PolygonOnTriangulation(BRep_CurveRepresentation):
    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 P:
        	:type P: Poly_PolygonOnTriangulation
        	:param T:
        	:type T: Poly_Triangulation
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PolygonOnTriangulation_swiginit(self, _BRep.new_BRep_PolygonOnTriangulation(*args))
    IsPolygonOnTriangulation = _swig_new_instance_method(_BRep.BRep_PolygonOnTriangulation_IsPolygonOnTriangulation)
    PolygonOnTriangulation = _swig_new_instance_method(_BRep.BRep_PolygonOnTriangulation_PolygonOnTriangulation)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PolygonOnTriangulation

# Register BRep_PolygonOnTriangulation in _BRep:
_BRep.BRep_PolygonOnTriangulation_swigregister(BRep_PolygonOnTriangulation)

class BRep_Curve3D(BRep_GCurve):
    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 C:
        	:type C: Geom_Curve
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_Curve3D_swiginit(self, _BRep.new_BRep_Curve3D(*args))
    Curve3D = _swig_new_instance_method(_BRep.BRep_Curve3D_Curve3D)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_Curve3D

# Register BRep_Curve3D in _BRep:
_BRep.BRep_Curve3D_swigregister(BRep_Curve3D)

class BRep_CurveOnSurface(BRep_GCurve):
    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 PC:
        	:type PC: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_CurveOnSurface_swiginit(self, _BRep.new_BRep_CurveOnSurface(*args))
    IsCurveOnSurface = _swig_new_instance_method(_BRep.BRep_CurveOnSurface_IsCurveOnSurface)
    PCurve = _swig_new_instance_method(_BRep.BRep_CurveOnSurface_PCurve)
    SetUVPoints = _swig_new_instance_method(_BRep.BRep_CurveOnSurface_SetUVPoints)
    UVPoints = _swig_new_instance_method(_BRep.BRep_CurveOnSurface_UVPoints)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_CurveOnSurface

# Register BRep_CurveOnSurface in _BRep:
_BRep.BRep_CurveOnSurface_swigregister(BRep_CurveOnSurface)

class BRep_PointOnCurveOnSurface(BRep_PointsOnSurface):
    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 P:
        	:type P: float
        	:param C:
        	:type C: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PointOnCurveOnSurface_swiginit(self, _BRep.new_BRep_PointOnCurveOnSurface(*args))
    IsPointOnCurveOnSurface = _swig_new_instance_method(_BRep.BRep_PointOnCurveOnSurface_IsPointOnCurveOnSurface)
    PCurve = _swig_new_instance_method(_BRep.BRep_PointOnCurveOnSurface_PCurve)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PointOnCurveOnSurface

# Register BRep_PointOnCurveOnSurface in _BRep:
_BRep.BRep_PointOnCurveOnSurface_swigregister(BRep_PointOnCurveOnSurface)

class BRep_PointOnSurface(BRep_PointsOnSurface):
    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 P1:
        	:type P1: float
        	:param P2:
        	:type P2: float
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PointOnSurface_swiginit(self, _BRep.new_BRep_PointOnSurface(*args))
    IsPointOnSurface = _swig_new_instance_method(_BRep.BRep_PointOnSurface_IsPointOnSurface)
    Parameter2 = _swig_new_instance_method(_BRep.BRep_PointOnSurface_Parameter2)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PointOnSurface

# Register BRep_PointOnSurface in _BRep:
_BRep.BRep_PointOnSurface_swigregister(BRep_PointOnSurface)

class BRep_PolygonOnClosedSurface(BRep_PolygonOnSurface):
    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 P1:
        	:type P1: Poly_Polygon2D
        	:param P2:
        	:type P2: Poly_Polygon2D
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PolygonOnClosedSurface_swiginit(self, _BRep.new_BRep_PolygonOnClosedSurface(*args))
    Polygon2 = _swig_new_instance_method(_BRep.BRep_PolygonOnClosedSurface_Polygon2)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PolygonOnClosedSurface

# Register BRep_PolygonOnClosedSurface in _BRep:
_BRep.BRep_PolygonOnClosedSurface_swigregister(BRep_PolygonOnClosedSurface)

class BRep_PolygonOnClosedTriangulation(BRep_PolygonOnTriangulation):
    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 P1:
        	:type P1: Poly_PolygonOnTriangulation
        	:param P2:
        	:type P2: Poly_PolygonOnTriangulation
        	:param Tr:
        	:type Tr: Poly_Triangulation
        	:param L:
        	:type L: TopLoc_Location
        	:rtype: None
        """
        _BRep.BRep_PolygonOnClosedTriangulation_swiginit(self, _BRep.new_BRep_PolygonOnClosedTriangulation(*args))
    PolygonOnTriangulation2 = _swig_new_instance_method(_BRep.BRep_PolygonOnClosedTriangulation_PolygonOnTriangulation2)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_PolygonOnClosedTriangulation

# Register BRep_PolygonOnClosedTriangulation in _BRep:
_BRep.BRep_PolygonOnClosedTriangulation_swigregister(BRep_PolygonOnClosedTriangulation)

class BRep_CurveOnClosedSurface(BRep_CurveOnSurface):
    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 PC1:
        	:type PC1: Geom2d_Curve
        	:param PC2:
        	:type PC2: Geom2d_Curve
        	:param S:
        	:type S: Geom_Surface
        	:param L:
        	:type L: TopLoc_Location
        	:param C:
        	:type C: GeomAbs_Shape
        	:rtype: None
        """
        _BRep.BRep_CurveOnClosedSurface_swiginit(self, _BRep.new_BRep_CurveOnClosedSurface(*args))
    Continuity = _swig_new_instance_method(_BRep.BRep_CurveOnClosedSurface_Continuity)
    IsRegularity = _swig_new_instance_method(_BRep.BRep_CurveOnClosedSurface_IsRegularity)
    PCurve2 = _swig_new_instance_method(_BRep.BRep_CurveOnClosedSurface_PCurve2)
    SetUVPoints2 = _swig_new_instance_method(_BRep.BRep_CurveOnClosedSurface_SetUVPoints2)
    UVPoints2 = _swig_new_instance_method(_BRep.BRep_CurveOnClosedSurface_UVPoints2)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRep.delete_BRep_CurveOnClosedSurface

# Register BRep_CurveOnClosedSurface in _BRep:
_BRep.BRep_CurveOnClosedSurface_swigregister(BRep_CurveOnClosedSurface)



