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


import collections

from sys import version_info as _version_info
if _version_info < (3, 7, 0):
    raise RuntimeError("Python 3.7 or later required")

from . import _ITKCommonPython


from . import _ITKQuadEdgeMeshPython



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

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


if _swig_python_version_info[0:2] >= (3, 3):
    import collections.abc
else:
    import collections

import itk.itkGeometricalQuadEdgePython
import itk.itkQuadEdgePython
import itk.pyBasePython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkVectorPython
import itk.vnl_vector_refPython
import itk.vnl_vectorPython
import itk.vnl_matrixPython
import itk.stdcomplexPython
import itk.itkFixedArrayPython
import itk.itkCovariantVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkPointPython
import itk.itkQuadEdgeCellTraitsInfoPython
import itk.itkQuadEdgeMeshPointPython
import itk.itkVectorContainerPython
import itk.itkArrayPython
import itk.itkOffsetPython
import itk.itkSizePython
import itk.itkContinuousIndexPython
import itk.itkIndexPython
import itk.itkMapContainerPython
import itk.itkImagePython
import itk.itkRGBAPixelPython
import itk.itkImageRegionPython
import itk.itkRGBPixelPython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkQuadEdgeMeshLineCellPython

def itkBoundingBoxUL2FMCULQEMPF2_New():
    return itkBoundingBoxUL2FMCULQEMPF2.New()

