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

"""
BRepMesh module, see official documentation at
https://www.opencascade.com/doc/occt-7.7.0/refman/html/package_brepmesh.html
"""

from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _BRepMesh
else:
    import _BRepMesh

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

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


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


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


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


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


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

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

    def value(self):
        return _BRepMesh.SwigPyIterator_value(self)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    def __sub__(self, *args):
        return _BRepMesh.SwigPyIterator___sub__(self, *args)
    def __iter__(self):
        return self

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

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


def process_exception(error, method_name, class_name):
    return _BRepMesh.process_exception(error, method_name, class_name)

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

import OCC.Core.Standard
import OCC.Core.NCollection
import OCC.Core.IMeshTools
import OCC.Core.IMeshData
import OCC.Core.TopoDS
import OCC.Core.Message
import OCC.Core.TCollection
import OCC.Core.OSD
import OCC.Core.TColStd
import OCC.Core.TopAbs
import OCC.Core.TopLoc
import OCC.Core.gp
import OCC.Core.BRepAdaptor
import OCC.Core.Adaptor3d
import OCC.Core.Geom
import OCC.Core.GeomAbs
import OCC.Core.TColgp
import OCC.Core.Adaptor2d
import OCC.Core.Geom2d
import OCC.Core.math
import OCC.Core.GeomAdaptor
import OCC.Core.Geom2dAdaptor
import OCC.Core.Poly
import OCC.Core.Bnd
import OCC.Core.BVH
import OCC.Core.TShort

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

BRepMesh_Free = _BRepMesh.BRepMesh_Free
BRepMesh_InVolume = _BRepMesh.BRepMesh_InVolume
BRepMesh_OnSurface = _BRepMesh.BRepMesh_OnSurface
BRepMesh_OnCurve = _BRepMesh.BRepMesh_OnCurve
BRepMesh_Fixed = _BRepMesh.BRepMesh_Fixed
BRepMesh_Frontier = _BRepMesh.BRepMesh_Frontier
BRepMesh_Deleted = _BRepMesh.BRepMesh_Deleted
BRepMesh_FE_NOERROR = _BRepMesh.BRepMesh_FE_NOERROR
BRepMesh_FE_LIBRARYNOTFOUND = _BRepMesh.BRepMesh_FE_LIBRARYNOTFOUND
BRepMesh_FE_FUNCTIONNOTFOUND = _BRepMesh.BRepMesh_FE_FUNCTIONNOTFOUND
BRepMesh_FE_CANNOTCREATEALGO = _BRepMesh.BRepMesh_FE_CANNOTCREATEALGO


class BRepMesh_DegreeOfFreedom(IntEnum):
	BRepMesh_Free = 0
	BRepMesh_InVolume = 1
	BRepMesh_OnSurface = 2
	BRepMesh_OnCurve = 3
	BRepMesh_Fixed = 4
	BRepMesh_Frontier = 5
	BRepMesh_Deleted = 6
BRepMesh_Free = BRepMesh_DegreeOfFreedom.BRepMesh_Free
BRepMesh_InVolume = BRepMesh_DegreeOfFreedom.BRepMesh_InVolume
BRepMesh_OnSurface = BRepMesh_DegreeOfFreedom.BRepMesh_OnSurface
BRepMesh_OnCurve = BRepMesh_DegreeOfFreedom.BRepMesh_OnCurve
BRepMesh_Fixed = BRepMesh_DegreeOfFreedom.BRepMesh_Fixed
BRepMesh_Frontier = BRepMesh_DegreeOfFreedom.BRepMesh_Frontier
BRepMesh_Deleted = BRepMesh_DegreeOfFreedom.BRepMesh_Deleted

class BRepMesh_FactoryError(IntEnum):
	BRepMesh_FE_NOERROR = 0
	BRepMesh_FE_LIBRARYNOTFOUND = 1
	BRepMesh_FE_FUNCTIONNOTFOUND = 2
	BRepMesh_FE_CANNOTCREATEALGO = 3
BRepMesh_FE_NOERROR = BRepMesh_FactoryError.BRepMesh_FE_NOERROR
BRepMesh_FE_LIBRARYNOTFOUND = BRepMesh_FactoryError.BRepMesh_FE_LIBRARYNOTFOUND
BRepMesh_FE_FUNCTIONNOTFOUND = BRepMesh_FactoryError.BRepMesh_FE_FUNCTIONNOTFOUND
BRepMesh_FE_CANNOTCREATEALGO = BRepMesh_FactoryError.BRepMesh_FE_CANNOTCREATEALGO


def Handle_BRepMesh_Classifier_Create():
    return _BRepMesh.Handle_BRepMesh_Classifier_Create()

def Handle_BRepMesh_Classifier_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_Classifier_DownCast(t)

def Handle_BRepMesh_Classifier_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_Classifier_IsNull(t)

def Handle_BRepMesh_DataStructureOfDelaun_Create():
    return _BRepMesh.Handle_BRepMesh_DataStructureOfDelaun_Create()

def Handle_BRepMesh_DataStructureOfDelaun_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_DataStructureOfDelaun_DownCast(t)

def Handle_BRepMesh_DataStructureOfDelaun_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_DataStructureOfDelaun_IsNull(t)

def Handle_BRepMesh_Deflection_Create():
    return _BRepMesh.Handle_BRepMesh_Deflection_Create()

def Handle_BRepMesh_Deflection_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_Deflection_DownCast(t)

def Handle_BRepMesh_Deflection_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_Deflection_IsNull(t)

def Handle_BRepMesh_DiscretRoot_Create():
    return _BRepMesh.Handle_BRepMesh_DiscretRoot_Create()

def Handle_BRepMesh_DiscretRoot_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_DiscretRoot_DownCast(t)

def Handle_BRepMesh_DiscretRoot_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_DiscretRoot_IsNull(t)

def Handle_BRepMesh_FaceChecker_Create():
    return _BRepMesh.Handle_BRepMesh_FaceChecker_Create()

def Handle_BRepMesh_FaceChecker_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_FaceChecker_DownCast(t)

def Handle_BRepMesh_FaceChecker_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_FaceChecker_IsNull(t)

def Handle_BRepMesh_MeshTool_Create():
    return _BRepMesh.Handle_BRepMesh_MeshTool_Create()

def Handle_BRepMesh_MeshTool_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_MeshTool_DownCast(t)

def Handle_BRepMesh_MeshTool_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_MeshTool_IsNull(t)

def Handle_BRepMesh_SelectorOfDataStructureOfDelaun_Create():
    return _BRepMesh.Handle_BRepMesh_SelectorOfDataStructureOfDelaun_Create()

def Handle_BRepMesh_SelectorOfDataStructureOfDelaun_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_SelectorOfDataStructureOfDelaun_DownCast(t)

def Handle_BRepMesh_SelectorOfDataStructureOfDelaun_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_SelectorOfDataStructureOfDelaun_IsNull(t)

def Handle_BRepMesh_ShapeTool_Create():
    return _BRepMesh.Handle_BRepMesh_ShapeTool_Create()

def Handle_BRepMesh_ShapeTool_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_ShapeTool_DownCast(t)

def Handle_BRepMesh_ShapeTool_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_ShapeTool_IsNull(t)

def Handle_BRepMesh_VertexTool_Create():
    return _BRepMesh.Handle_BRepMesh_VertexTool_Create()

def Handle_BRepMesh_VertexTool_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_VertexTool_DownCast(t)

def Handle_BRepMesh_VertexTool_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_VertexTool_IsNull(t)

def Handle_BRepMesh_IncrementalMesh_Create():
    return _BRepMesh.Handle_BRepMesh_IncrementalMesh_Create()

def Handle_BRepMesh_IncrementalMesh_DownCast(t):
    return _BRepMesh.Handle_BRepMesh_IncrementalMesh_DownCast(t)

def Handle_BRepMesh_IncrementalMesh_IsNull(t):
    return _BRepMesh.Handle_BRepMesh_IncrementalMesh_IsNull(t)
class BRepMesh_BaseMeshAlgo(OCC.Core.IMeshTools.IMeshTools_MeshAlgo):
    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

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_BaseMeshAlgo