class itkBoundingBoxUL2FMCULQEMPF2(itk.ITKCommonBasePython.itkObject):
    r"""Proxy of C++ itkBoundingBoxUL2FMCULQEMPF2 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkBoundingBoxUL2FMCULQEMPF2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkBoundingBoxUL2FMCULQEMPF2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_Clone(self)

    def SetPoints(self, arg0):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULQEMPF2GQEULULBBT const *

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_SetPoints(self, arg0)

    def GetPoints(self):
        r"""GetPoints(self) -> itkMapContainerULQEMPF2GQEULULBBT"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetPoints(self)

    def ComputeCorners(self):
        r"""ComputeCorners(self) -> std::array< itkPointF2,4 >"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_ComputeCorners(self)

    def ComputeBoundingBox(self):
        r"""ComputeBoundingBox(self) -> bool"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_ComputeBoundingBox(self)

    def GetBounds(self):
        r"""GetBounds(self) -> itkFixedArrayF4"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetBounds(self)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointF2"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetCenter(self)

    def GetMinimum(self):
        r"""GetMinimum(self) -> itkPointF2"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetMinimum(self)

    def SetMinimum(self, arg0):
        r"""
        SetMinimum(self, arg0)

        Parameters
        ----------
        arg0: itkPointF2 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_SetMinimum(self, arg0)

    def GetMaximum(self):
        r"""GetMaximum(self) -> itkPointF2"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetMaximum(self)

    def SetMaximum(self, arg0):
        r"""
        SetMaximum(self, arg0)

        Parameters
        ----------
        arg0: itkPointF2 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_SetMaximum(self, arg0)

    def ConsiderPoint(self, arg0):
        r"""
        ConsiderPoint(self, arg0)

        Parameters
        ----------
        arg0: itkPointF2 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_ConsiderPoint(self, arg0)

    def GetDiagonalLength2(self):
        r"""GetDiagonalLength2(self) -> double"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_GetDiagonalLength2(self)

    def IsInside(self, arg0):
        r"""
        IsInside(self, arg0) -> bool

        Parameters
        ----------
        arg0: itkPointF2 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_IsInside(self, arg0)

    def DeepCopy(self):
        r"""DeepCopy(self) -> itkBoundingBoxUL2FMCULQEMPF2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_DeepCopy(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkBoundingBoxUL2FMCULQEMPF2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkBoundingBoxUL2FMCULQEMPF2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkBoundingBoxUL2FMCULQEMPF2

        Create a new object of the class itkBoundingBoxUL2FMCULQEMPF2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkBoundingBoxUL2FMCULQEMPF2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkBoundingBoxUL2FMCULQEMPF2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkBoundingBoxUL2FMCULQEMPF2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkBoundingBoxUL2FMCULQEMPF2 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkBoundingBoxUL2FMCULQEMPF2_swigregister(itkBoundingBoxUL2FMCULQEMPF2)

def itkBoundingBoxUL3FMCULQEMPF3_New():
    return itkBoundingBoxUL3FMCULQEMPF3.New()

class itkBoundingBoxUL3FMCULQEMPF3(itk.ITKCommonBasePython.itkObject):
    r"""Proxy of C++ itkBoundingBoxUL3FMCULQEMPF3 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkBoundingBoxUL3FMCULQEMPF3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkBoundingBoxUL3FMCULQEMPF3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_Clone(self)

    def SetPoints(self, arg0):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULQEMPF3GQEULULBBT const *

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_SetPoints(self, arg0)

    def GetPoints(self):
        r"""GetPoints(self) -> itkMapContainerULQEMPF3GQEULULBBT"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetPoints(self)

    def ComputeCorners(self):
        r"""ComputeCorners(self) -> std::array< itkPointF3,8 >"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_ComputeCorners(self)

    def ComputeBoundingBox(self):
        r"""ComputeBoundingBox(self) -> bool"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_ComputeBoundingBox(self)

    def GetBounds(self):
        r"""GetBounds(self) -> itkFixedArrayF6"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetBounds(self)

    def GetCenter(self):
        r"""GetCenter(self) -> itkPointF3"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetCenter(self)

    def GetMinimum(self):
        r"""GetMinimum(self) -> itkPointF3"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetMinimum(self)

    def SetMinimum(self, arg0):
        r"""
        SetMinimum(self, arg0)

        Parameters
        ----------
        arg0: itkPointF3 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_SetMinimum(self, arg0)

    def GetMaximum(self):
        r"""GetMaximum(self) -> itkPointF3"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetMaximum(self)

    def SetMaximum(self, arg0):
        r"""
        SetMaximum(self, arg0)

        Parameters
        ----------
        arg0: itkPointF3 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_SetMaximum(self, arg0)

    def ConsiderPoint(self, arg0):
        r"""
        ConsiderPoint(self, arg0)

        Parameters
        ----------
        arg0: itkPointF3 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_ConsiderPoint(self, arg0)

    def GetDiagonalLength2(self):
        r"""GetDiagonalLength2(self) -> double"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_GetDiagonalLength2(self)

    def IsInside(self, arg0):
        r"""
        IsInside(self, arg0) -> bool

        Parameters
        ----------
        arg0: itkPointF3 const &

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_IsInside(self, arg0)

    def DeepCopy(self):
        r"""DeepCopy(self) -> itkBoundingBoxUL3FMCULQEMPF3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_DeepCopy(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkBoundingBoxUL3FMCULQEMPF3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkBoundingBoxUL3FMCULQEMPF3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkBoundingBoxUL3FMCULQEMPF3

        Create a new object of the class itkBoundingBoxUL3FMCULQEMPF3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkBoundingBoxUL3FMCULQEMPF3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkBoundingBoxUL3FMCULQEMPF3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkBoundingBoxUL3FMCULQEMPF3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkBoundingBoxUL3FMCULQEMPF3 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkBoundingBoxUL3FMCULQEMPF3_swigregister(itkBoundingBoxUL3FMCULQEMPF3)

def itkMapContainerULCIDQEMCTI2_New():
    return itkMapContainerULCIDQEMCTI2.New()

class itkMapContainerULCIDQEMCTI2(itk.ITKCommonBasePython.itkObject):
    r"""Proxy of C++ itkMapContainerULCIDQEMCTI2 class."""

    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"""
        __init__(self) -> itkMapContainerULCIDQEMCTI2
        __init__(self, comp) -> itkMapContainerULCIDQEMCTI2

        Parameters
        ----------
        comp: std::less< unsigned long > const &

        """
        _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_swiginit(self, _itkQuadEdgeMeshBasePython.new_itkMapContainerULCIDQEMCTI2(*args))

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMapContainerULCIDQEMCTI2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMapContainerULCIDQEMCTI2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_Clone(self)

    def CastToSTLContainer(self):
        r"""CastToSTLContainer(self) -> std::map< unsigned long,itkCellInterfaceDQEMCTI2 *,std::less< unsigned long >,std::allocator< std::pair< unsigned long const,itkCellInterfaceDQEMCTI2 * > > > &"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_CastToSTLContainer(self)

    def CastToSTLConstContainer(self):
        r"""CastToSTLConstContainer(self) -> std::map< unsigned long,itkCellInterfaceDQEMCTI2 *,std::less< unsigned long >,std::allocator< std::pair< unsigned long const,itkCellInterfaceDQEMCTI2 * > > > const &"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_CastToSTLConstContainer(self)

    def ElementAt(self, *args):
        r"""
        ElementAt(self, arg0) -> itkCellInterfaceDQEMCTI2

        Parameters
        ----------
        arg0: unsigned long

        ElementAt(self, arg0) -> itkCellInterfaceDQEMCTI2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_ElementAt(self, *args)

    def CreateElementAt(self, arg0):
        r"""
        CreateElementAt(self, arg0) -> itkCellInterfaceDQEMCTI2 *&

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_CreateElementAt(self, arg0)

    def GetElement(self, arg0):
        r"""
        GetElement(self, arg0) -> itkCellInterfaceDQEMCTI2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_GetElement(self, arg0)

    def SetElement(self, arg0, arg1):
        r"""
        SetElement(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI2 *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_SetElement(self, arg0, arg1)

    def InsertElement(self, arg0, arg1):
        r"""
        InsertElement(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI2 *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_InsertElement(self, arg0, arg1)

    def IndexExists(self, arg0):
        r"""
        IndexExists(self, arg0) -> bool

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_IndexExists(self, arg0)

    def GetElementIfIndexExists(self, arg0, arg1):
        r"""
        GetElementIfIndexExists(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI2 **

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_GetElementIfIndexExists(self, arg0, arg1)

    def CreateIndex(self, arg0):
        r"""
        CreateIndex(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_CreateIndex(self, arg0)

    def DeleteIndex(self, arg0):
        r"""
        DeleteIndex(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_DeleteIndex(self, arg0)

    def Size(self):
        r"""Size(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_Size(self)

    def Reserve(self, arg0):
        r"""
        Reserve(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_Reserve(self, arg0)

    def Squeeze(self):
        r"""Squeeze(self)"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_Squeeze(self)

    def Initialize(self):
        r"""Initialize(self)"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_Initialize(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMapContainerULCIDQEMCTI2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMapContainerULCIDQEMCTI2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMapContainerULCIDQEMCTI2

        Create a new object of the class itkMapContainerULCIDQEMCTI2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMapContainerULCIDQEMCTI2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMapContainerULCIDQEMCTI2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMapContainerULCIDQEMCTI2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMapContainerULCIDQEMCTI2 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI2_swigregister(itkMapContainerULCIDQEMCTI2)

def itkMapContainerULCIDQEMCTI3_New():
    return itkMapContainerULCIDQEMCTI3.New()

class itkMapContainerULCIDQEMCTI3(itk.ITKCommonBasePython.itkObject):
    r"""Proxy of C++ itkMapContainerULCIDQEMCTI3 class."""

    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"""
        __init__(self) -> itkMapContainerULCIDQEMCTI3
        __init__(self, comp) -> itkMapContainerULCIDQEMCTI3

        Parameters
        ----------
        comp: std::less< unsigned long > const &

        """
        _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_swiginit(self, _itkQuadEdgeMeshBasePython.new_itkMapContainerULCIDQEMCTI3(*args))

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMapContainerULCIDQEMCTI3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMapContainerULCIDQEMCTI3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_Clone(self)

    def CastToSTLContainer(self):
        r"""CastToSTLContainer(self) -> std::map< unsigned long,itkCellInterfaceDQEMCTI3 *,std::less< unsigned long >,std::allocator< std::pair< unsigned long const,itkCellInterfaceDQEMCTI3 * > > > &"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_CastToSTLContainer(self)

    def CastToSTLConstContainer(self):
        r"""CastToSTLConstContainer(self) -> std::map< unsigned long,itkCellInterfaceDQEMCTI3 *,std::less< unsigned long >,std::allocator< std::pair< unsigned long const,itkCellInterfaceDQEMCTI3 * > > > const &"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_CastToSTLConstContainer(self)

    def ElementAt(self, *args):
        r"""
        ElementAt(self, arg0) -> itkCellInterfaceDQEMCTI3

        Parameters
        ----------
        arg0: unsigned long

        ElementAt(self, arg0) -> itkCellInterfaceDQEMCTI3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_ElementAt(self, *args)

    def CreateElementAt(self, arg0):
        r"""
        CreateElementAt(self, arg0) -> itkCellInterfaceDQEMCTI3 *&

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_CreateElementAt(self, arg0)

    def GetElement(self, arg0):
        r"""
        GetElement(self, arg0) -> itkCellInterfaceDQEMCTI3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_GetElement(self, arg0)

    def SetElement(self, arg0, arg1):
        r"""
        SetElement(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI3 *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_SetElement(self, arg0, arg1)

    def InsertElement(self, arg0, arg1):
        r"""
        InsertElement(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI3 *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_InsertElement(self, arg0, arg1)

    def IndexExists(self, arg0):
        r"""
        IndexExists(self, arg0) -> bool

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_IndexExists(self, arg0)

    def GetElementIfIndexExists(self, arg0, arg1):
        r"""
        GetElementIfIndexExists(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI3 **

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_GetElementIfIndexExists(self, arg0, arg1)

    def CreateIndex(self, arg0):
        r"""
        CreateIndex(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_CreateIndex(self, arg0)

    def DeleteIndex(self, arg0):
        r"""
        DeleteIndex(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_DeleteIndex(self, arg0)

    def Size(self):
        r"""Size(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_Size(self)

    def Reserve(self, arg0):
        r"""
        Reserve(self, arg0)

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_Reserve(self, arg0)

    def Squeeze(self):
        r"""Squeeze(self)"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_Squeeze(self)

    def Initialize(self):
        r"""Initialize(self)"""
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_Initialize(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMapContainerULCIDQEMCTI3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMapContainerULCIDQEMCTI3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMapContainerULCIDQEMCTI3

        Create a new object of the class itkMapContainerULCIDQEMCTI3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMapContainerULCIDQEMCTI3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMapContainerULCIDQEMCTI3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMapContainerULCIDQEMCTI3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMapContainerULCIDQEMCTI3 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMapContainerULCIDQEMCTI3_swigregister(itkMapContainerULCIDQEMCTI3)

def itkMeshSourceMD2QEMTD2BBFF_New():
    return itkMeshSourceMD2QEMTD2BBFF.New()

class itkMeshSourceMD2QEMTD2BBFF(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkMeshSourceMD2QEMTD2BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshSourceMD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshSourceMD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_Clone(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkMeshD2QEMTD2BBFF
        GetOutput(self, idx) -> itkMeshD2QEMTD2BBFF

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_GetOutput(self, *args)

    def SetOutput(self, output):
        r"""
        SetOutput(self, output)

        Parameters
        ----------
        output: itkMeshD2QEMTD2BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_SetOutput(self, output)

    def GraftOutput(self, *args):
        r"""
        GraftOutput(self, graft)

        Parameters
        ----------
        graft: itkDataObject *

        GraftOutput(self, key, graft)

        Parameters
        ----------
        key: std::string const &
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_GraftOutput(self, *args)

    def GraftNthOutput(self, idx, graft):
        r"""
        GraftNthOutput(self, idx, graft)

        Parameters
        ----------
        idx: unsigned int
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_GraftNthOutput(self, idx, graft)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshSourceMD2QEMTD2BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshSourceMD2QEMTD2BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshSourceMD2QEMTD2BBFF

        Create a new object of the class itkMeshSourceMD2QEMTD2BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshSourceMD2QEMTD2BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshSourceMD2QEMTD2BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshSourceMD2QEMTD2BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshSourceMD2QEMTD2BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshSourceMD2QEMTD2BBFF_swigregister(itkMeshSourceMD2QEMTD2BBFF)

def itkMeshSourceMD3QEMTD3BBFF_New():
    return itkMeshSourceMD3QEMTD3BBFF.New()

class itkMeshSourceMD3QEMTD3BBFF(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkMeshSourceMD3QEMTD3BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshSourceMD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshSourceMD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_Clone(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkMeshD3QEMTD3BBFF
        GetOutput(self, idx) -> itkMeshD3QEMTD3BBFF

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_GetOutput(self, *args)

    def SetOutput(self, output):
        r"""
        SetOutput(self, output)

        Parameters
        ----------
        output: itkMeshD3QEMTD3BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_SetOutput(self, output)

    def GraftOutput(self, *args):
        r"""
        GraftOutput(self, graft)

        Parameters
        ----------
        graft: itkDataObject *

        GraftOutput(self, key, graft)

        Parameters
        ----------
        key: std::string const &
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_GraftOutput(self, *args)

    def GraftNthOutput(self, idx, graft):
        r"""
        GraftNthOutput(self, idx, graft)

        Parameters
        ----------
        idx: unsigned int
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_GraftNthOutput(self, idx, graft)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshSourceMD3QEMTD3BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshSourceMD3QEMTD3BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshSourceMD3QEMTD3BBFF

        Create a new object of the class itkMeshSourceMD3QEMTD3BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshSourceMD3QEMTD3BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshSourceMD3QEMTD3BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshSourceMD3QEMTD3BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshSourceMD3QEMTD3BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshSourceMD3QEMTD3BBFF_swigregister(itkMeshSourceMD3QEMTD3BBFF)

def itkMeshSourceQEMD2_New():
    return itkMeshSourceQEMD2.New()

class itkMeshSourceQEMD2(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkMeshSourceQEMD2 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshSourceQEMD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshSourceQEMD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_Clone(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkQuadEdgeMeshD2
        GetOutput(self, idx) -> itkQuadEdgeMeshD2

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_GetOutput(self, *args)

    def SetOutput(self, output):
        r"""
        SetOutput(self, output)

        Parameters
        ----------
        output: itkQuadEdgeMeshD2 *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_SetOutput(self, output)

    def GraftOutput(self, *args):
        r"""
        GraftOutput(self, graft)

        Parameters
        ----------
        graft: itkDataObject *

        GraftOutput(self, key, graft)

        Parameters
        ----------
        key: std::string const &
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_GraftOutput(self, *args)

    def GraftNthOutput(self, idx, graft):
        r"""
        GraftNthOutput(self, idx, graft)

        Parameters
        ----------
        idx: unsigned int
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_GraftNthOutput(self, idx, graft)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshSourceQEMD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshSourceQEMD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshSourceQEMD2

        Create a new object of the class itkMeshSourceQEMD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshSourceQEMD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshSourceQEMD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshSourceQEMD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshSourceQEMD2 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshSourceQEMD2_swigregister(itkMeshSourceQEMD2)

def itkMeshSourceQEMD3_New():
    return itkMeshSourceQEMD3.New()

class itkMeshSourceQEMD3(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkMeshSourceQEMD3 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshSourceQEMD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshSourceQEMD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_Clone(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkQuadEdgeMeshD3
        GetOutput(self, idx) -> itkQuadEdgeMeshD3

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_GetOutput(self, *args)

    def SetOutput(self, output):
        r"""
        SetOutput(self, output)

        Parameters
        ----------
        output: itkQuadEdgeMeshD3 *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_SetOutput(self, output)

    def GraftOutput(self, *args):
        r"""
        GraftOutput(self, graft)

        Parameters
        ----------
        graft: itkDataObject *

        GraftOutput(self, key, graft)

        Parameters
        ----------
        key: std::string const &
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_GraftOutput(self, *args)

    def GraftNthOutput(self, idx, graft):
        r"""
        GraftNthOutput(self, idx, graft)

        Parameters
        ----------
        idx: unsigned int
        graft: itkDataObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_GraftNthOutput(self, idx, graft)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshSourceQEMD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshSourceQEMD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshSourceQEMD3

        Create a new object of the class itkMeshSourceQEMD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshSourceQEMD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshSourceQEMD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshSourceQEMD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshSourceQEMD3 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshSourceQEMD3_swigregister(itkMeshSourceQEMD3)

def itkMeshToMeshFilterQEMD2QEMD2_New():
    return itkMeshToMeshFilterQEMD2QEMD2.New()

class itkMeshToMeshFilterQEMD2QEMD2(itkMeshSourceQEMD2):
    r"""Proxy of C++ itkMeshToMeshFilterQEMD2QEMD2 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshToMeshFilterQEMD2QEMD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshToMeshFilterQEMD2QEMD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2_Clone(self)

    def SetInput(self, input):
        r"""
        SetInput(self, input)

        Parameters
        ----------
        input: itkQuadEdgeMeshD2 const *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2_SetInput(self, input)

    def GetInput(self, *args):
        r"""
        GetInput(self) -> itkQuadEdgeMeshD2
        GetInput(self, idx) -> itkQuadEdgeMeshD2

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2_GetInput(self, *args)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshToMeshFilterQEMD2QEMD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshToMeshFilterQEMD2QEMD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshToMeshFilterQEMD2QEMD2

        Create a new object of the class itkMeshToMeshFilterQEMD2QEMD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshToMeshFilterQEMD2QEMD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshToMeshFilterQEMD2QEMD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshToMeshFilterQEMD2QEMD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshToMeshFilterQEMD2QEMD2 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD2QEMD2_swigregister(itkMeshToMeshFilterQEMD2QEMD2)

def itkMeshToMeshFilterQEMD3QEMD3_New():
    return itkMeshToMeshFilterQEMD3QEMD3.New()

class itkMeshToMeshFilterQEMD3QEMD3(itkMeshSourceQEMD3):
    r"""Proxy of C++ itkMeshToMeshFilterQEMD3QEMD3 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshToMeshFilterQEMD3QEMD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshToMeshFilterQEMD3QEMD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3_Clone(self)

    def SetInput(self, input):
        r"""
        SetInput(self, input)

        Parameters
        ----------
        input: itkQuadEdgeMeshD3 const *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3_SetInput(self, input)

    def GetInput(self, *args):
        r"""
        GetInput(self) -> itkQuadEdgeMeshD3
        GetInput(self, idx) -> itkQuadEdgeMeshD3

        Parameters
        ----------
        idx: unsigned int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3_GetInput(self, *args)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshToMeshFilterQEMD3QEMD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshToMeshFilterQEMD3QEMD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkMeshToMeshFilterQEMD3QEMD3

        Create a new object of the class itkMeshToMeshFilterQEMD3QEMD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshToMeshFilterQEMD3QEMD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshToMeshFilterQEMD3QEMD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshToMeshFilterQEMD3QEMD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshToMeshFilterQEMD3QEMD3 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshToMeshFilterQEMD3QEMD3_swigregister(itkMeshToMeshFilterQEMD3QEMD3)

def itkPointSetD2QEMTD2BBFF_New():
    return itkPointSetD2QEMTD2BBFF.New()

class itkPointSetD2QEMTD2BBFF(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetD2QEMTD2BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkPointSetD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetD2QEMTD2BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULQEMPF2GQEULULBBT *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkMapContainerULQEMPF2GQEULULBBT
        GetPoints(self) -> itkMapContainerULQEMPF2GQEULULBBT
        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkQuadEdgeMeshPointF2GQEULULBBT

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkQuadEdgeMeshPointF2GQEULULBBT *

        GetPoint(self, arg0) -> itkQuadEdgeMeshPointF2GQEULULBBT

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkMapContainerULD
        GetPointData(self) -> itkMapContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_GetBufferedRegion(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkPointSetD2QEMTD2BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkPointSetD2QEMTD2BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


    def New(*args, **kargs):
        """New() -> itkPointSetD2QEMTD2BBFF

        Create a new object of the class itkPointSetD2QEMTD2BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkPointSetD2QEMTD2BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkPointSetD2QEMTD2BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkPointSetD2QEMTD2BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkPointSetD2QEMTD2BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkPointSetD2QEMTD2BBFF_swigregister(itkPointSetD2QEMTD2BBFF)

def itkPointSetD3QEMTD3BBFF_New():
    return itkPointSetD3QEMTD3BBFF.New()

class itkPointSetD3QEMTD3BBFF(itk.ITKCommonBasePython.itkDataObject):
    r"""Proxy of C++ itkPointSetD3QEMTD3BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkPointSetD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkPointSetD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_Clone(self)

    def GetMaximumNumberOfRegions(self):
        r"""GetMaximumNumberOfRegions(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetMaximumNumberOfRegions(self)

    def PassStructure(self, inputPointSet):
        r"""
        PassStructure(self, inputPointSet)

        Parameters
        ----------
        inputPointSet: itkPointSetD3QEMTD3BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_PassStructure(self, inputPointSet)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetNumberOfPoints(self)

    def SetPoints(self, *args):
        r"""
        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULQEMPF3GQEULULBBT *

        SetPoints(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULF *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_SetPoints(self, *args)

    def GetPoints(self, *args):
        r"""
        GetPoints(self) -> itkMapContainerULQEMPF3GQEULULBBT
        GetPoints(self) -> itkMapContainerULQEMPF3GQEULULBBT
        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetPoints(self, *args)

    def SetPoint(self, arg0, arg1):
        r"""
        SetPoint(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkQuadEdgeMeshPointF3GQEULULBBT

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_SetPoint(self, arg0, arg1)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkQuadEdgeMeshPointF3GQEULULBBT *

        GetPoint(self, arg0) -> itkQuadEdgeMeshPointF3GQEULULBBT

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetPoint(self, *args)

    def SetPointData(self, *args):
        r"""
        SetPointData(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULD *

        SetPointData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_SetPointData(self, *args)

    def GetPointData(self, *args):
        r"""
        GetPointData(self) -> itkMapContainerULD
        GetPointData(self) -> itkMapContainerULD
        GetPointData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetPointData(self, *args)

    def SetRequestedRegion(self, *args):
        r"""
        SetRequestedRegion(self, data)

        Parameters
        ----------
        data: itkDataObject const *

        SetRequestedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_SetRequestedRegion(self, *args)

    def GetRequestedRegion(self):
        r"""GetRequestedRegion(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetRequestedRegion(self)

    def SetBufferedRegion(self, region):
        r"""
        SetBufferedRegion(self, region)

        Parameters
        ----------
        region: long const &

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_SetBufferedRegion(self, region)

    def GetBufferedRegion(self):
        r"""GetBufferedRegion(self) -> long"""
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_GetBufferedRegion(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkPointSetD3QEMTD3BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkPointSetD3QEMTD3BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_cast(obj)

    def keys(self):
        """
        Return keys related to the pointset's metadata.
        These keys are used in the dictionary resulting from dict(pointset).
        """
        result = ['name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(pointset.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_pointset(self)
            return state[key]

    def __setitem__(self, key, value):
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_pointset(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.pointset_from_dict(state)
        self.__dict__['this'] = deserialized


    def New(*args, **kargs):
        """New() -> itkPointSetD3QEMTD3BBFF

        Create a new object of the class itkPointSetD3QEMTD3BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkPointSetD3QEMTD3BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkPointSetD3QEMTD3BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkPointSetD3QEMTD3BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkPointSetD3QEMTD3BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkPointSetD3QEMTD3BBFF_swigregister(itkPointSetD3QEMTD3BBFF)
class itkImageToMeshFilterISS2MD2QEMTD2BBFF(itkMeshSourceMD2QEMTD2BBFF):
    r"""Proxy of C++ itkImageToMeshFilterISS2MD2QEMTD2BBFF class."""

    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 SetInput(self, *args):
        r"""
        SetInput(self, idx, input)

        Parameters
        ----------
        idx: unsigned int
        input: itkImageSS2 const *

        SetInput(self, input)

        Parameters
        ----------
        input: itkImageSS2 const *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_SetInput(self, *args)

    def GetInput(self, *args):
        r"""
        GetInput(self, idx) -> itkImageSS2

        Parameters
        ----------
        idx: unsigned int

        GetInput(self) -> itkImageSS2
        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_GetInput(self, *args)

    def GetOutput(self):
        r"""GetOutput(self) -> itkMeshD2QEMTD2BBFF"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_GetOutput(self)

    def GenerateOutputInformation(self):
        r"""GenerateOutputInformation(self)"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_GenerateOutputInformation(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkImageToMeshFilterISS2MD2QEMTD2BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkImageToMeshFilterISS2MD2QEMTD2BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_cast(obj)

# Register itkImageToMeshFilterISS2MD2QEMTD2BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS2MD2QEMTD2BBFF_swigregister(itkImageToMeshFilterISS2MD2QEMTD2BBFF)
class itkImageToMeshFilterISS3MD3QEMTD3BBFF(itkMeshSourceMD3QEMTD3BBFF):
    r"""Proxy of C++ itkImageToMeshFilterISS3MD3QEMTD3BBFF class."""

    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 SetInput(self, *args):
        r"""
        SetInput(self, idx, input)

        Parameters
        ----------
        idx: unsigned int
        input: itkImageSS3 const *

        SetInput(self, input)

        Parameters
        ----------
        input: itkImageSS3 const *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_SetInput(self, *args)

    def GetInput(self, *args):
        r"""
        GetInput(self, idx) -> itkImageSS3

        Parameters
        ----------
        idx: unsigned int

        GetInput(self) -> itkImageSS3
        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_GetInput(self, *args)

    def GetOutput(self):
        r"""GetOutput(self) -> itkMeshD3QEMTD3BBFF"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_GetOutput(self)

    def GenerateOutputInformation(self):
        r"""GenerateOutputInformation(self)"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_GenerateOutputInformation(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkImageToMeshFilterISS3MD3QEMTD3BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkImageToMeshFilterISS3MD3QEMTD3BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_cast(obj)

# Register itkImageToMeshFilterISS3MD3QEMTD3BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkImageToMeshFilterISS3MD3QEMTD3BBFF_swigregister(itkImageToMeshFilterISS3MD3QEMTD3BBFF)
class itkImageToMeshFilterIUC2MD2QEMTD2BBFF(itkMeshSourceMD2QEMTD2BBFF):
    r"""Proxy of C++ itkImageToMeshFilterIUC2MD2QEMTD2BBFF class."""

    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 SetInput(self, *args):
        r"""
        SetInput(self, idx, input)

        Parameters
        ----------
        idx: unsigned int
        input: itkImageUC2 const *

        SetInput(self, input)

        Parameters
        ----------
        input: itkImageUC2 const *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_SetInput(self, *args)

    def GetInput(self, *args):
        r"""
        GetInput(self, idx) -> itkImageUC2

        Parameters
        ----------
        idx: unsigned int

        GetInput(self) -> itkImageUC2
        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_GetInput(self, *args)

    def GetOutput(self):
        r"""GetOutput(self) -> itkMeshD2QEMTD2BBFF"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_GetOutput(self)

    def GenerateOutputInformation(self):
        r"""GenerateOutputInformation(self)"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_GenerateOutputInformation(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkImageToMeshFilterIUC2MD2QEMTD2BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkImageToMeshFilterIUC2MD2QEMTD2BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_cast(obj)

# Register itkImageToMeshFilterIUC2MD2QEMTD2BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC2MD2QEMTD2BBFF_swigregister(itkImageToMeshFilterIUC2MD2QEMTD2BBFF)
class itkImageToMeshFilterIUC3MD3QEMTD3BBFF(itkMeshSourceMD3QEMTD3BBFF):
    r"""Proxy of C++ itkImageToMeshFilterIUC3MD3QEMTD3BBFF class."""

    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 SetInput(self, *args):
        r"""
        SetInput(self, idx, input)

        Parameters
        ----------
        idx: unsigned int
        input: itkImageUC3 const *

        SetInput(self, input)

        Parameters
        ----------
        input: itkImageUC3 const *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_SetInput(self, *args)

    def GetInput(self, *args):
        r"""
        GetInput(self, idx) -> itkImageUC3

        Parameters
        ----------
        idx: unsigned int

        GetInput(self) -> itkImageUC3
        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_GetInput(self, *args)

    def GetOutput(self):
        r"""GetOutput(self) -> itkMeshD3QEMTD3BBFF"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_GetOutput(self)

    def GenerateOutputInformation(self):
        r"""GenerateOutputInformation(self)"""
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_GenerateOutputInformation(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkImageToMeshFilterIUC3MD3QEMTD3BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkImageToMeshFilterIUC3MD3QEMTD3BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_cast(obj)

# Register itkImageToMeshFilterIUC3MD3QEMTD3BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkImageToMeshFilterIUC3MD3QEMTD3BBFF_swigregister(itkImageToMeshFilterIUC3MD3QEMTD3BBFF)

def itkMeshD2QEMTD2BBFF_New():
    return itkMeshD2QEMTD2BBFF.New()

class itkMeshD2QEMTD2BBFF(itkPointSetD2QEMTD2BBFF):
    r"""Proxy of C++ itkMeshD2QEMTD2BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshD2QEMTD2BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_Clone(self)

    def GetNumberOfCells(self):
        r"""GetNumberOfCells(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetNumberOfCells(self)

    def PassStructure(self, inputMesh):
        r"""
        PassStructure(self, inputMesh)

        Parameters
        ----------
        inputMesh: itkMeshD2QEMTD2BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_PassStructure(self, inputMesh)

    def GetBoundingBox(self):
        r"""GetBoundingBox(self) -> itkBoundingBoxUL2FMCULQEMPF2"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetBoundingBox(self)

    def SetCellLinks(self, arg0):
        r"""
        SetCellLinks(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULSIT *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCellLinks(self, arg0)

    def GetCellLinks(self, *args):
        r"""
        GetCellLinks(self) -> itkMapContainerULSIT
        GetCellLinks(self) -> itkMapContainerULSIT
        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellLinks(self, *args)

    def SetCells(self, arg0):
        r"""
        SetCells(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULCIDQEMCTI2 *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCells(self, arg0)

    def SetCellsArray(self, *args):
        r"""
        SetCellsArray(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUL *

        SetCellsArray(self, arg0, cellType)

        Parameters
        ----------
        arg0: itkVectorContainerULUL *
        cellType: int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCellsArray(self, *args)

    def GetCellsArray(self):
        r"""GetCellsArray(self) -> itkVectorContainerULUL"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellsArray(self)

    def GetCells(self, *args):
        r"""
        GetCells(self) -> itkMapContainerULCIDQEMCTI2
        GetCells(self) -> itkMapContainerULCIDQEMCTI2
        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCells(self, *args)

    def DeleteUnusedCellData(self):
        r"""DeleteUnusedCellData(self)"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_DeleteUnusedCellData(self)

    def SetCell(self, arg0, arg1):
        r"""
        SetCell(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCell(self, arg0, arg1)

    def GetCell(self, arg0, arg1):
        r"""
        GetCell(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCell(self, arg0, arg1)

    def SetCellData(self, *args):
        r"""
        SetCellData(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULD *

        SetCellData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCellData(self, *args)

    def GetCellData(self, *args):
        r"""
        GetCellData(self) -> itkMapContainerULD
        GetCellData(self) -> itkMapContainerULD
        GetCellData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellData(self, *args)

    def SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def RemoveBoundaryAssignment(self, dimension, cellId, featureId):
        r"""
        RemoveBoundaryAssignment(self, dimension, cellId, featureId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_RemoveBoundaryAssignment(self, dimension, cellId, featureId)

    def GetNumberOfCellBoundaryFeatures(self, dimension, arg1):
        r"""
        GetNumberOfCellBoundaryFeatures(self, dimension, arg1) -> unsigned char

        Parameters
        ----------
        dimension: int
        arg1: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetNumberOfCellBoundaryFeatures(self, dimension, arg1)

    def GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3):
        r"""
        GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3) -> bool

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        arg3: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3)

    def GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet):
        r"""
        GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet) -> unsigned long

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet)

    def GetCellNeighbors(self, cellId, cellSet):
        r"""
        GetCellNeighbors(self, cellId, cellSet) -> unsigned long

        Parameters
        ----------
        cellId: unsigned long
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellNeighbors(self, cellId, cellSet)

    def GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3):
        r"""
        GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3) -> bool

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        arg3: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3)

    def BuildCellLinks(self):
        r"""BuildCellLinks(self)"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_BuildCellLinks(self)

    def Accept(self, mv):
        r"""
        Accept(self, mv)

        Parameters
        ----------
        mv: itkCellInterfaceDQEMCTI2::MultiVisitor *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_Accept(self, mv)

    def SetCellsAllocationMethod(self, _arg):
        r"""
        SetCellsAllocationMethod(self, _arg)

        Parameters
        ----------
        _arg: enum itkMeshEnums::MeshClassCellsAllocationMethod

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_SetCellsAllocationMethod(self, _arg)

    def GetCellsAllocationMethod(self):
        r"""GetCellsAllocationMethod(self) -> itkMeshEnums::MeshClassCellsAllocationMethod const &"""
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_GetCellsAllocationMethod(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshD2QEMTD2BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshD2QEMTD2BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_cast(obj)

    def keys(self):
        """
        Return keys related to the mesh's metadata.
        These keys are used in the dictionary resulting from dict(mesh).
        """
        result = ['meshType', 'name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData',
                    'numberOfCells', 'cells', 'numberOfCellPixels', 'cellData', 'cellBufferSize']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(mesh.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_mesh(self)
            return state[key]

    def __setitem__(self, key, value):
        """Set metadata keys, see help(image.keys), for string
        keys, otherwise provide NumPy indexing to the pixel buffer
        array view. The index order follows NumPy array indexing
        order, i.e. [z, y, x] versus [x, y, z]."""
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'cells':
                self.SetCellsArray(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))
            elif key == 'cellData':
                self.SetCellData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_mesh(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.mesh_from_dict(state)
        self.__dict__['this'] = deserialized


    def New(*args, **kargs):
        """New() -> itkMeshD2QEMTD2BBFF

        Create a new object of the class itkMeshD2QEMTD2BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshD2QEMTD2BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshD2QEMTD2BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshD2QEMTD2BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshD2QEMTD2BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshD2QEMTD2BBFF_swigregister(itkMeshD2QEMTD2BBFF)

def itkMeshD3QEMTD3BBFF_New():
    return itkMeshD3QEMTD3BBFF.New()

class itkMeshD3QEMTD3BBFF(itkPointSetD3QEMTD3BBFF):
    r"""Proxy of C++ itkMeshD3QEMTD3BBFF class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkMeshD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkMeshD3QEMTD3BBFF_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_Clone(self)

    def GetNumberOfCells(self):
        r"""GetNumberOfCells(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetNumberOfCells(self)

    def PassStructure(self, inputMesh):
        r"""
        PassStructure(self, inputMesh)

        Parameters
        ----------
        inputMesh: itkMeshD3QEMTD3BBFF *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_PassStructure(self, inputMesh)

    def GetBoundingBox(self):
        r"""GetBoundingBox(self) -> itkBoundingBoxUL3FMCULQEMPF3"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetBoundingBox(self)

    def SetCellLinks(self, arg0):
        r"""
        SetCellLinks(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULSIT *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCellLinks(self, arg0)

    def GetCellLinks(self, *args):
        r"""
        GetCellLinks(self) -> itkMapContainerULSIT
        GetCellLinks(self) -> itkMapContainerULSIT
        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellLinks(self, *args)

    def SetCells(self, arg0):
        r"""
        SetCells(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULCIDQEMCTI3 *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCells(self, arg0)

    def SetCellsArray(self, *args):
        r"""
        SetCellsArray(self, arg0)

        Parameters
        ----------
        arg0: itkVectorContainerULUL *

        SetCellsArray(self, arg0, cellType)

        Parameters
        ----------
        arg0: itkVectorContainerULUL *
        cellType: int

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCellsArray(self, *args)

    def GetCellsArray(self):
        r"""GetCellsArray(self) -> itkVectorContainerULUL"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellsArray(self)

    def GetCells(self, *args):
        r"""
        GetCells(self) -> itkMapContainerULCIDQEMCTI3
        GetCells(self) -> itkMapContainerULCIDQEMCTI3
        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCells(self, *args)

    def DeleteUnusedCellData(self):
        r"""DeleteUnusedCellData(self)"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_DeleteUnusedCellData(self)

    def SetCell(self, arg0, arg1):
        r"""
        SetCell(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCell(self, arg0, arg1)

    def GetCell(self, arg0, arg1):
        r"""
        GetCell(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCell(self, arg0, arg1)

    def SetCellData(self, *args):
        r"""
        SetCellData(self, arg0)

        Parameters
        ----------
        arg0: itkMapContainerULD *

        SetCellData(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: double

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCellData(self, *args)

    def GetCellData(self, *args):
        r"""
        GetCellData(self) -> itkMapContainerULD
        GetCellData(self) -> itkMapContainerULD
        GetCellData(self, arg0, arg1) -> bool

        Parameters
        ----------
        arg0: unsigned long
        arg1: double *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellData(self, *args)

    def SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def RemoveBoundaryAssignment(self, dimension, cellId, featureId):
        r"""
        RemoveBoundaryAssignment(self, dimension, cellId, featureId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_RemoveBoundaryAssignment(self, dimension, cellId, featureId)

    def GetNumberOfCellBoundaryFeatures(self, dimension, arg1):
        r"""
        GetNumberOfCellBoundaryFeatures(self, dimension, arg1) -> unsigned char

        Parameters
        ----------
        dimension: int
        arg1: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetNumberOfCellBoundaryFeatures(self, dimension, arg1)

    def GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3):
        r"""
        GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3) -> bool

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        arg3: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellBoundaryFeature(self, dimension, arg1, arg2, arg3)

    def GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet):
        r"""
        GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet) -> unsigned long

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellBoundaryFeatureNeighbors(self, dimension, arg1, arg2, cellSet)

    def GetCellNeighbors(self, cellId, cellSet):
        r"""
        GetCellNeighbors(self, cellId, cellSet) -> unsigned long

        Parameters
        ----------
        cellId: unsigned long
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellNeighbors(self, cellId, cellSet)

    def GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3):
        r"""
        GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3) -> bool

        Parameters
        ----------
        dimension: int
        arg1: unsigned long
        arg2: unsigned char
        arg3: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetAssignedCellBoundaryIfOneExists(self, dimension, arg1, arg2, arg3)

    def BuildCellLinks(self):
        r"""BuildCellLinks(self)"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_BuildCellLinks(self)

    def Accept(self, mv):
        r"""
        Accept(self, mv)

        Parameters
        ----------
        mv: itkCellInterfaceDQEMCTI3::MultiVisitor *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_Accept(self, mv)

    def SetCellsAllocationMethod(self, _arg):
        r"""
        SetCellsAllocationMethod(self, _arg)

        Parameters
        ----------
        _arg: enum itkMeshEnums::MeshClassCellsAllocationMethod

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_SetCellsAllocationMethod(self, _arg)

    def GetCellsAllocationMethod(self):
        r"""GetCellsAllocationMethod(self) -> itkMeshEnums::MeshClassCellsAllocationMethod const &"""
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_GetCellsAllocationMethod(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkMeshD3QEMTD3BBFF

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkMeshD3QEMTD3BBFF

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_cast(obj)

    def keys(self):
        """
        Return keys related to the mesh's metadata.
        These keys are used in the dictionary resulting from dict(mesh).
        """
        result = ['meshType', 'name', 'dimension', 'numberOfPoints', 'points', 'numberOfPointPixels', 'pointData',
                    'numberOfCells', 'cells', 'numberOfCellPixels', 'cellData', 'cellBufferSize']
        return result

    def __getitem__(self, key):
        """Access metadata keys, see help(mesh.keys), for string keys."""
        import itk
        if isinstance(key, str):
            state = itk.dict_from_mesh(self)
            return state[key]

    def __setitem__(self, key, value):
        """Set metadata keys, see help(image.keys), for string
        keys, otherwise provide NumPy indexing to the pixel buffer
        array view. The index order follows NumPy array indexing
        order, i.e. [z, y, x] versus [x, y, z]."""
        if isinstance(key, str):
            import numpy as np
            if key == 'name':
                self.SetObjectName(value)
            elif key == 'points':
                self.SetPoints(itk.vector_container_from_array(value))
            elif key == 'cells':
                self.SetCellsArray(itk.vector_container_from_array(value))
            elif key == 'pointData':
                self.SetPointData(itk.vector_container_from_array(value))
            elif key == 'cellData':
                self.SetCellData(itk.vector_container_from_array(value))

    def __getstate__(self):
        """Get object state, necessary for serialization with pickle."""
        import itk
        state = itk.dict_from_mesh(self)
        return state

    def __setstate__(self, state):
        """Set object state, necessary for serialization with pickle."""
        import itk
        import numpy as np
        deserialized = itk.mesh_from_dict(state)
        self.__dict__['this'] = deserialized


    def New(*args, **kargs):
        """New() -> itkMeshD3QEMTD3BBFF

        Create a new object of the class itkMeshD3QEMTD3BBFF and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkMeshD3QEMTD3BBFF.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkMeshD3QEMTD3BBFF.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkMeshD3QEMTD3BBFF.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkMeshD3QEMTD3BBFF in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkMeshD3QEMTD3BBFF_swigregister(itkMeshD3QEMTD3BBFF)

def itkQuadEdgeMeshD2_New():
    return itkQuadEdgeMeshD2.New()

class itkQuadEdgeMeshD2(itkMeshD2QEMTD2BBFF):
    r"""Proxy of C++ itkQuadEdgeMeshD2 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkQuadEdgeMeshD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkQuadEdgeMeshD2_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_Clone(self)

    def Clear(self):
        r"""Clear(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_Clear(self)

    def GetEdgeCells(self, *args):
        r"""
        GetEdgeCells(self) -> itkMapContainerULCIDQEMCTI2
        GetEdgeCells(self) -> itkMapContainerULCIDQEMCTI2
        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetEdgeCells(self, *args)

    def SetEdgeCells(self, edgeCells):
        r"""
        SetEdgeCells(self, edgeCells)

        Parameters
        ----------
        edgeCells: itkMapContainerULCIDQEMCTI2 *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_SetEdgeCells(self, edgeCells)

    def SetEdgeCell(self, cellId, cellPointer):
        r"""
        SetEdgeCell(self, cellId, cellPointer)

        Parameters
        ----------
        cellId: unsigned long
        cellPointer: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_SetEdgeCell(self, cellId, cellPointer)

    def SqueezePointsIds(self):
        r"""SqueezePointsIds(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_SqueezePointsIds(self)

    def BuildCellLinks(self):
        r"""BuildCellLinks(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_BuildCellLinks(self)

    def SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def RemoveBoundaryAssignment(self, dimension, cellId, featureId):
        r"""
        RemoveBoundaryAssignment(self, dimension, cellId, featureId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_RemoveBoundaryAssignment(self, dimension, cellId, featureId)

    def GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP):
        r"""
        GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellAP: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP)

    def GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet):
        r"""
        GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet) -> unsigned long

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet)

    def GetCellNeighbors(self, arg0, arg1):
        r"""
        GetCellNeighbors(self, arg0, arg1) -> unsigned long

        Parameters
        ----------
        arg0: unsigned long
        arg1: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetCellNeighbors(self, arg0, arg1)

    def GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP):
        r"""
        GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellAP: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP)

    def SetCell(self, cId, cell):
        r"""
        SetCell(self, cId, cell)

        Parameters
        ----------
        cId: unsigned long
        cell: itkCellInterfaceDQEMCTI2_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_SetCell(self, cId, cell)

    def FindFirstUnusedPointIndex(self):
        r"""FindFirstUnusedPointIndex(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_FindFirstUnusedPointIndex(self)

    def FindFirstUnusedCellIndex(self):
        r"""FindFirstUnusedCellIndex(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_FindFirstUnusedCellIndex(self)

    def PushOnContainer(self, newEdge):
        r"""
        PushOnContainer(self, newEdge)

        Parameters
        ----------
        newEdge: itkQuadEdgeMeshLineCellCIDQEMCTI2 *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_PushOnContainer(self, newEdge)

    def AddPoint(self, p):
        r"""
        AddPoint(self, p) -> unsigned long

        Parameters
        ----------
        p: itkQuadEdgeMeshPointF2GQEULULBBT const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddPoint(self, p)

    def AddEdge(self, orgPid, destPid):
        r"""
        AddEdge(self, orgPid, destPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddEdge(self, orgPid, destPid)

    def AddEdgeWithSecurePointList(self, orgPid, destPid):
        r"""
        AddEdgeWithSecurePointList(self, orgPid, destPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddEdgeWithSecurePointList(self, orgPid, destPid)

    def AddFace(self, *args):
        r"""
        AddFace(self, entry)

        Parameters
        ----------
        entry: itkGeometricalQuadEdgeULULBBF *

        AddFace(self, points) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddFace(self, *args)

    def AddFaceWithSecurePointList(self, *args):
        r"""
        AddFaceWithSecurePointList(self, points) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &

        AddFaceWithSecurePointList(self, points, CheckEdges) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &
        CheckEdges: bool

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddFaceWithSecurePointList(self, *args)

    def AddFaceTriangle(self, aPid, bPid, cPid):
        r"""
        AddFaceTriangle(self, aPid, bPid, cPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        aPid: unsigned long const &
        bPid: unsigned long const &
        cPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_AddFaceTriangle(self, aPid, bPid, cPid)

    def DeletePoint(self, pid):
        r"""
        DeletePoint(self, pid)

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_DeletePoint(self, pid)

    def DeleteEdge(self, *args):
        r"""
        DeleteEdge(self, orgPid, destPid)

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        DeleteEdge(self, e)

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_DeleteEdge(self, *args)

    def LightWeightDeleteEdge(self, *args):
        r"""
        LightWeightDeleteEdge(self, edgeCell)

        Parameters
        ----------
        edgeCell: itkQuadEdgeMeshLineCellCIDQEMCTI2 *

        LightWeightDeleteEdge(self, e)

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_LightWeightDeleteEdge(self, *args)

    def DeleteFace(self, faceToDelete):
        r"""
        DeleteFace(self, faceToDelete)

        Parameters
        ----------
        faceToDelete: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_DeleteFace(self, faceToDelete)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, pid, pt) -> bool

        Parameters
        ----------
        pid: unsigned long
        pt: itkQuadEdgeMeshPointF2GQEULULBBT *

        GetPoint(self, pid) -> itkQuadEdgeMeshPointF2GQEULULBBT

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetPoint(self, *args)

    def GetVector(self, pid):
        r"""
        GetVector(self, pid) -> itkVectorF2

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetVector(self, pid)

    def GetEdge(self, *args):
        r"""
        GetEdge(self) -> itkGeometricalQuadEdgeULULBBF
        GetEdge(self, eid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        eid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetEdge(self, *args)

    def FindEdge(self, *args):
        r"""
        FindEdge(self, pid0) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        pid0: unsigned long const &

        FindEdge(self, pid0, pid1) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        pid0: unsigned long const &
        pid1: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_FindEdge(self, *args)

    def FindEdgeCell(self, pid0, pid1):
        r"""
        FindEdgeCell(self, pid0, pid1) -> itkQuadEdgeMeshLineCellCIDQEMCTI2

        Parameters
        ----------
        pid0: unsigned long const &
        pid1: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_FindEdgeCell(self, pid0, pid1)

    def ComputeEdgeLength(self, e):
        r"""
        ComputeEdgeLength(self, e) -> float

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_ComputeEdgeLength(self, e)

    def ComputeNumberOfPoints(self):
        r"""ComputeNumberOfPoints(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_ComputeNumberOfPoints(self)

    def ComputeNumberOfFaces(self):
        r"""ComputeNumberOfFaces(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_ComputeNumberOfFaces(self)

    def ComputeNumberOfEdges(self):
        r"""ComputeNumberOfEdges(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_ComputeNumberOfEdges(self)

    def Splice(self, a, b):
        r"""
        Splice(self, a, b) -> unsigned long

        Parameters
        ----------
        a: itkGeometricalQuadEdgeULULBBF *
        b: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_Splice(self, a, b)

    def ClearFreePointAndCellIndexesLists(self):
        r"""ClearFreePointAndCellIndexesLists(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_ClearFreePointAndCellIndexesLists(self)

    def GetNumberOfFaces(self):
        r"""GetNumberOfFaces(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetNumberOfFaces(self)

    def GetNumberOfEdges(self):
        r"""GetNumberOfEdges(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_GetNumberOfEdges(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkQuadEdgeMeshD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkQuadEdgeMeshD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkQuadEdgeMeshD2

        Create a new object of the class itkQuadEdgeMeshD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkQuadEdgeMeshD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkQuadEdgeMeshD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkQuadEdgeMeshD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkQuadEdgeMeshD2 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD2_swigregister(itkQuadEdgeMeshD2)

def itkQuadEdgeMeshD3_New():
    return itkQuadEdgeMeshD3.New()

class itkQuadEdgeMeshD3(itkMeshD3QEMTD3BBFF):
    r"""Proxy of C++ itkQuadEdgeMeshD3 class."""

    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

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkQuadEdgeMeshD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkQuadEdgeMeshD3_Pointer"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_Clone(self)

    def Clear(self):
        r"""Clear(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_Clear(self)

    def GetEdgeCells(self, *args):
        r"""
        GetEdgeCells(self) -> itkMapContainerULCIDQEMCTI3
        GetEdgeCells(self) -> itkMapContainerULCIDQEMCTI3
        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetEdgeCells(self, *args)

    def SetEdgeCells(self, edgeCells):
        r"""
        SetEdgeCells(self, edgeCells)

        Parameters
        ----------
        edgeCells: itkMapContainerULCIDQEMCTI3 *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_SetEdgeCells(self, edgeCells)

    def SetEdgeCell(self, cellId, cellPointer):
        r"""
        SetEdgeCell(self, cellId, cellPointer)

        Parameters
        ----------
        cellId: unsigned long
        cellPointer: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_SetEdgeCell(self, cellId, cellPointer)

    def SqueezePointsIds(self):
        r"""SqueezePointsIds(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_SqueezePointsIds(self)

    def BuildCellLinks(self):
        r"""BuildCellLinks(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_BuildCellLinks(self)

    def SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_SetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId):
        r"""
        GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        boundaryId: unsigned long *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetBoundaryAssignment(self, dimension, cellId, featureId, boundaryId)

    def RemoveBoundaryAssignment(self, dimension, cellId, featureId):
        r"""
        RemoveBoundaryAssignment(self, dimension, cellId, featureId) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_RemoveBoundaryAssignment(self, dimension, cellId, featureId)

    def GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP):
        r"""
        GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellAP: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetCellBoundaryFeature(self, dimension, cellId, featureId, cellAP)

    def GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet):
        r"""
        GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet) -> unsigned long

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellSet: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetCellBoundaryFeatureNeighbors(self, dimension, cellId, featureId, cellSet)

    def GetCellNeighbors(self, arg0, arg1):
        r"""
        GetCellNeighbors(self, arg0, arg1) -> unsigned long

        Parameters
        ----------
        arg0: unsigned long
        arg1: std::set< unsigned long,std::less< unsigned long >,std::allocator< unsigned long > > *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetCellNeighbors(self, arg0, arg1)

    def GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP):
        r"""
        GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP) -> bool

        Parameters
        ----------
        dimension: int
        cellId: unsigned long
        featureId: unsigned char
        cellAP: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetAssignedCellBoundaryIfOneExists(self, dimension, cellId, featureId, cellAP)

    def SetCell(self, cId, cell):
        r"""
        SetCell(self, cId, cell)

        Parameters
        ----------
        cId: unsigned long
        cell: itkCellInterfaceDQEMCTI3_AutoPointer &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_SetCell(self, cId, cell)

    def FindFirstUnusedPointIndex(self):
        r"""FindFirstUnusedPointIndex(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_FindFirstUnusedPointIndex(self)

    def FindFirstUnusedCellIndex(self):
        r"""FindFirstUnusedCellIndex(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_FindFirstUnusedCellIndex(self)

    def PushOnContainer(self, newEdge):
        r"""
        PushOnContainer(self, newEdge)

        Parameters
        ----------
        newEdge: itkQuadEdgeMeshLineCellCIDQEMCTI3 *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_PushOnContainer(self, newEdge)

    def AddPoint(self, p):
        r"""
        AddPoint(self, p) -> unsigned long

        Parameters
        ----------
        p: itkQuadEdgeMeshPointF3GQEULULBBT const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddPoint(self, p)

    def AddEdge(self, orgPid, destPid):
        r"""
        AddEdge(self, orgPid, destPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddEdge(self, orgPid, destPid)

    def AddEdgeWithSecurePointList(self, orgPid, destPid):
        r"""
        AddEdgeWithSecurePointList(self, orgPid, destPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddEdgeWithSecurePointList(self, orgPid, destPid)

    def AddFace(self, *args):
        r"""
        AddFace(self, entry)

        Parameters
        ----------
        entry: itkGeometricalQuadEdgeULULBBF *

        AddFace(self, points) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddFace(self, *args)

    def AddFaceWithSecurePointList(self, *args):
        r"""
        AddFaceWithSecurePointList(self, points) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &

        AddFaceWithSecurePointList(self, points, CheckEdges) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        points: std::vector< unsigned long,std::allocator< unsigned long > > const &
        CheckEdges: bool

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddFaceWithSecurePointList(self, *args)

    def AddFaceTriangle(self, aPid, bPid, cPid):
        r"""
        AddFaceTriangle(self, aPid, bPid, cPid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        aPid: unsigned long const &
        bPid: unsigned long const &
        cPid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_AddFaceTriangle(self, aPid, bPid, cPid)

    def DeletePoint(self, pid):
        r"""
        DeletePoint(self, pid)

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_DeletePoint(self, pid)

    def DeleteEdge(self, *args):
        r"""
        DeleteEdge(self, orgPid, destPid)

        Parameters
        ----------
        orgPid: unsigned long const &
        destPid: unsigned long const &

        DeleteEdge(self, e)

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_DeleteEdge(self, *args)

    def LightWeightDeleteEdge(self, *args):
        r"""
        LightWeightDeleteEdge(self, edgeCell)

        Parameters
        ----------
        edgeCell: itkQuadEdgeMeshLineCellCIDQEMCTI3 *

        LightWeightDeleteEdge(self, e)

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_LightWeightDeleteEdge(self, *args)

    def DeleteFace(self, faceToDelete):
        r"""
        DeleteFace(self, faceToDelete)

        Parameters
        ----------
        faceToDelete: unsigned long

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_DeleteFace(self, faceToDelete)

    def GetPoint(self, *args):
        r"""
        GetPoint(self, pid, pt) -> bool

        Parameters
        ----------
        pid: unsigned long
        pt: itkQuadEdgeMeshPointF3GQEULULBBT *

        GetPoint(self, pid) -> itkQuadEdgeMeshPointF3GQEULULBBT

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetPoint(self, *args)

    def GetVector(self, pid):
        r"""
        GetVector(self, pid) -> itkVectorF3

        Parameters
        ----------
        pid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetVector(self, pid)

    def GetEdge(self, *args):
        r"""
        GetEdge(self) -> itkGeometricalQuadEdgeULULBBF
        GetEdge(self, eid) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        eid: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetEdge(self, *args)

    def FindEdge(self, *args):
        r"""
        FindEdge(self, pid0) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        pid0: unsigned long const &

        FindEdge(self, pid0, pid1) -> itkGeometricalQuadEdgeULULBBF

        Parameters
        ----------
        pid0: unsigned long const &
        pid1: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_FindEdge(self, *args)

    def FindEdgeCell(self, pid0, pid1):
        r"""
        FindEdgeCell(self, pid0, pid1) -> itkQuadEdgeMeshLineCellCIDQEMCTI3

        Parameters
        ----------
        pid0: unsigned long const &
        pid1: unsigned long const &

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_FindEdgeCell(self, pid0, pid1)

    def ComputeEdgeLength(self, e):
        r"""
        ComputeEdgeLength(self, e) -> float

        Parameters
        ----------
        e: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_ComputeEdgeLength(self, e)

    def ComputeNumberOfPoints(self):
        r"""ComputeNumberOfPoints(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_ComputeNumberOfPoints(self)

    def ComputeNumberOfFaces(self):
        r"""ComputeNumberOfFaces(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_ComputeNumberOfFaces(self)

    def ComputeNumberOfEdges(self):
        r"""ComputeNumberOfEdges(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_ComputeNumberOfEdges(self)

    def Splice(self, a, b):
        r"""
        Splice(self, a, b) -> unsigned long

        Parameters
        ----------
        a: itkGeometricalQuadEdgeULULBBF *
        b: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_Splice(self, a, b)

    def ClearFreePointAndCellIndexesLists(self):
        r"""ClearFreePointAndCellIndexesLists(self)"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_ClearFreePointAndCellIndexesLists(self)

    def GetNumberOfFaces(self):
        r"""GetNumberOfFaces(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetNumberOfFaces(self)

    def GetNumberOfEdges(self):
        r"""GetNumberOfEdges(self) -> unsigned long"""
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_GetNumberOfEdges(self)
    __swig_destroy__ = _itkQuadEdgeMeshBasePython.delete_itkQuadEdgeMeshD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkQuadEdgeMeshD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkQuadEdgeMeshD3

        Create a new object of the class itkQuadEdgeMeshD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkQuadEdgeMeshD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkQuadEdgeMeshD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkQuadEdgeMeshD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkQuadEdgeMeshD3 in _itkQuadEdgeMeshBasePython:
_itkQuadEdgeMeshBasePython.itkQuadEdgeMeshD3_swigregister(itkQuadEdgeMeshD3)

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def mesh_to_mesh_filter(*args,  output: itkt.QuadEdgeMesh=...,**kwargs)-> itkt.MeshSourceReturn:
    """Functional interface for MeshToMeshFilter"""
    import itk

    kwarg_typehints = { 'output':output }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.MeshToMeshFilter.New(*args, **kwargs)

    return instance.__internal_call__()

def mesh_to_mesh_filter_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKQuadEdgeMesh.MeshToMeshFilter
    mesh_to_mesh_filter.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    mesh_to_mesh_filter.__doc__ = filter_object.__doc__

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def image_to_mesh_filter(*args,  output: itkt.Mesh=...,**kwargs)-> itkt.MeshSourceReturn:
    """Functional interface for ImageToMeshFilter"""
    import itk

    kwarg_typehints = { 'output':output }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.ImageToMeshFilter.New(*args, **kwargs)

    return instance.__internal_call__()

def image_to_mesh_filter_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKQuadEdgeMesh.ImageToMeshFilter
    image_to_mesh_filter.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    image_to_mesh_filter.__doc__ = filter_object.__doc__

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def mesh_source(*args,  output: itkt.QuadEdgeMesh=...,**kwargs):
    """Functional interface for MeshSource"""
    import itk

    kwarg_typehints = { 'output':output }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.MeshSource.New(*args, **kwargs)

    return instance.__internal_call__()

def mesh_source_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKQuadEdgeMesh.MeshSource
    mesh_source.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    mesh_source.__doc__ = filter_object.__doc__