# Register BRepMesh_BaseMeshAlgo in _BRepMesh:
_BRepMesh.BRepMesh_BaseMeshAlgo_swigregister(BRepMesh_BaseMeshAlgo)
class BRepMesh_Circle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theLocation: gp_XY
        theRadius: float

        Return
        -------
        None

        Description
        -----------
        Constructor. @param thelocation location of a circle. @param theradius radius of a circle.

        """
        _BRepMesh.BRepMesh_Circle_swiginit(self, _BRepMesh.new_BRepMesh_Circle(*args))

    def Location(self, *args):
        r"""
        Return
        -------
        gp_XY

        Description
        -----------
        Returns location of a circle.

        """
        return _BRepMesh.BRepMesh_Circle_Location(self, *args)

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

        Description
        -----------
        Returns radius of a circle.

        """
        return _BRepMesh.BRepMesh_Circle_Radius(self, *args)

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

        Parameters
        ----------
        theLocation: gp_XY

        Return
        -------
        None

        Description
        -----------
        Sets location of a circle. @param thelocation location of a circle.

        """
        return _BRepMesh.BRepMesh_Circle_SetLocation(self, *args)

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

        Parameters
        ----------
        theRadius: float

        Return
        -------
        None

        Description
        -----------
        Sets radius of a circle. @param theradius radius of a circle.

        """
        return _BRepMesh.BRepMesh_Circle_SetRadius(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Circle

# Register BRepMesh_Circle in _BRepMesh:
_BRepMesh.BRepMesh_Circle_swigregister(BRepMesh_Circle)
class BRepMesh_CircleInspector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theTolerance: float
        theReservedSize: int
        theAllocator: NCollection_IncAllocator

        Return
        -------
        None

        Description
        -----------
        Constructor. @param thetolerance tolerance to be used for identification of shot circles. @param thereservedsize size to be reserved for vector of circles. @param theallocator memory allocator to be used by internal collections.

        """
        _BRepMesh.BRepMesh_CircleInspector_swiginit(self, _BRepMesh.new_BRepMesh_CircleInspector(*args))

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

        Parameters
        ----------
        theIndex: int
        theCircle: BRepMesh_Circle

        Return
        -------
        None

        Description
        -----------
        Adds the circle to vector of circles at the given position. @param theindex position of circle in the vector. @param thecircle circle to be added.

        """
        return _BRepMesh.BRepMesh_CircleInspector_Bind(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Circle

        Description
        -----------
        Returns circle with the given index. @param theindex index of circle. return circle with the given index.

        """
        return _BRepMesh.BRepMesh_CircleInspector_Circle(self, *args)

    def Circles(self, *args):
        r"""
        Return
        -------
        IMeshData::VectorOfCircle

        Description
        -----------
        Resutns vector of registered circles.

        """
        return _BRepMesh.BRepMesh_CircleInspector_Circles(self, *args)

    def GetShotCircles(self, *args):
        r"""
        Return
        -------
        IMeshData::ListOfInteger

        Description
        -----------
        Returns list of circles shot by the reference point.

        """
        return _BRepMesh.BRepMesh_CircleInspector_GetShotCircles(self, *args)

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

        Parameters
        ----------
        theTargetIndex: int

        Return
        -------
        NCollection_CellFilter_Action

        Description
        -----------
        Performs inspection of a circle with the given index. @param thetargetindex index of a circle to be checked. return status of the check.

        """
        return _BRepMesh.BRepMesh_CircleInspector_Inspect(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theTargetIndex: int

        Return
        -------
        bool

        Description
        -----------
        Checks indices for equlity.

        """
        return _BRepMesh.BRepMesh_CircleInspector_IsEqual(*args)

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

        Parameters
        ----------
        thePoint: gp_XY

        Return
        -------
        None

        Description
        -----------
        Set reference point to be checked. @param thepoint bullet point.

        """
        return _BRepMesh.BRepMesh_CircleInspector_SetPoint(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_CircleInspector

# Register BRepMesh_CircleInspector in _BRepMesh:
_BRepMesh.BRepMesh_CircleInspector_swigregister(BRepMesh_CircleInspector)
class BRepMesh_CircleTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAllocator: NCollection_IncAllocator

        Return
        -------
        None

        Description
        -----------
        Constructor. @param theallocator memory allocator to be used by internal structures.

        Parameters
        ----------
        theReservedSize: int
        theAllocator: NCollection_IncAllocator

        Return
        -------
        None

        Description
        -----------
        Constructor. @param thereservedsize size to be reserved for vector of circles. @param theallocator memory allocator to be used by internal structures.

        """
        _BRepMesh.BRepMesh_CircleTool_swiginit(self, _BRepMesh.new_BRepMesh_CircleTool(*args))

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

        Parameters
        ----------
        theIndex: int
        theCircle: gp_Circ2d

        Return
        -------
        None

        Description
        -----------
        Binds the circle to the tool. @param theindex index a circle should be bound with. @param thecircle circle to be bound.

        Parameters
        ----------
        theIndex: int
        thePoint1: gp_XY
        thePoint2: gp_XY
        thePoint3: gp_XY

        Return
        -------
        bool

        Description
        -----------
        Computes circle on three points and bind it to the tool. @param theindex index a circle should be bound with. @param thepoint1 first point. @param thepoint2 second point. @param thepoint3 third point. return false in case of impossibility to build a circle on the given points, true elsewhere.

        """
        return _BRepMesh.BRepMesh_CircleTool_Bind(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Deletes a circle from the tool. @param theindex index of a circle to be removed.

        """
        return _BRepMesh.BRepMesh_CircleTool_Delete(self, *args)

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

        Parameters
        ----------
        Standard_Integer: 

        Return
        -------
        None

        Description
        -----------
        Initializes the tool. @param thereservedsize size to be reserved for vector of circles.

        """
        return _BRepMesh.BRepMesh_CircleTool_Init(self, *args)

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

        Description
        -----------
        Returns true if cell filter contains no circle.

        """
        return _BRepMesh.BRepMesh_CircleTool_IsEmpty(self, *args)

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

        Parameters
        ----------
        thePoint1: gp_XY
        thePoint2: gp_XY
        thePoint3: gp_XY
        theLocation: gp_XY

        Return
        -------
        theRadius: float

        Description
        -----------
        Computes circle on three points. @param thepoint1 first point. @param thepoint2 second point. @param thepoint3 third point. @param[out] thelocation center of computed circle. @param[out] theradius radius of computed circle. return false in case of impossibility to build a circle on the given points, true elsewhere.

        """
        return _BRepMesh.BRepMesh_CircleTool_MakeCircle(*args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Binds implicit zero circle. @param theindex index a zero circle should be bound with.

        """
        return _BRepMesh.BRepMesh_CircleTool_MocBind(self, *args)

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

        Parameters
        ----------
        thePoint: gp_XY

        Return
        -------
        IMeshData::ListOfInteger

        Description
        -----------
        Select the circles shot by the given point. @param thepoint bullet point.

        """
        return _BRepMesh.BRepMesh_CircleTool_Select(self, *args)

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

        Parameters
        ----------
        theSize: float

        Return
        -------
        None

        Description
        -----------
        Sets new size for cell filter. @param thesize cell size to be set for x and y dimensions.

        Parameters
        ----------
        theSizeX: float
        theSizeY: float

        Return
        -------
        None

        Description
        -----------
        Sets new size for cell filter. @param thesizex cell size to be set for x dimension. @param thesizey cell size to be set for y dimension.

        """
        return _BRepMesh.BRepMesh_CircleTool_SetCellSize(self, *args)

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

        Parameters
        ----------
        theMin: gp_XY
        theMax: gp_XY

        Return
        -------
        None

        Description
        -----------
        Sets limits of inspection area. @param themin bottom left corner of inspection area. @param themax top right corner of inspection area.

        """
        return _BRepMesh.BRepMesh_CircleTool_SetMinMaxSize(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_CircleTool

# Register BRepMesh_CircleTool in _BRepMesh:
_BRepMesh.BRepMesh_CircleTool_swigregister(BRepMesh_CircleTool)
class BRepMesh_Classifier(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_Classifier_swiginit(self, _BRepMesh.new_BRepMesh_Classifier(*args))

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

        Parameters
        ----------
        thePoint: gp_Pnt2d

        Return
        -------
        TopAbs_State

        Description
        -----------
        Performs classification of the given point regarding to face internals. @param thepoint point in parametric space to be classified. return topabs_in if point lies within face boundaries and topabs_out elsewhere.

        """
        return _BRepMesh.BRepMesh_Classifier_Perform(self, *args)

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

        Parameters
        ----------
        theWire: NCollection_Sequence< gp_Pnt2d *>
        theTolUV: std::pair<float, float>
        theRangeU: std::pair<float, float>
        theRangeV: std::pair<float, float>

        Return
        -------
        None

        Description
        -----------
        Registers wire specified by sequence of points for further classification of points. @param thewire wire to be registered. specified by sequence of points. @param thetoluv tolerance to be used for calculations in parametric space. @param theumin lower u boundary of the face in parametric space. @param theumax upper u boundary of the face in parametric space. @param thevmin lower v boundary of the face in parametric space. @param thevmax upper v boundary of the face in parametric space.

        """
        return _BRepMesh.BRepMesh_Classifier_RegisterWire(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Classifier

# Register BRepMesh_Classifier in _BRepMesh:
_BRepMesh.BRepMesh_Classifier_swigregister(BRepMesh_Classifier)
class BRepMesh_Context(OCC.Core.IMeshTools.IMeshTools_Context):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theMeshType: IMeshTools_MeshAlgoType (optional, default to IMeshTools_MeshAlgoType_DEFAULT)

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_Context_swiginit(self, _BRepMesh.new_BRepMesh_Context(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Context

# Register BRepMesh_Context in _BRepMesh:
_BRepMesh.BRepMesh_Context_swigregister(BRepMesh_Context)
class BRepMesh_CurveTessellator(OCC.Core.IMeshTools.IMeshTools_CurveTessellator):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theEdge: IMeshData::IEdgeHandle
        theParameters: IMeshTools_Parameters
        theMinPointsNb: int (optional, default to 2)

        Return
        -------
        None

        Description
        -----------
        Constructor.

        Parameters
        ----------
        theEdge: IMeshData::IEdgeHandle
        theOrientation: TopAbs_Orientation
        theFace: IMeshData::IFaceHandle
        theParameters: IMeshTools_Parameters
        theMinPointsNb: int (optional, default to 2)

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_CurveTessellator_swiginit(self, _BRepMesh.new_BRepMesh_CurveTessellator(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_CurveTessellator

# Register BRepMesh_CurveTessellator in _BRepMesh:
_BRepMesh.BRepMesh_CurveTessellator_swigregister(BRepMesh_CurveTessellator)
class BRepMesh_DataStructureOfDelaun(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAllocator: NCollection_IncAllocator
        theReservedNodeSize: int (optional, default to 100)

        Return
        -------
        None

        Description
        -----------
        Constructor. @param theallocator memory allocator to be used by internal structures. @param thereservednodesize presumed number of nodes in this mesh.

        """
        _BRepMesh.BRepMesh_DataStructureOfDelaun_swiginit(self, _BRepMesh.new_BRepMesh_DataStructureOfDelaun(*args))

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

        Parameters
        ----------
        theElement: BRepMesh_Triangle

        Return
        -------
        int

        Description
        -----------
        Adds element to the mesh if it is not already in the mesh. @param theelement element to be added to the mesh. return index of the element in the structure.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_AddElement(self, *args)

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

        Parameters
        ----------
        theLink: BRepMesh_Edge

        Return
        -------
        int

        Description
        -----------
        Adds link to the mesh if it is not already in the mesh. @param thelink link to be added to the mesh. return index of the link in the structure.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_AddLink(self, *args)

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

        Parameters
        ----------
        theNode: BRepMesh_Vertex
        isForceAdd: bool (optional, default to Standard_False)

        Return
        -------
        int

        Description
        -----------
        Adds node to the mesh if it is not already in the mesh. @param thenode node to be added to the mesh. @param isforceadd adds the given node to structure without checking on coincidence with other nodes. return index of the node in the structure.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_AddNode(self, *args)

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

        Description
        -----------
        Returns memory allocator used by the structure.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_Allocator(self, *args)

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

        Description
        -----------
        Substitutes deleted items by the last one from corresponding map to have only non-deleted elements, links or nodes in the structure.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_ClearDeleted(self, *args)

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

        Description
        -----------
        Removes all elements.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_ClearDomain(self, *args)

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

        Description
        -----------
        Gives the data structure for initialization of cell size and tolerance.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_Data(self, *args)

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

        Parameters
        ----------
        theFileNameStr: str

        Return
        -------
        None

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

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_Dump(self, *args)

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

        Parameters
        ----------
        theElement: BRepMesh_Triangle
        ): int (  theNodes

        Return
        -------
        None

        Description
        -----------
        Returns indices of nodes forming the given element. @param theelement element which nodes should be retrieved. @param[out] thenodes nodes of the given element.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_ElementNodes(self, *args)

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

        Parameters
        ----------
        theLinkIndex: int

        Return
        -------
        BRepMesh_PairOfIndex

        Description
        -----------
        Returns indices of elements connected to the link with the given index. @param thelinkindex index of link whose data should be retrieved. return indices of elements connected to the link.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_ElementsConnectedTo(self, *args)

    def ElementsOfDomain(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Returns map of indices of elements registered in mesh.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_ElementsOfDomain(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Triangle

        Description
        -----------
        Get element by the index. @param theindex index of an element. return element with the given index.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_GetElement(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Edge

        Description
        -----------
        Get link by the index. @param theindex index of a link. return link with the given index.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_GetLink(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Vertex

        Description
        -----------
        Get node by the index. @param theindex index of a node. return node with the given index.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_GetNode(self, *args)

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

        Parameters
        ----------
        theNode: BRepMesh_Vertex

        Return
        -------
        int

        Description
        -----------
        Finds the index of the given node. @param thenode node to find. return index of the given element of zero if node is not in the mesh.

        Parameters
        ----------
        theLink: BRepMesh_Edge

        Return
        -------
        int

        Description
        -----------
        Finds the index of the given link. @param thelink link to find. return index of the given element of zero if link is not in the mesh.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_IndexOf(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        IMeshData::ListOfInteger

        Description
        -----------
        Get list of links attached to the node with the given index. @param theindex index of node whose links should be retrieved. return list of links attached to the node.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_LinksConnectedTo(self, *args)

    def LinksOfDomain(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Returns map of indices of links registered in mesh.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_LinksOfDomain(self, *args)

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

        Description
        -----------
        Returns number of links.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_NbElements(self, *args)

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

        Description
        -----------
        Returns number of links.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_NbLinks(self, *args)

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

        Description
        -----------
        Returns number of nodes.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_NbNodes(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Removes element from the mesh. @param theindex index of element to be removed.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_RemoveElement(self, *args)

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

        Parameters
        ----------
        theIndex: int
        isForce: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Removes link from the mesh in case if it has no connected elements and its type is free. @param theindex index of link to be removed. @param isforce if true link will be removed even if movability is not free.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_RemoveLink(self, *args)

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

        Parameters
        ----------
        theIndex: int
        isForce: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Removes node from the mesh in case if it has no connected links and its type is free. @param theindex index of node to be removed. @param isforce if true node will be removed even if movability is not free.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_RemoveNode(self, *args)

    def StatisticsToString(self):
        r"""StatisticsToString(BRepMesh_DataStructureOfDelaun self) -> std::string"""
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_StatisticsToString(self)

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

        Parameters
        ----------
        theIndex: int
        theNewElement: BRepMesh_Triangle

        Return
        -------
        bool

        Description
        -----------
        Substitutes the element with the given index by new one. @param theindex index of element to be substituted. @param thenewlink substituting element. return false in case if new element is already in the structure, true elsewhere.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_SubstituteElement(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theNewLink: BRepMesh_Edge

        Return
        -------
        bool

        Description
        -----------
        Substitutes the link with the given index by new one. @param theindex index of link to be substituted. @param thenewlink substituting link. return false in case if new link is already in the structure, true elsewhere.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_SubstituteLink(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theNewNode: BRepMesh_Vertex

        Return
        -------
        bool

        Description
        -----------
        Substitutes the node with the given index by new one. @param theindex index of node to be substituted. @param thenewnode substituting node. return false in case if new node is already in the structure, true elsewhere.

        """
        return _BRepMesh.BRepMesh_DataStructureOfDelaun_SubstituteNode(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DataStructureOfDelaun

# Register BRepMesh_DataStructureOfDelaun in _BRepMesh:
_BRepMesh.BRepMesh_DataStructureOfDelaun_swigregister(BRepMesh_DataStructureOfDelaun)
class BRepMesh_DefaultRangeSplitter(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_DefaultRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_DefaultRangeSplitter(*args))

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

        Parameters
        ----------
        thePoint: gp_Pnt2d

        Return
        -------
        None

        Description
        -----------
        Registers border point.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_AddPoint(self, *args)

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

        Description
        -----------
        Updates discrete range of surface according to its geometric range.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_AdjustRange(self, *args)

    def GetDFace(self, *args):
        r"""
        Return
        -------
        IMeshData::IFaceHandle

        Description
        -----------
        Returns face model.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetDFace(self, *args)

    def GetDelta(self, *args):
        r"""
        Return
        -------
        std::pair<float, float>

        Description
        -----------
        Returns delta.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetDelta(self, *args)

    def GetRangeU(self, *args):
        r"""
        Return
        -------
        std::pair<float, float>

        Description
        -----------
        Returns u range.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetRangeU(self, *args)

    def GetRangeV(self, *args):
        r"""
        Return
        -------
        std::pair<float, float>

        Description
        -----------
        Returns v range.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetRangeV(self, *args)

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

        Description
        -----------
        Returns surface.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetSurface(self, *args)

    def GetToleranceUV(self, *args):
        r"""
        Return
        -------
        std::pair<float, float>

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

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_GetToleranceUV(self, *args)

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

        Description
        -----------
        Returns true if computed range is valid.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_IsValid(self, *args)

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

        Parameters
        ----------
        thePoint2d: gp_Pnt2d

        Return
        -------
        gp_Pnt

        Description
        -----------
        Returns point in 3d space corresponded to the given point defined in parameteric space of surface.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_Point(self, *args)

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

        Parameters
        ----------
        theDFace: IMeshData::IFaceHandle
        theParameters: IMeshTools_Parameters

        Return
        -------
        None

        Description
        -----------
        Resets this splitter. must be called before first use.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_Reset(self, *args)

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

        Parameters
        ----------
        thePoint: gp_Pnt2d
        isToFaceBasis: bool

        Return
        -------
        gp_Pnt2d

        Description
        -----------
        Scales the given point from real parametric space to face basis and otherwise. @param thepoint point to be scaled. @param istofacebasis if true converts point to face basis, otherwise performs reverse conversion. return scaled point.

        """
        return _BRepMesh.BRepMesh_DefaultRangeSplitter_Scale(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DefaultRangeSplitter

# Register BRepMesh_DefaultRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_DefaultRangeSplitter_swigregister(BRepMesh_DefaultRangeSplitter)
class BRepMesh_Deflection(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

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        theRelativeDeflection: float
        theMaxShapeSize: float

        Return
        -------
        float

        Description
        -----------
        Returns absolute deflection for theshape with respect to the relative deflection and themaxshapesize. @param theshape shape for that the deflection should be computed. @param therelativedeflection relative deflection. @param themaxshapesize maximum size of the whole shape. return absolute deflection for the shape.

        """
        return _BRepMesh.BRepMesh_Deflection_ComputeAbsoluteDeflection(*args)

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

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theMaxShapeSize: float
        theParameters: IMeshTools_Parameters

        Return
        -------
        None

        Description
        -----------
        Computes and updates deflection of the given discrete edge.

        Parameters
        ----------
        theDWire: IMeshData::IWireHandle
        theParameters: IMeshTools_Parameters

        Return
        -------
        None

        Description
        -----------
        Computes and updates deflection of the given discrete wire.

        Parameters
        ----------
        theDFace: IMeshData::IFaceHandle
        theParameters: IMeshTools_Parameters

        Return
        -------
        None

        Description
        -----------
        Computes and updates deflection of the given discrete face.

        """
        return _BRepMesh.BRepMesh_Deflection_ComputeDeflection(*args)

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

        Parameters
        ----------
        theCurrent: float
        theRequired: float
        theAllowDecrease: bool
        theRatio: float (optional, default to 0.1)

        Return
        -------
        bool

        Description
        -----------
        Checks if the deflection of current polygonal representation is consistent with the required deflection. @param thecurrent [in] current deflection. @param therequired [in] required deflection. @param theallowdecrease [in] flag controlling the check. if decrease is allowed, to be consistent the current and required deflections should be approximately the same. if not allowed, the current deflection should be less than required. @param theratio [in] the ratio for comparison of the deflections (value from 0 to 1).

        """
        return _BRepMesh.BRepMesh_Deflection_IsConsistent(*args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _BRepMesh.BRepMesh_Deflection_swiginit(self, _BRepMesh.new_BRepMesh_Deflection())
    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Deflection

# Register BRepMesh_Deflection in _BRepMesh:
_BRepMesh.BRepMesh_Deflection_swigregister(BRepMesh_Deflection)
class BRepMesh_DelabellaMeshAlgoFactory(OCC.Core.IMeshTools.IMeshTools_MeshAlgoFactory):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_DelabellaMeshAlgoFactory_swiginit(self, _BRepMesh.new_BRepMesh_DelabellaMeshAlgoFactory(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DelabellaMeshAlgoFactory

# Register BRepMesh_DelabellaMeshAlgoFactory in _BRepMesh:
_BRepMesh.BRepMesh_DelabellaMeshAlgoFactory_swigregister(BRepMesh_DelabellaMeshAlgoFactory)
class BRepMesh_Delaun(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theOldMesh: BRepMesh_DataStructureOfDelaun
        theCellsCountU: int
        theCellsCountV: int
        isFillCircles: bool

        Return
        -------
        None

        Description
        -----------
        Creates instance of triangulator, but do not run the algorithm automatically.

        Parameters
        ----------
        theVertices: IMeshData::Array1OfVertexOfDelaun

        Return
        -------
        None

        Description
        -----------
        Creates the triangulation with an empty mesh data structure.

        Parameters
        ----------
        theOldMesh: BRepMesh_DataStructureOfDelaun
        theVertices: IMeshData::Array1OfVertexOfDelaun

        Return
        -------
        None

        Description
        -----------
        Creates the triangulation with an existent mesh data structure.

        Parameters
        ----------
        theOldMesh: BRepMesh_DataStructureOfDelaun
        theVertexIndices: IMeshData::VectorOfInteger

        Return
        -------
        None

        Description
        -----------
        Creates the triangulation with an existant mesh data structure.

        Parameters
        ----------
        theOldMesh: Handle ( BRepMesh_DataStructureOfDelaun )
        theVertexIndices: IMeshData::VectorOfInteger
        theCellsCountU: int
        theCellsCountV: int

        Return
        -------
        None

        Description
        -----------
        Creates the triangulation with an existant mesh data structure.

        """
        _BRepMesh.BRepMesh_Delaun_swiginit(self, _BRepMesh.new_BRepMesh_Delaun(*args))

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

        Parameters
        ----------
        theVerticesIndices: IMeshData::VectorOfInteger
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

        Description
        -----------
        Adds some vertices into the triangulation.

        """
        return _BRepMesh.BRepMesh_Delaun_AddVertices(self, *args)

    def Circles(self, *args):
        r"""
        Return
        -------
        BRepMesh_CircleTool

        Description
        -----------
        Returns tool used to build mesh consistent to delaunay criteria.

        """
        return _BRepMesh.BRepMesh_Delaun_Circles(self, *args)

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

        Parameters
        ----------
        theTriangleId: int
        theVertex: BRepMesh_Vertex
        theSqTolerance: float

        Return
        -------
        theEdgeOn: int

        Description
        -----------
        Test is the given triangle contains the given vertex. @param thesqtolerance square tolerance to check closeness to some edge @param theedgeon if it is != 0 the vertex lies onto the edge index returned through this parameter.

        """
        return _BRepMesh.BRepMesh_Delaun_Contains(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Edge

        Description
        -----------
        Gives edge with the given index.

        """
        return _BRepMesh.BRepMesh_Delaun_GetEdge(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Triangle

        Description
        -----------
        Gives triangle with the given index.

        """
        return _BRepMesh.BRepMesh_Delaun_GetTriangle(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Vertex

        Description
        -----------
        Gives vertex with the given index.

        """
        return _BRepMesh.BRepMesh_Delaun_GetVertex(self, *args)

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

        Parameters
        ----------
        theVertices: IMeshData::Array1OfVertexOfDelaun

        Return
        -------
        None

        Description
        -----------
        Initializes the triangulation with an array of vertices.

        """
        return _BRepMesh.BRepMesh_Delaun_Init(self, *args)

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

        Parameters
        ----------
        theCellsCountU: int
        theCellsCountV: int

        Return
        -------
        None

        Description
        -----------
        Forces initialization of circles cell filter using working structure.

        """
        return _BRepMesh.BRepMesh_Delaun_InitCirclesTool(self, *args)

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

        Description
        -----------
        Destruction of auxiliary triangles containing the given vertices. removes auxiliary vertices also. @param theauxvertices auxiliary vertices to be cleaned up.

        """
        return _BRepMesh.BRepMesh_Delaun_RemoveAuxElements(self, *args)

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

        Parameters
        ----------
        theVertex: BRepMesh_Vertex

        Return
        -------
        None

        Description
        -----------
        Removes a vertex from the triangulation.

        """
        return _BRepMesh.BRepMesh_Delaun_RemoveVertex(self, *args)

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

        Description
        -----------
        Gives the mesh data structure.

        """
        return _BRepMesh.BRepMesh_Delaun_Result(self, *args)

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

        Parameters
        ----------
        theSupVert: IMeshData::VectorOfInteger

        Return
        -------
        None

        Description
        -----------
        Explicitly sets ids of auxiliary vertices used to build mesh and used by 3rd-party algorithms.

        """
        return _BRepMesh.BRepMesh_Delaun_SetAuxVertices(self, *args)

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

        Parameters
        ----------
        theEdge: int

        Return
        -------
        bool

        Description
        -----------
        Modify mesh to use the edge. return true if done.

        """
        return _BRepMesh.BRepMesh_Delaun_UseEdge(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def Frontier(self):
    	pass

    @methodnotwrapped
    def InternalEdges(self):
    	pass

    @methodnotwrapped
    def FreeEdges(self):
    	pass

    @methodnotwrapped
    def ProcessConstraints(self):
    	pass

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Delaun

# Register BRepMesh_Delaun in _BRepMesh:
_BRepMesh.BRepMesh_Delaun_swigregister(BRepMesh_Delaun)
class BRepMesh_DiscretFactory(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

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

    def DefaultName(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Returns name for current meshing algorithm.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_DefaultName(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        theLinDeflection: float
        theAngDeflection: float

        Return
        -------
        opencascade::handle<BRepMesh_DiscretRoot>

        Description
        -----------
        Returns triangulation algorithm instance. @param theshape shape to be meshed. @param thelindeflection linear deflection to be used for meshing. @param theangdeflection angular deflection to be used for meshing.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_Discret(self, *args)

    def ErrorStatus(self, *args):
        r"""
        Return
        -------
        BRepMesh_FactoryError

        Description
        -----------
        Returns error status for last meshing algorithm switch.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_ErrorStatus(self, *args)

    def FunctionName(self, *args):
        r"""
        Return
        -------
        TCollection_AsciiString

        Description
        -----------
        Returns function name that should be exported by plugin.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_FunctionName(self, *args)

    @staticmethod
    def Get(*args):
        r"""
        Return
        -------
        BRepMesh_DiscretFactory

        Description
        -----------
        Returns the global factory instance.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_Get(*args)

    def Names(self, *args):
        r"""
        Return
        -------
        TColStd_MapOfAsciiString

        Description
        -----------
        Returns the list of registered meshing algorithms.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_Names(self, *args)

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

        Parameters
        ----------
        theName: str
        theFuncName: str (optional, default to 'DISCRETALGO')

        Return
        -------
        bool

        Description
        -----------
        Setup meshing algorithm that should be created by this factory. returns true if requested tool is available. on fail factory will continue to use previous algo. call ::errorstatus() method to retrieve fault reason.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_SetDefault(self, *args)

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

        Parameters
        ----------
        theName: str

        Return
        -------
        bool

        Description
        -----------
        Setup meshing algorithm by name. returns true if requested tool is available. on fail factory will continue to use previous algo.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_SetDefaultName(self, *args)

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

        Parameters
        ----------
        theFuncName: str

        Return
        -------
        bool

        Description
        -----------
        Advanced function. changes function name to retrieve from plugin. returns true if requested tool is available. on fail factory will continue to use previous algo.

        """
        return _BRepMesh.BRepMesh_DiscretFactory_SetFunctionName(self, *args)

    __repr__ = _dumps_object


# Register BRepMesh_DiscretFactory in _BRepMesh:
_BRepMesh.BRepMesh_DiscretFactory_swigregister(BRepMesh_DiscretFactory)
class BRepMesh_DiscretRoot(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

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

        Description
        -----------
        Returns true if triangualtion was performed and has success.

        """
        return _BRepMesh.BRepMesh_DiscretRoot_IsDone(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Compute triangulation for set shape.

        """
        return _BRepMesh.BRepMesh_DiscretRoot_Perform(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Set the shape to triangulate.

        """
        return _BRepMesh.BRepMesh_DiscretRoot_SetShape(self, *args)

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

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

        """
        return _BRepMesh.BRepMesh_DiscretRoot_Shape(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DiscretRoot

# Register BRepMesh_DiscretRoot in _BRepMesh:
_BRepMesh.BRepMesh_DiscretRoot_swigregister(BRepMesh_DiscretRoot)
class BRepMesh_EdgeDiscret(OCC.Core.IMeshTools.IMeshTools_ModelAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_EdgeDiscret_swiginit(self, _BRepMesh.new_BRepMesh_EdgeDiscret(*args))

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

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theDFace: IMeshData::IFaceHandle

        Return
        -------
        opencascade::handle<IMeshTools_CurveTessellator>

        Description
        -----------
        Creates instance of tessellation extractor.

        """
        return _BRepMesh.BRepMesh_EdgeDiscret_CreateEdgeTessellationExtractor(*args)

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

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theParameters: IMeshTools_Parameters
        theMinPointsNb: int (optional, default to 2)

        Return
        -------
        opencascade::handle<IMeshTools_CurveTessellator>

        Description
        -----------
        Creates instance of free edge tessellator.

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theOrientation: TopAbs_Orientation
        theDFace: IMeshData::IFaceHandle
        theParameters: IMeshTools_Parameters
        theMinPointsNb: int (optional, default to 2)

        Return
        -------
        opencascade::handle<IMeshTools_CurveTessellator>

        Description
        -----------
        Creates instance of edge tessellator.

        """
        return _BRepMesh.BRepMesh_EdgeDiscret_CreateEdgeTessellator(*args)

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

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theUpdateEnds: bool

        Return
        -------
        None

        Description
        -----------
        Updates 2d discrete edge model using tessellation of 3d curve.

        """
        return _BRepMesh.BRepMesh_EdgeDiscret_Tessellate2d(*args)

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

        Parameters
        ----------
        theDEdge: IMeshData::IEdgeHandle
        theTessellator: IMeshTools_CurveTessellator
        theUpdateEnds: bool

        Return
        -------
        None

        Description
        -----------
        Updates 3d discrete edge model using the given tessellation tool.

        """
        return _BRepMesh.BRepMesh_EdgeDiscret_Tessellate3d(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_EdgeDiscret

# Register BRepMesh_EdgeDiscret in _BRepMesh:
_BRepMesh.BRepMesh_EdgeDiscret_swigregister(BRepMesh_EdgeDiscret)
class BRepMesh_FaceChecker(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theFace: IMeshData::IFaceHandle
        theParameters: IMeshTools_Parameters

        Return
        -------
        None

        Description
        -----------
        Default constructor.

        """
        _BRepMesh.BRepMesh_FaceChecker_swiginit(self, _BRepMesh.new_BRepMesh_FaceChecker(*args))

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

        Description
        -----------
        Performs check wires of the face for intersections. return true if there is no intersection, false elsewhere.

        """
        return _BRepMesh.BRepMesh_FaceChecker_Perform(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_FaceChecker

# Register BRepMesh_FaceChecker in _BRepMesh:
_BRepMesh.BRepMesh_FaceChecker_swigregister(BRepMesh_FaceChecker)
class BRepMesh_FaceDiscret(OCC.Core.IMeshTools.IMeshTools_ModelAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAlgoFactory: IMeshTools_MeshAlgoFactory

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_FaceDiscret_swiginit(self, _BRepMesh.new_BRepMesh_FaceDiscret(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_FaceDiscret

# Register BRepMesh_FaceDiscret in _BRepMesh:
_BRepMesh.BRepMesh_FaceDiscret_swigregister(BRepMesh_FaceDiscret)
class BRepMesh_GeomTool(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    NoIntersection = _BRepMesh.BRepMesh_GeomTool_NoIntersection
    Cross = _BRepMesh.BRepMesh_GeomTool_Cross
    EndPointTouch = _BRepMesh.BRepMesh_GeomTool_EndPointTouch
    PointOnSegment = _BRepMesh.BRepMesh_GeomTool_PointOnSegment
    Glued = _BRepMesh.BRepMesh_GeomTool_Glued
    Same = _BRepMesh.BRepMesh_GeomTool_Same


    class IntFlag(IntEnum):
    	NoIntersection = 0
    	Cross = 1
    	EndPointTouch = 2
    	PointOnSegment = 3
    	Glued = 4
    	Same = 5
    NoIntersection = IntFlag.NoIntersection
    Cross = IntFlag.Cross
    EndPointTouch = IntFlag.EndPointTouch
    PointOnSegment = IntFlag.PointOnSegment
    Glued = IntFlag.Glued
    Same = IntFlag.Same


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

        Parameters
        ----------
        theCurve: BRepAdaptor_Curve
        theFirstParam: float
        theLastParam: float
        theLinDeflection: float
        theAngDeflection: float
        theMinPointsNb: int (optional, default to 2)
        theMinSize: float (optional, default to Precision::Confusion())

        Return
        -------
        None

        Description
        -----------
        Constructor. initiates discretization of the given geometric curve. @param thecurve curve to be discretized. @param thefirstparam first parameter of the curve. @param thelastparam last parameter of the curve. @param thelindeflection linear deflection. @param theangdeflection angular deflection. @param theminpointsnb minimum number of points to be produced.

        Parameters
        ----------
        theSurface: BRepAdaptor_Surface
        theIsoType: GeomAbs_IsoType
        theParamIso: float
        theFirstParam: float
        theLastParam: float
        theLinDeflection: float
        theAngDeflection: float
        theMinPointsNb: int (optional, default to 2)
        theMinSize: float (optional, default to Precision::Confusion())

        Return
        -------
        None

        Description
        -----------
        Constructor. initiates discretization of geometric curve corresponding to iso curve of the given surface. @param thesurface surface the iso curve to be taken from. @param theisotype type of iso curve to be used, u or v. @param theparamiso parameter on the surface specifying the iso curve. @param thefirstparam first parameter of the curve. @param thelastparam last parameter of the curve. @param thelindeflection linear deflection. @param theangdeflection angular deflection. @param theminpointsnb minimum number of points to be produced.

        """
        _BRepMesh.BRepMesh_GeomTool_swiginit(self, _BRepMesh.new_BRepMesh_GeomTool(*args))

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

        Parameters
        ----------
        thePoint: gp_Pnt
        theParam: float
        theIsReplace: bool (optional, default to Standard_True)

        Return
        -------
        int

        Description
        -----------
        Adds point to already calculated points (or replaces existing). @param thepoint point to be added. @param theparam parameter on the curve corresponding to the given point. @param theisreplace if true replaces existing point lying within parameteric tolerance of the given point. return index of new added point or found with parametric tolerance.

        """
        return _BRepMesh.BRepMesh_GeomTool_AddPoint(self, *args)

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

        Parameters
        ----------
        theSurface: Handle ( Adaptor3d_Surface )
        theVerticesNb: int
        theDeflection: float
        theRangeSplitter: BRepMesh_DefaultRangeSplitter *

        Return
        -------
        std::pair<int, int >

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

        """
        return _BRepMesh.BRepMesh_GeomTool_CellsCount(*args)

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

        Description
        -----------
        Returns number of discretization points.

        """
        return _BRepMesh.BRepMesh_GeomTool_NbPoints(self, *args)

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

        Parameters
        ----------
        theFirstPoint: gp_Pnt
        theLastPoint: gp_Pnt
        theMidPoint: gp_Pnt

        Return
        -------
        float

        Description
        -----------
        Compute deflection of the given segment.

        """
        return _BRepMesh.BRepMesh_GeomTool_SquareDeflectionOfSegment(*args)

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

        Parameters
        ----------
        theIndex: int
        theIsoParam: float
        thePoint: gp_Pnt
        theUV: gp_Pnt2d

        Return
        -------
        theParam: float

        Description
        -----------
        Gets parameters of discretization point with the given index. @param theindex index of discretization point. @param theisoparam parameter on surface to be used as second coordinate of resulting 2d point. @param theparam[out] parameter of the point on the iso curve. @param thepoint[out] discretization point. @param theuv[out] discretization point in parametric space of the surface. return true on success, false elsewhere.

        Parameters
        ----------
        theIndex: int
        theSurface: BRepAdaptor_Surface
        thePoint: gp_Pnt
        theUV: gp_Pnt2d

        Return
        -------
        theParam: float

        Description
        -----------
        Gets parameters of discretization point with the given index. @param theindex index of discretization point. @param thesurface surface the curve is lying onto. @param theparam[out] parameter of the point on the curve. @param thepoint[out] discretization point. @param theuv[out] discretization point in parametric space of the surface. return true on success, false elsewhere.

        """
        return _BRepMesh.BRepMesh_GeomTool_Value(self, *args)

    __repr__ = _dumps_object

    @methodnotwrapped
    def IntLinLin(self):
    	pass

    @methodnotwrapped
    def Normal(self):
    	pass

    @methodnotwrapped
    def IntSegSeg(self):
    	pass

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_GeomTool

# Register BRepMesh_GeomTool in _BRepMesh:
_BRepMesh.BRepMesh_GeomTool_swigregister(BRepMesh_GeomTool)
class BRepMesh_MeshAlgoFactory(OCC.Core.IMeshTools.IMeshTools_MeshAlgoFactory):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_MeshAlgoFactory_swiginit(self, _BRepMesh.new_BRepMesh_MeshAlgoFactory(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_MeshAlgoFactory

# Register BRepMesh_MeshAlgoFactory in _BRepMesh:
_BRepMesh.BRepMesh_MeshAlgoFactory_swigregister(BRepMesh_MeshAlgoFactory)
class BRepMesh_MeshTool(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theStructure: BRepMesh_DataStructureOfDelaun

        Return
        -------
        None

        Description
        -----------
        Constructor. initializes tool by the given data structure.

        """
        _BRepMesh.BRepMesh_MeshTool_swiginit(self, _BRepMesh.new_BRepMesh_MeshTool(*args))

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

        Parameters
        ----------
        thePoint1: int
        thePoint2: int
        thePoint3: int

        Return
        -------
        None

        Description
        -----------
        Adds new triangle with specified nodes to mesh. legalizes triangle in case if it violates circle criteria.

        """
        return _BRepMesh.BRepMesh_MeshTool_AddAndLegalizeTriangle(self, *args)

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

        Parameters
        ----------
        theFirstNode: int
        theLastNode: int

        Return
        -------
        theLinkIndex: int
        theLinkOri: bool

        Description
        -----------
        Adds new link to mesh. updates link index and link orientation parameters.

        """
        return _BRepMesh.BRepMesh_MeshTool_AddLink(self, *args)

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

        Parameters
        ----------
        thePoint1: int
        thePoint2: int
        thePoint3: int
        ): int (  theEdges

        Return
        -------
        None

        Description
        -----------
        Adds new triangle with specified nodes to mesh.

        """
        return _BRepMesh.BRepMesh_MeshTool_AddTriangle(self, *args)

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

        Description
        -----------
        Cleans frontier links from triangles to the right.

        """
        return _BRepMesh.BRepMesh_MeshTool_CleanFrontierLinks(self, *args)

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

        Description
        -----------
        Erases all links that have no elements connected to them.

        Parameters
        ----------
        theLinks: IMeshData::MapOfIntegerInteger

        Return
        -------
        None

        Description
        -----------
        Erases links from the specified map that have no elements connected to them.

        """
        return _BRepMesh.BRepMesh_MeshTool_EraseFreeLinks(self, *args)

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

        Parameters
        ----------
        theNodeIndex: int

        Return
        -------
        None

        Description
        -----------
        Erases all elements connected to the specified artificial node. in addition, erases the artificial node itself.

        """
        return _BRepMesh.BRepMesh_MeshTool_EraseItemsConnectedTo(self, *args)

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

        Parameters
        ----------
        theTriangleIndex: int
        theLoopEdges: IMeshData::MapOfIntegerInteger

        Return
        -------
        None

        Description
        -----------
        Erases triangle with the given index and adds the free edges into the map. when an edge is suppressed more than one time it is destroyed.

        """
        return _BRepMesh.BRepMesh_MeshTool_EraseTriangle(self, *args)

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

        Description
        -----------
        Returns data structure manipulated by this tool.

        """
        return _BRepMesh.BRepMesh_MeshTool_GetStructure(self, *args)

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

        Parameters
        ----------
        theLinkIndex: int

        Return
        -------
        None

        Description
        -----------
        Performs legalization of triangles connected to the specified link.

        """
        return _BRepMesh.BRepMesh_MeshTool_Legalize(self, *args)


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


    __repr__ = _dumps_object

    @methodnotwrapped
    def DumpTriangles(self):
    	pass

    @methodnotwrapped
    def EraseTriangles(self):
    	pass

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_MeshTool

# Register BRepMesh_MeshTool in _BRepMesh:
_BRepMesh.BRepMesh_MeshTool_swigregister(BRepMesh_MeshTool)
class BRepMesh_ModelBuilder(OCC.Core.IMeshTools.IMeshTools_ModelBuilder):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ModelBuilder_swiginit(self, _BRepMesh.new_BRepMesh_ModelBuilder(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ModelBuilder

# Register BRepMesh_ModelBuilder in _BRepMesh:
_BRepMesh.BRepMesh_ModelBuilder_swigregister(BRepMesh_ModelBuilder)
class BRepMesh_ModelHealer(OCC.Core.IMeshTools.IMeshTools_ModelAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ModelHealer_swiginit(self, _BRepMesh.new_BRepMesh_ModelHealer(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ModelHealer

# Register BRepMesh_ModelHealer in _BRepMesh:
_BRepMesh.BRepMesh_ModelHealer_swigregister(BRepMesh_ModelHealer)
class BRepMesh_ModelPostProcessor(OCC.Core.IMeshTools.IMeshTools_ModelAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ModelPostProcessor_swiginit(self, _BRepMesh.new_BRepMesh_ModelPostProcessor(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ModelPostProcessor

# Register BRepMesh_ModelPostProcessor in _BRepMesh:
_BRepMesh.BRepMesh_ModelPostProcessor_swigregister(BRepMesh_ModelPostProcessor)
class BRepMesh_ModelPreProcessor(OCC.Core.IMeshTools.IMeshTools_ModelAlgo):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ModelPreProcessor_swiginit(self, _BRepMesh.new_BRepMesh_ModelPreProcessor(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ModelPreProcessor

# Register BRepMesh_ModelPreProcessor in _BRepMesh:
_BRepMesh.BRepMesh_ModelPreProcessor_swigregister(BRepMesh_ModelPreProcessor)
class BRepMesh_OrientedEdge(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theFirstNode: int
        theLastNode: int

        Return
        -------
        None

        Description
        -----------
        Constructs a link between two vertices.

        """
        _BRepMesh.BRepMesh_OrientedEdge_swiginit(self, _BRepMesh.new_BRepMesh_OrientedEdge(*args))

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

        Description
        -----------
        Returns index of first node of the link.

        """
        return _BRepMesh.BRepMesh_OrientedEdge_FirstNode(self, *args)

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

        Parameters
        ----------
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for this oriented edge, in the range [1, theupperbound] @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _BRepMesh.BRepMesh_OrientedEdge_HashCode(self, *args)

    def __hash__(self):
        return _BRepMesh.BRepMesh_OrientedEdge___hash__(self)

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

        Parameters
        ----------
        theOther: BRepMesh_OrientedEdge

        Return
        -------
        bool

        Description
        -----------
        Checks this and other edge for equality. @param theother edge to be checked against this one. return true if edges have the same orientation, false if not.

        """
        return _BRepMesh.BRepMesh_OrientedEdge_IsEqual(self, *args)

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

        Description
        -----------
        Returns index of last node of the link.

        """
        return _BRepMesh.BRepMesh_OrientedEdge_LastNode(self, *args)

    def __eq_wrapper__(self, other):
        return _BRepMesh.BRepMesh_OrientedEdge___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_OrientedEdge

# Register BRepMesh_OrientedEdge in _BRepMesh:
_BRepMesh.BRepMesh_OrientedEdge_swigregister(BRepMesh_OrientedEdge)
class BRepMesh_PairOfIndex(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        """
        _BRepMesh.BRepMesh_PairOfIndex_swiginit(self, _BRepMesh.new_BRepMesh_PairOfIndex(*args))

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Appends index to the pair.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_Append(self, *args)

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

        Description
        -----------
        Clears indices.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_Clear(self, *args)

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

        Description
        -----------
        Returns number of initialized indices.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_Extent(self, *args)

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

        Description
        -----------
        Returns first index of pair.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_FirstIndex(self, *args)

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

        Parameters
        ----------
        thePairPos: int

        Return
        -------
        int

        Description
        -----------
        Returns index corresponding to the given position in the pair. @param thepairpos position of index in the pair (1 or 2).

        """
        return _BRepMesh.BRepMesh_PairOfIndex_Index(self, *args)

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

        Description
        -----------
        Returns is pair is empty.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_IsEmpty(self, *args)

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

        Description
        -----------
        Returns last index of pair.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_LastIndex(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Prepends index to the pair.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_Prepend(self, *args)

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

        Parameters
        ----------
        thePairPos: int

        Return
        -------
        None

        Description
        -----------
        Remove index from the given position. @param thepairpos position of index in the pair (1 or 2).

        """
        return _BRepMesh.BRepMesh_PairOfIndex_RemoveIndex(self, *args)

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

        Parameters
        ----------
        thePairPos: int
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Sets index corresponding to the given position in the pair. @param thepairpos position of index in the pair (1 or 2). @param theindex index to be stored.

        """
        return _BRepMesh.BRepMesh_PairOfIndex_SetIndex(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_PairOfIndex

# Register BRepMesh_PairOfIndex in _BRepMesh:
_BRepMesh.BRepMesh_PairOfIndex_swigregister(BRepMesh_PairOfIndex)
class BRepMesh_SelectorOfDataStructureOfDelaun(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theMesh: BRepMesh_DataStructureOfDelaun

        Return
        -------
        None

        Description
        -----------
        Constructor. initializes selector by the mesh.

        """
        _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_swiginit(self, _BRepMesh.new_BRepMesh_SelectorOfDataStructureOfDelaun(*args))

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

        Description
        -----------
        Adds a level of neighbours by edge the selector.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_AddNeighbours(self, *args)

    def Elements(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Returns selected elements.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_Elements(self, *args)

    def FrontierLinks(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Gives the list of incices of frontier links.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_FrontierLinks(self, *args)

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

        Parameters
        ----------
        theMesh: BRepMesh_DataStructureOfDelaun

        Return
        -------
        None

        Description
        -----------
        Initializes selector by the mesh.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_Initialize(self, *args)

    def Links(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Returns selected links.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_Links(self, *args)

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

        Parameters
        ----------
        theElement: BRepMesh_Triangle

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements by links of the given element.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_NeighboursByEdgeOf(self, *args)

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

        Parameters
        ----------
        theNode: BRepMesh_Vertex

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements of the given node.

        Parameters
        ----------
        theLink: BRepMesh_Edge

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements of the given link.

        Parameters
        ----------
        theElement: BRepMesh_Triangle

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements of the given element.

        Parameters
        ----------
        &: BRepMesh_SelectorOfDataStructureOfDelaun

        Return
        -------
        None

        Description
        -----------
        Adds a level of neighbours by edge to the selector.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_NeighboursOf(self, *args)

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

        Parameters
        ----------
        theElementIndex: int

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements by nodes of the given element.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_NeighboursOfElement(self, *args)

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

        Parameters
        ----------
        theLinkIndex: int

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements of link with the given index.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_NeighboursOfLink(self, *args)

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

        Parameters
        ----------
        theNodeIndex: int

        Return
        -------
        None

        Description
        -----------
        Selects all neighboring elements of node with the given index.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_NeighboursOfNode(self, *args)

    def Nodes(self, *args):
        r"""
        Return
        -------
        IMeshData::MapOfInteger

        Description
        -----------
        Returns selected nodes.

        """
        return _BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_Nodes(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_SelectorOfDataStructureOfDelaun

# Register BRepMesh_SelectorOfDataStructureOfDelaun in _BRepMesh:
_BRepMesh.BRepMesh_SelectorOfDataStructureOfDelaun_swigregister(BRepMesh_SelectorOfDataStructureOfDelaun)
class BRepMesh_ShapeTool(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

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

        Parameters
        ----------
        theFace: TopoDS_Face
        theTriangulation: Poly_Triangulation

        Return
        -------
        None

        Description
        -----------
        Stores the given triangulation into the given face. @param theface face to be updated by triangulation. @param thetriangulation triangulation to be stored into the face.

        """
        return _BRepMesh.BRepMesh_ShapeTool_AddInFace(*args)

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

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

        Return
        -------
        theMaxDimension: float

        Description
        -----------
        Gets the maximum dimension of the given bounding box. if the given bounding box is void leaves the resulting value unchanged. @param thebox bounding box to be processed. @param themaxdimension maximum dimension of the given box.

        """
        return _BRepMesh.BRepMesh_ShapeTool_BoxMaxDimension(*args)

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

        Parameters
        ----------
        theEdge: IMeshData::IEdgeHandle
        thePCurve: IMeshData::IPCurveHandle

        Return
        -------
        None

        Description
        -----------
        Checks same parameter, same range and degenerativity attributes using geometrical data of the given edge and updates edge model by computed parameters in case of worst case - it can drop flags same parameter and same range to false but never to true if it is already set to false. in contrary, it can also drop degenerated flag to true, but never to false if it is already set to true.

        """
        return _BRepMesh.BRepMesh_ShapeTool_CheckAndUpdateFlags(*args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        float

        Description
        -----------
        Returns maximum tolerance of the given face. considers tolerances of edges and vertices contained in the given face.

        """
        return _BRepMesh.BRepMesh_ShapeTool_MaxFaceTolerance(*args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theTriangulation: Handle ( Poly_Triangulation )
        theLocation: TopLoc_Location

        Return
        -------
        None

        Description
        -----------
        Nullifies polygon on triangulation stored in the edge. @param theedge edge to be updated by null polygon. @param thetriangulation triangulation the given edge is associated to. @param thelocation face location.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theLocation: TopLoc_Location

        Return
        -------
        None

        Description
        -----------
        Nullifies 3d polygon stored in the edge. @param theedge edge to be updated by null polygon. @param thelocation face location.

        """
        return _BRepMesh.BRepMesh_ShapeTool_NullifyEdge(*args)

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Nullifies triangulation stored in the face. @param theface face to be updated by null triangulation.

        """
        return _BRepMesh.BRepMesh_ShapeTool_NullifyFace(*args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theFace: TopoDS_Face
        thePCurve: Handle ( Geom2d_Curve )
        isConsiderOrientation: bool (optional, default to Standard_False)

        Return
        -------
        theFirstParam: float
        theLastParam: float

        Description
        -----------
        Gets the parametric range of the given edge on the given face.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theCurve: Handle ( Geom_Curve )
        isConsiderOrientation: bool (optional, default to Standard_False)

        Return
        -------
        theFirstParam: float
        theLastParam: float

        Description
        -----------
        Gets the 3d range of the given edge.

        """
        return _BRepMesh.BRepMesh_ShapeTool_Range(*args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        theFace: TopoDS_Face
        theFirstPoint2d: gp_Pnt2d
        theLastPoint2d: gp_Pnt2d
        isConsiderOrientation: bool (optional, default to Standard_False)

        Return
        -------
        bool

        Description
        -----------
        Gets the strict uv locations of the extremities of the edge using pcurve.

        """
        return _BRepMesh.BRepMesh_ShapeTool_UVPoints(*args)

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

        Parameters
        ----------
        theEdge: TopoDS_Edge
        thePolygon: Handle ( Poly_PolygonOnTriangulation )
        theTriangulation: Handle ( Poly_Triangulation )
        theLocation: TopLoc_Location

        Return
        -------
        None

        Description
        -----------
        Updates the given edge by the given tessellated representation. @param theedge edge to be updated. @param thepolygon tessellated representation of the edge to be stored. @param thetriangulation triangulation the given edge is associated to. @param thelocation face location.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        thePolygon: Poly_Polygon3D

        Return
        -------
        None

        Description
        -----------
        Updates the given edge by the given tessellated representation. @param theedge edge to be updated. @param thepolygon tessellated representation of the edge to be stored.

        Parameters
        ----------
        theEdge: TopoDS_Edge
        thePolygon1: Handle ( Poly_PolygonOnTriangulation )
        thePolygon2: Handle ( Poly_PolygonOnTriangulation )
        theTriangulation: Handle ( Poly_Triangulation )
        theLocation: TopLoc_Location

        Return
        -------
        None

        Description
        -----------
        Updates the given seam edge by the given tessellated representations. @param theedge edge to be updated. @param thepolygon1 tessellated representation corresponding to forward direction of the seam edge. @param thepolygon2 tessellated representation corresponding to reversed direction of the seam edge. @param thetriangulation triangulation the given edge is associated to. @param thelocation face location.

        """
        return _BRepMesh.BRepMesh_ShapeTool_UpdateEdge(*args)

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

        Parameters
        ----------
        thePnt: gp_Pnt
        theLoc: TopLoc_Location

        Return
        -------
        gp_Pnt

        Description
        -----------
        Applies location to the given point and return result. @param thepnt point to be transformed. @param theloc location to be applied.

        """
        return _BRepMesh.BRepMesh_ShapeTool_UseLocation(*args)


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


    __repr__ = _dumps_object


    def __init__(self):
        _BRepMesh.BRepMesh_ShapeTool_swiginit(self, _BRepMesh.new_BRepMesh_ShapeTool())
    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ShapeTool

# Register BRepMesh_ShapeTool in _BRepMesh:
_BRepMesh.BRepMesh_ShapeTool_swigregister(BRepMesh_ShapeTool)
class BRepMesh_ShapeVisitor(OCC.Core.IMeshTools.IMeshTools_ShapeVisitor):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theModel: Handle ( IMeshData_Model )

        Return
        -------
        None

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ShapeVisitor_swiginit(self, _BRepMesh.new_BRepMesh_ShapeVisitor(*args))

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

        Parameters
        ----------
        theFace: TopoDS_Face

        Return
        -------
        None

        Description
        -----------
        Handles topods_face object.

        Parameters
        ----------
        theEdge: TopoDS_Edge

        Return
        -------
        None

        Description
        -----------
        Handles topods_edge object.

        """
        return _BRepMesh.BRepMesh_ShapeVisitor_Visit(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ShapeVisitor

# Register BRepMesh_ShapeVisitor in _BRepMesh:
_BRepMesh.BRepMesh_ShapeVisitor_swigregister(BRepMesh_ShapeVisitor)
class BRepMesh_Triangle(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    myEdges = property(_BRepMesh.BRepMesh_Triangle_myEdges_get, _BRepMesh.BRepMesh_Triangle_myEdges_set)
    myOrientations = property(_BRepMesh.BRepMesh_Triangle_myOrientations_get, _BRepMesh.BRepMesh_Triangle_myOrientations_set)
    myMovability = property(_BRepMesh.BRepMesh_Triangle_myMovability_get, _BRepMesh.BRepMesh_Triangle_myMovability_set)

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        ): int (  theEdges
        ): bool (  theOrientations
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Constructor. @param theedges array of edges of triangle. @param theorientations array of edge's orientations. @param themovability movability of triangle.

        """
        _BRepMesh.BRepMesh_Triangle_swiginit(self, _BRepMesh.new_BRepMesh_Triangle(*args))

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

        Parameters
        ----------
        ): int (  theEdges
        ): bool (  theOrientations

        Return
        -------
        None

        Description
        -----------
        Gets edges with orientations composing the triangle. @param[out] theedges array edges are stored to. @param[out] theorientations array orientations are stored to.

        """
        return _BRepMesh.BRepMesh_Triangle_Edges(self, *args)

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

        Parameters
        ----------
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for this triangle, in the range [1, theupperbound] @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _BRepMesh.BRepMesh_Triangle_HashCode(self, *args)

    def __hash__(self):
        return _BRepMesh.BRepMesh_Triangle___hash__(self)

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

        Parameters
        ----------
        ): int (  theEdges
        ): bool (  theOrientations
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Initializes the triangle by the given parameters. @param theedges array of edges of triangle. @param theorientations array of edge's orientations. @param themovability movability of triangle.

        """
        return _BRepMesh.BRepMesh_Triangle_Initialize(self, *args)

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

        Parameters
        ----------
        theOther: BRepMesh_Triangle

        Return
        -------
        bool

        Description
        -----------
        Checks for equality with another triangle. @param theother triangle to be checked against this one. return true if equal, false if not.

        """
        return _BRepMesh.BRepMesh_Triangle_IsEqual(self, *args)

    def Movability(self, *args):
        r"""
        Return
        -------
        BRepMesh_DegreeOfFreedom

        Description
        -----------
        Returns movability of the triangle.

        """
        return _BRepMesh.BRepMesh_Triangle_Movability(self, *args)

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

        Parameters
        ----------
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Sets movability of the triangle.

        """
        return _BRepMesh.BRepMesh_Triangle_SetMovability(self, *args)

    def __eq_wrapper__(self, other):
        return _BRepMesh.BRepMesh_Triangle___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Triangle

# Register BRepMesh_Triangle in _BRepMesh:
_BRepMesh.BRepMesh_Triangle_swigregister(BRepMesh_Triangle)
class BRepMesh_Triangulator(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theXYZs: NCollection_Vector<gp_XYZ>
        theWires: NCollection_List<TColStd_SequenceOfInteger>
        theNorm: gp_Dir

        Return
        -------
        None

        Description
        -----------
        Constructor. initialized tool by the given parameters.

        """
        _BRepMesh.BRepMesh_Triangulator_swiginit(self, _BRepMesh.new_BRepMesh_Triangulator(*args))

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

        Parameters
        ----------
        thePolyTriangles: NCollection_List<Poly_Triangle>

        Return
        -------
        bool

        Description
        -----------
        Performs triangulation of source wires and stores triangles the output list.

        """
        return _BRepMesh.BRepMesh_Triangulator_Perform(self, *args)

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

        Parameters
        ----------
        theMess: Message_Messenger

        Return
        -------
        None

        Description
        -----------
        Set messenger for output information without this message::defaultmessenger() will be used.

        """
        return _BRepMesh.BRepMesh_Triangulator_SetMessenger(self, *args)

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

        Parameters
        ----------
        theNodes: TColgp_Array1OfPnt
        thePolyTriangles: NCollection_List<Poly_Triangle>

        Return
        -------
        opencascade::handle<Poly_Triangulation>

        Description
        -----------
        Performs conversion of the given list of triangles to poly_triangulation.

        """
        return _BRepMesh.BRepMesh_Triangulator_ToPolyTriangulation(*args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Triangulator

# Register BRepMesh_Triangulator in _BRepMesh:
_BRepMesh.BRepMesh_Triangulator_swigregister(BRepMesh_Triangulator)
class BRepMesh_Vertex(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theUV: gp_XY
        theLocation3d: int
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Creates vertex associated with point in 3d space. @param theuv position of vertex in parametric space. @param thelocation3d index of 3d point to be associated with vertex. @param themovability movability of the vertex.

        Parameters
        ----------
        theU: float
        theV: float
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Creates vertex without association with point in 3d space. @param theu u position of vertex in parametric space. @param thev v position of vertex in parametric space. @param themovability movability of the vertex.

        """
        _BRepMesh.BRepMesh_Vertex_swiginit(self, _BRepMesh.new_BRepMesh_Vertex(*args))

    def ChangeCoord(self, *args):
        r"""
        Return
        -------
        gp_XY

        Description
        -----------
        Returns position of the vertex in parametric space for modification.

        """
        return _BRepMesh.BRepMesh_Vertex_ChangeCoord(self, *args)

    def Coord(self, *args):
        r"""
        Return
        -------
        gp_XY

        Description
        -----------
        Returns position of the vertex in parametric space.

        """
        return _BRepMesh.BRepMesh_Vertex_Coord(self, *args)

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

        Parameters
        ----------
        theUpperBound: int

        Return
        -------
        int

        Description
        -----------
        Computes a hash code for this vertex, in the range [1, theupperbound] @param theupperbound the upper bound of the range a computing hash code must be within return a computed hash code, in the range [1, theupperbound].

        """
        return _BRepMesh.BRepMesh_Vertex_HashCode(self, *args)

    def __hash__(self):
        return _BRepMesh.BRepMesh_Vertex___hash__(self)

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

        Parameters
        ----------
        theUV: gp_XY
        theLocation3d: int
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Initializes vertex associated with point in 3d space. @param theuv position of vertex in parametric space. @param thelocation3d index of 3d point to be associated with vertex. @param themovability movability of the vertex.

        """
        return _BRepMesh.BRepMesh_Vertex_Initialize(self, *args)

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

        Parameters
        ----------
        theOther: BRepMesh_Vertex

        Return
        -------
        bool

        Description
        -----------
        Checks for equality with another vertex. @param theother vertex to be checked against this one. return true if equal, false if not.

        """
        return _BRepMesh.BRepMesh_Vertex_IsEqual(self, *args)

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

        Description
        -----------
        Returns index of 3d point associated with the vertex.

        """
        return _BRepMesh.BRepMesh_Vertex_Location3d(self, *args)

    def Movability(self, *args):
        r"""
        Return
        -------
        BRepMesh_DegreeOfFreedom

        Description
        -----------
        Returns movability of the vertex.

        """
        return _BRepMesh.BRepMesh_Vertex_Movability(self, *args)

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

        Parameters
        ----------
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Sets movability of the vertex.

        """
        return _BRepMesh.BRepMesh_Vertex_SetMovability(self, *args)

    def __eq_wrapper__(self, other):
        return _BRepMesh.BRepMesh_Vertex___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Vertex

# Register BRepMesh_Vertex in _BRepMesh:
_BRepMesh.BRepMesh_Vertex_swigregister(BRepMesh_Vertex)
class BRepMesh_VertexInspector(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAllocator: NCollection_IncAllocator

        Return
        -------
        None

        Description
        -----------
        Constructor. @param theallocator memory allocator to be used by internal collections.

        """
        _BRepMesh.BRepMesh_VertexInspector_swiginit(self, _BRepMesh.new_BRepMesh_VertexInspector(*args))

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

        Parameters
        ----------
        theVertex: BRepMesh_Vertex

        Return
        -------
        int

        Description
        -----------
        Registers the given vertex. @param thevertex vertex to be registered.

        """
        return _BRepMesh.BRepMesh_VertexInspector_Add(self, *args)

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

        Description
        -----------
        Clear inspector's internal data structures.

        """
        return _BRepMesh.BRepMesh_VertexInspector_Clear(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Deletes vertex with the given index. @param theindex index of vertex to be removed.

        """
        return _BRepMesh.BRepMesh_VertexInspector_Delete(self, *args)

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

        Description
        -----------
        Returns index of point coinciding with regerence one.

        """
        return _BRepMesh.BRepMesh_VertexInspector_GetCoincidentPoint(self, *args)

    def GetListOfDelPoints(self, *args):
        r"""
        Return
        -------
        IMeshData::ListOfInteger

        Description
        -----------
        Returns list with indexes of vertices that have movability attribute equal to brepmesh_deleted and can be replaced with another node.

        """
        return _BRepMesh.BRepMesh_VertexInspector_GetListOfDelPoints(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Vertex

        Description
        -----------
        Returns vertex with the given index.

        """
        return _BRepMesh.BRepMesh_VertexInspector_GetVertex(self, *args)

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

        Parameters
        ----------
        theTargetIndex: int

        Return
        -------
        NCollection_CellFilter_Action

        Description
        -----------
        Performs inspection of a point with the given index. @param thetargetindex index of a circle to be checked. return status of the check.

        """
        return _BRepMesh.BRepMesh_VertexInspector_Inspect(self, *args)

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

        Parameters
        ----------
        theIndex: int
        theTargetIndex: int

        Return
        -------
        bool

        Description
        -----------
        Checks indices for equlity.

        """
        return _BRepMesh.BRepMesh_VertexInspector_IsEqual(*args)

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

        Description
        -----------
        Returns number of registered vertices.

        """
        return _BRepMesh.BRepMesh_VertexInspector_NbVertices(self, *args)

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

        Parameters
        ----------
        thePoint: gp_XY

        Return
        -------
        None

        Description
        -----------
        Set reference point to be checked.

        """
        return _BRepMesh.BRepMesh_VertexInspector_SetPoint(self, *args)

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

        Parameters
        ----------
        theTolerance: float

        Return
        -------
        None

        Description
        -----------
        Sets the tolerance to be used for identification of coincident vertices equal for both dimensions.

        Parameters
        ----------
        theToleranceX: float
        theToleranceY: float

        Return
        -------
        None

        Description
        -----------
        Sets the tolerance to be used for identification of coincident vertices. @param thetolerancex tolerance for x dimension. @param thetolerancey tolerance for y dimension.

        """
        return _BRepMesh.BRepMesh_VertexInspector_SetTolerance(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_VertexInspector

# Register BRepMesh_VertexInspector in _BRepMesh:
_BRepMesh.BRepMesh_VertexInspector_swigregister(BRepMesh_VertexInspector)
class BRepMesh_VertexTool(OCC.Core.Standard.Standard_Transient):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Parameters
        ----------
        theAllocator: NCollection_IncAllocator

        Return
        -------
        None

        Description
        -----------
        Constructor. @param theallocator memory allocator to be used by internal collections.

        """
        _BRepMesh.BRepMesh_VertexTool_swiginit(self, _BRepMesh.new_BRepMesh_VertexTool(*args))

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

        Parameters
        ----------
        theVertex: BRepMesh_Vertex
        isForceAdd: bool

        Return
        -------
        int

        Description
        -----------
        Adds vertex with empty data to the tool. @param thevertex node to be added to the mesh. @param isforceadd adds the given node to structure without checking on coincidence with other nodes. return index of the node in the structure.

        """
        return _BRepMesh.BRepMesh_VertexTool_Add(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        None

        Description
        -----------
        Deletes vertex with the given index from the tool.

        """
        return _BRepMesh.BRepMesh_VertexTool_DeleteVertex(self, *args)

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

        Description
        -----------
        Returns a number of vertices.

        """
        return _BRepMesh.BRepMesh_VertexTool_Extent(self, *args)

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

        Parameters
        ----------
        theVertex: BRepMesh_Vertex

        Return
        -------
        int

        Description
        -----------
        Returns index of the given vertex.

        """
        return _BRepMesh.BRepMesh_VertexTool_FindIndex(self, *args)

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

        Parameters
        ----------
        theIndex: int

        Return
        -------
        BRepMesh_Vertex

        Description
        -----------
        Returns vertex by the given index.

        """
        return _BRepMesh.BRepMesh_VertexTool_FindKey(self, *args)

    def GetListOfDelNodes(self, *args):
        r"""
        Return
        -------
        IMeshData::ListOfInteger

        Description
        -----------
        Returns the list with indexes of vertices that have movability attribute equal to brepmesh_deleted and can be replaced with another node.

        """
        return _BRepMesh.BRepMesh_VertexTool_GetListOfDelNodes(self, *args)

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

        Parameters
        ----------

        Return
        -------
        theToleranceX: float
        theToleranceY: float

        Description
        -----------
        Gets the tolerance to be used for identification of coincident vertices. @param thetolerancex tolerance for x dimension. @param thetolerancey tolerance for y dimension.

        """
        return _BRepMesh.BRepMesh_VertexTool_GetTolerance(self, *args)

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

        Description
        -----------
        Returns true when the map contains no keys. .

        """
        return _BRepMesh.BRepMesh_VertexTool_IsEmpty(self, *args)

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

        Description
        -----------
        Remove last node from the structure.

        """
        return _BRepMesh.BRepMesh_VertexTool_RemoveLast(self, *args)

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

        Parameters
        ----------
        theSize: float

        Return
        -------
        None

        Description
        -----------
        Sets new size of cell for cellfilter equal in both directions.

        Parameters
        ----------
        theSizeX: float
        theSizeY: float

        Return
        -------
        None

        Description
        -----------
        Sets new size of cell for cellfilter. @param thesizex size for x dimension. @param thesizey size for y dimension.

        """
        return _BRepMesh.BRepMesh_VertexTool_SetCellSize(self, *args)

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

        Parameters
        ----------
        theTolerance: float

        Return
        -------
        None

        Description
        -----------
        Sets the tolerance to be used for identification of coincident vertices equal for both dimensions.

        Parameters
        ----------
        theToleranceX: float
        theToleranceY: float

        Return
        -------
        None

        Description
        -----------
        Sets the tolerance to be used for identification of coincident vertices. @param thetolerancex tolerance for x dimension. @param thetolerancey tolerance for y dimension.

        """
        return _BRepMesh.BRepMesh_VertexTool_SetTolerance(self, *args)

    def StatisticsToString(self):
        r"""StatisticsToString(BRepMesh_VertexTool self) -> std::string"""
        return _BRepMesh.BRepMesh_VertexTool_StatisticsToString(self)

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

        Parameters
        ----------
        theIndex: int
        theVertex: BRepMesh_Vertex

        Return
        -------
        None

        Description
        -----------
        Substitutes vertex with the given by the given vertex with attributes. @param theindex index of vertex to be substituted. @param thevertex replacement vertex.

        """
        return _BRepMesh.BRepMesh_VertexTool_Substitute(self, *args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_VertexTool

# Register BRepMesh_VertexTool in _BRepMesh:
_BRepMesh.BRepMesh_VertexTool_swigregister(BRepMesh_VertexTool)
class BRepMesh_ConeRangeSplitter(BRepMesh_DefaultRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ConeRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_ConeRangeSplitter(*args))

    __repr__ = _dumps_object

    @methodnotwrapped
    def GetSplitSteps(self):
    	pass

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ConeRangeSplitter

# Register BRepMesh_ConeRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_ConeRangeSplitter_swigregister(BRepMesh_ConeRangeSplitter)
class BRepMesh_CylinderRangeSplitter(BRepMesh_DefaultRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_CylinderRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_CylinderRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_CylinderRangeSplitter

# Register BRepMesh_CylinderRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_CylinderRangeSplitter_swigregister(BRepMesh_CylinderRangeSplitter)
class BRepMesh_Edge(BRepMesh_OrientedEdge):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theFirstNode: int
        theLastNode: int
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Constructs a link between two vertices.

        """
        _BRepMesh.BRepMesh_Edge_swiginit(self, _BRepMesh.new_BRepMesh_Edge(*args))

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

        Parameters
        ----------
        theOther: BRepMesh_Edge

        Return
        -------
        bool

        Description
        -----------
        Checks for equality with another edge. @param theother edge to be checked against this one. return true if equal, false if not.

        """
        return _BRepMesh.BRepMesh_Edge_IsEqual(self, *args)

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

        Parameters
        ----------
        theOther: BRepMesh_Edge

        Return
        -------
        bool

        Description
        -----------
        Checks if the given edge and this one have the same orientation. @param theother edge to be checked against this one. eturn true if edges have the same orientation, false if not.

        """
        return _BRepMesh.BRepMesh_Edge_IsSameOrientation(self, *args)

    def Movability(self, *args):
        r"""
        Return
        -------
        BRepMesh_DegreeOfFreedom

        Description
        -----------
        Returns movability flag of the link.

        """
        return _BRepMesh.BRepMesh_Edge_Movability(self, *args)

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

        Parameters
        ----------
        theMovability: BRepMesh_DegreeOfFreedom

        Return
        -------
        None

        Description
        -----------
        Sets movability flag of the link. @param themovability flag to be set.

        """
        return _BRepMesh.BRepMesh_Edge_SetMovability(self, *args)

    def __eq_wrapper__(self, other):
        return _BRepMesh.BRepMesh_Edge___eq_wrapper__(self, other)

    def __eq__(self, right):
        try:
            return self.__eq_wrapper__(right)
        except:
            return False


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_Edge

# Register BRepMesh_Edge in _BRepMesh:
_BRepMesh.BRepMesh_Edge_swigregister(BRepMesh_Edge)
class BRepMesh_IncrementalMesh(BRepMesh_DiscretRoot):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Default constructor.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theLinDeflection: float
        isRelative: bool (optional, default to Standard_False)
        theAngDeflection: float (optional, default to 0.5)
        isInParallel: bool (optional, default to Standard_False)

        Return
        -------
        None

        Description
        -----------
        Constructor. automatically calls method perform. @param theshape shape to be meshed. @param thelindeflection linear deflection. @param isrelative if true deflection used for discretization of each edge will be <thelindeflection> * <size of edge>. deflection used for the faces will be the maximum deflection of their edges. @param theangdeflection angular deflection. @param isinparallel if true shape will be meshed in parallel.

        Parameters
        ----------
        theShape: TopoDS_Shape
        theParameters: IMeshTools_Parameters
        theRange: Message_ProgressRange (optional, default to Message_ProgressRange())

        Return
        -------
        None

        Description
        -----------
        Constructor. automatically calls method perform. @param theshape shape to be meshed. @param theparameters - parameters of meshing.

        """
        _BRepMesh.BRepMesh_IncrementalMesh_swiginit(self, _BRepMesh.new_BRepMesh_IncrementalMesh(*args))

    def ChangeParameters(self, *args):
        r"""
        Return
        -------
        IMeshTools_Parameters

        Description
        -----------
        Returns modifiable meshing parameters.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_ChangeParameters(self, *args)

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

        Parameters
        ----------
        theShape: TopoDS_Shape
        theLinDeflection: float
        theAngDeflection: float
        theAlgo: BRepMesh_DiscretRoot *

        Return
        -------
        int

        Description
        -----------
        Plugin interface for the mesh factories. initializes meshing algorithm with the given parameters. @param theshape shape to be meshed. @param thelindeflection linear deflection. @param theangdeflection angular deflection. @param[out] thealgo pointer to initialized algorithm.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_Discret(*args)

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

        Description
        -----------
        Returns accumulated status flags faced during meshing.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_GetStatusFlags(self, *args)

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

        Description
        -----------
        Returns modified flag.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_IsModified(self, *args)

    @staticmethod
    def IsParallelDefault(*args):
        r"""
        Return
        -------
        bool

        Description
        -----------
        Returns multi-threading usage flag set by default in discret() static method (thus applied only to mesh factories).

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_IsParallelDefault(*args)

    def Parameters(self, *args):
        r"""
        Return
        -------
        IMeshTools_Parameters

        Description
        -----------
        Returns meshing parameters.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_Parameters(self, *args)

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

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

        Return
        -------
        None

        Description
        -----------
        Performs meshing of the shape.

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

        Return
        -------
        None

        Description
        -----------
        Performs meshing using custom context;.

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_Perform(self, *args)

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

        Parameters
        ----------
        isInParallel: bool

        Return
        -------
        None

        Description
        -----------
        Setup multi-threading usage flag set by default in discret() static method (thus applied only to mesh factories).

        """
        return _BRepMesh.BRepMesh_IncrementalMesh_SetParallelDefault(*args)


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


    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_IncrementalMesh

# Register BRepMesh_IncrementalMesh in _BRepMesh:
_BRepMesh.BRepMesh_IncrementalMesh_swigregister(BRepMesh_IncrementalMesh)
class BRepMesh_SphereRangeSplitter(BRepMesh_DefaultRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_SphereRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_SphereRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_SphereRangeSplitter

# Register BRepMesh_SphereRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_SphereRangeSplitter_swigregister(BRepMesh_SphereRangeSplitter)
class BRepMesh_UVParamRangeSplitter(BRepMesh_DefaultRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_UVParamRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_UVParamRangeSplitter(*args))

    def GetParametersU(self, *args):
        r"""
        Return
        -------
        IMeshData::IMapOfReal

        Description
        -----------
        Returns u parameters.

        """
        return _BRepMesh.BRepMesh_UVParamRangeSplitter_GetParametersU(self, *args)

    def GetParametersV(self, *args):
        r"""
        Return
        -------
        IMeshData::IMapOfReal

        Description
        -----------
        Returns v parameters.

        """
        return _BRepMesh.BRepMesh_UVParamRangeSplitter_GetParametersV(self, *args)

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_UVParamRangeSplitter

# Register BRepMesh_UVParamRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_UVParamRangeSplitter_swigregister(BRepMesh_UVParamRangeSplitter)
class BRepMesh_DelaunayBaseMeshAlgo(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_DelaunayBaseMeshAlgo_swiginit(self, _BRepMesh.new_BRepMesh_DelaunayBaseMeshAlgo(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DelaunayBaseMeshAlgo

# Register BRepMesh_DelaunayBaseMeshAlgo in _BRepMesh:
_BRepMesh.BRepMesh_DelaunayBaseMeshAlgo_swigregister(BRepMesh_DelaunayBaseMeshAlgo)
class BRepMesh_NURBSRangeSplitter(BRepMesh_UVParamRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_NURBSRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_NURBSRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_NURBSRangeSplitter

# Register BRepMesh_NURBSRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_NURBSRangeSplitter_swigregister(BRepMesh_NURBSRangeSplitter)
class BRepMesh_TorusRangeSplitter(BRepMesh_UVParamRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_TorusRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_TorusRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_TorusRangeSplitter

# Register BRepMesh_TorusRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_TorusRangeSplitter_swigregister(BRepMesh_TorusRangeSplitter)
class BRepMesh_BoundaryParamsRangeSplitter(BRepMesh_NURBSRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_BoundaryParamsRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_BoundaryParamsRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_BoundaryParamsRangeSplitter

# Register BRepMesh_BoundaryParamsRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_BoundaryParamsRangeSplitter_swigregister(BRepMesh_BoundaryParamsRangeSplitter)
class BRepMesh_DelabellaBaseMeshAlgo(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_DelabellaBaseMeshAlgo_swiginit(self, _BRepMesh.new_BRepMesh_DelabellaBaseMeshAlgo(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_DelabellaBaseMeshAlgo

# Register BRepMesh_DelabellaBaseMeshAlgo in _BRepMesh:
_BRepMesh.BRepMesh_DelabellaBaseMeshAlgo_swigregister(BRepMesh_DelabellaBaseMeshAlgo)
class BRepMesh_ExtrusionRangeSplitter(BRepMesh_NURBSRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_ExtrusionRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_ExtrusionRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_ExtrusionRangeSplitter

# Register BRepMesh_ExtrusionRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_ExtrusionRangeSplitter_swigregister(BRepMesh_ExtrusionRangeSplitter)
class BRepMesh_UndefinedRangeSplitter(BRepMesh_NURBSRangeSplitter):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr

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

        Description
        -----------
        Constructor.

        """
        _BRepMesh.BRepMesh_UndefinedRangeSplitter_swiginit(self, _BRepMesh.new_BRepMesh_UndefinedRangeSplitter(*args))

    __repr__ = _dumps_object

    __swig_destroy__ = _BRepMesh.delete_BRepMesh_UndefinedRangeSplitter

# Register BRepMesh_UndefinedRangeSplitter in _BRepMesh:
_BRepMesh.BRepMesh_UndefinedRangeSplitter_swigregister(BRepMesh_UndefinedRangeSplitter)

@classnotwrapped
class BRepMesh_WireInterferenceChecker:
	pass

@classnotwrapped
class BRepMesh_EdgeTessellator:
	pass

@classnotwrapped
class BRepMesh_EdgeTessellationExtractor:
	pass

@classnotwrapped
class BRepMesh_EdgeParameterProvider:
	pass

@classnotwrapped
class BRepMesh_FastDiscret:
	pass

@classnotwrapped
class BRepMesh_CustomDelaunayBaseMeshAlgo:
	pass

@classnotwrapped
class BRepMesh_NodeInsertionMeshAlgo:
	pass

@classnotwrapped
class BRepMesh_ConstrainedBaseMeshAlgo:
	pass

@classnotwrapped
class BRepMesh_CustomBaseMeshAlgo:
	pass

@classnotwrapped
class BRepMesh_DelaunayDeflectionControlMeshAlgo:
	pass

@classnotwrapped
class BRepMesh_DelaunayNodeInsertionMeshAlgo:
	pass





@deprecated
def BRepMesh_CircleInspector_IsEqual(*args):
	return BRepMesh_CircleInspector.IsEqual(*args)

@deprecated
def BRepMesh_CircleTool_MakeCircle(*args):
	return BRepMesh_CircleTool.MakeCircle(*args)

@deprecated
def BRepMesh_Deflection_ComputeAbsoluteDeflection(*args):
	return BRepMesh_Deflection.ComputeAbsoluteDeflection(*args)

@deprecated
def BRepMesh_Deflection_ComputeDeflection(*args):
	return BRepMesh_Deflection.ComputeDeflection(*args)

@deprecated
def BRepMesh_Deflection_ComputeDeflection(*args):
	return BRepMesh_Deflection.ComputeDeflection(*args)

@deprecated
def BRepMesh_Deflection_ComputeDeflection(*args):
	return BRepMesh_Deflection.ComputeDeflection(*args)

@deprecated
def BRepMesh_Deflection_IsConsistent(*args):
	return BRepMesh_Deflection.IsConsistent(*args)

@deprecated
def BRepMesh_DiscretFactory_Get(*args):
	return BRepMesh_DiscretFactory.Get(*args)

@deprecated
def BRepMesh_EdgeDiscret_CreateEdgeTessellationExtractor(*args):
	return BRepMesh_EdgeDiscret.CreateEdgeTessellationExtractor(*args)

@deprecated
def BRepMesh_EdgeDiscret_CreateEdgeTessellator(*args):
	return BRepMesh_EdgeDiscret.CreateEdgeTessellator(*args)

@deprecated
def BRepMesh_EdgeDiscret_CreateEdgeTessellator(*args):
	return BRepMesh_EdgeDiscret.CreateEdgeTessellator(*args)

@deprecated
def BRepMesh_EdgeDiscret_Tessellate2d(*args):
	return BRepMesh_EdgeDiscret.Tessellate2d(*args)

@deprecated
def BRepMesh_EdgeDiscret_Tessellate3d(*args):
	return BRepMesh_EdgeDiscret.Tessellate3d(*args)

@deprecated
def BRepMesh_GeomTool_CellsCount(*args):
	return BRepMesh_GeomTool.CellsCount(*args)

@deprecated
def BRepMesh_GeomTool_SquareDeflectionOfSegment(*args):
	return BRepMesh_GeomTool.SquareDeflectionOfSegment(*args)

@deprecated
def BRepMesh_ShapeTool_AddInFace(*args):
	return BRepMesh_ShapeTool.AddInFace(*args)

@deprecated
def BRepMesh_ShapeTool_BoxMaxDimension(*args):
	return BRepMesh_ShapeTool.BoxMaxDimension(*args)

@deprecated
def BRepMesh_ShapeTool_CheckAndUpdateFlags(*args):
	return BRepMesh_ShapeTool.CheckAndUpdateFlags(*args)

@deprecated
def BRepMesh_ShapeTool_MaxFaceTolerance(*args):
	return BRepMesh_ShapeTool.MaxFaceTolerance(*args)

@deprecated
def BRepMesh_ShapeTool_NullifyEdge(*args):
	return BRepMesh_ShapeTool.NullifyEdge(*args)

@deprecated
def BRepMesh_ShapeTool_NullifyEdge(*args):
	return BRepMesh_ShapeTool.NullifyEdge(*args)

@deprecated
def BRepMesh_ShapeTool_NullifyFace(*args):
	return BRepMesh_ShapeTool.NullifyFace(*args)

@deprecated
def BRepMesh_ShapeTool_Range(*args):
	return BRepMesh_ShapeTool.Range(*args)

@deprecated
def BRepMesh_ShapeTool_Range(*args):
	return BRepMesh_ShapeTool.Range(*args)

@deprecated
def BRepMesh_ShapeTool_UVPoints(*args):
	return BRepMesh_ShapeTool.UVPoints(*args)

@deprecated
def BRepMesh_ShapeTool_UpdateEdge(*args):
	return BRepMesh_ShapeTool.UpdateEdge(*args)

@deprecated
def BRepMesh_ShapeTool_UpdateEdge(*args):
	return BRepMesh_ShapeTool.UpdateEdge(*args)

@deprecated
def BRepMesh_ShapeTool_UpdateEdge(*args):
	return BRepMesh_ShapeTool.UpdateEdge(*args)

@deprecated
def BRepMesh_ShapeTool_UseLocation(*args):
	return BRepMesh_ShapeTool.UseLocation(*args)

@deprecated
def BRepMesh_Triangulator_ToPolyTriangulation(*args):
	return BRepMesh_Triangulator.ToPolyTriangulation(*args)

@deprecated
def BRepMesh_VertexInspector_IsEqual(*args):
	return BRepMesh_VertexInspector.IsEqual(*args)

@deprecated
def BRepMesh_IncrementalMesh_Discret(*args):
	return BRepMesh_IncrementalMesh.Discret(*args)

@deprecated
def BRepMesh_IncrementalMesh_IsParallelDefault(*args):
	return BRepMesh_IncrementalMesh.IsParallelDefault(*args)

@deprecated
def BRepMesh_IncrementalMesh_SetParallelDefault(*args):
	return BRepMesh_IncrementalMesh.SetParallelDefault(*args)



