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



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

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.itkQuadEdgeMeshBasePython
import itk.itkImagePython
import itk.itkFixedArrayPython
import itk.pyBasePython
import itk.itkVectorPython
import itk.vnl_vector_refPython
import itk.stdcomplexPython
import itk.vnl_vectorPython
import itk.vnl_matrixPython
import itk.itkPointPython
import itk.itkMatrixPython
import itk.itkCovariantVectorPython
import itk.vnl_matrix_fixedPython
import itk.itkSizePython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkRGBPixelPython
import itk.itkIndexPython
import itk.itkOffsetPython
import itk.itkRGBAPixelPython
import itk.ITKCommonBasePython
import itk.itkImageRegionPython
import itk.itkQuadEdgeMeshPointPython
import itk.itkGeometricalQuadEdgePython
import itk.itkQuadEdgePython
import itk.itkVectorContainerPython
import itk.itkContinuousIndexPython
import itk.itkArrayPython
import itk.itkMapContainerPython
import itk.itkQuadEdgeMeshLineCellPython
import itk.itkQuadEdgeCellTraitsInfoPython
class itkMatrixCoefficientsQEMD2(object):
    r"""Proxy of C++ itkMatrixCoefficientsQEMD2 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 - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkMatrixCoefficientsQEMD2

    def __call__(self, iMesh, iEdge):
        r"""
        __call__(self, iMesh, iEdge) -> float

        Parameters
        ----------
        iMesh: itkQuadEdgeMeshD2 const *
        iEdge: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkMatrixCoefficientsPython.itkMatrixCoefficientsQEMD2___call__(self, iMesh, iEdge)

# Register itkMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkMatrixCoefficientsQEMD2_swigregister(itkMatrixCoefficientsQEMD2)
class itkMatrixCoefficientsQEMD3(object):
    r"""Proxy of C++ itkMatrixCoefficientsQEMD3 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 - class is abstract")
    __repr__ = _swig_repr
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkMatrixCoefficientsQEMD3

    def __call__(self, iMesh, iEdge):
        r"""
        __call__(self, iMesh, iEdge) -> float

        Parameters
        ----------
        iMesh: itkQuadEdgeMeshD3 const *
        iEdge: itkGeometricalQuadEdgeULULBBF *

        """
        return _itkMatrixCoefficientsPython.itkMatrixCoefficientsQEMD3___call__(self, iMesh, iEdge)

# Register itkMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkMatrixCoefficientsQEMD3_swigregister(itkMatrixCoefficientsQEMD3)
class itkOnesMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkOnesMatrixCoefficientsQEMD2 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) -> itkOnesMatrixCoefficientsQEMD2
        __init__(self, arg0) -> itkOnesMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkOnesMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkOnesMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkOnesMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkOnesMatrixCoefficientsQEMD2

# Register itkOnesMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkOnesMatrixCoefficientsQEMD2_swigregister(itkOnesMatrixCoefficientsQEMD2)
class itkOnesMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkOnesMatrixCoefficientsQEMD3 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) -> itkOnesMatrixCoefficientsQEMD3
        __init__(self, arg0) -> itkOnesMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkOnesMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkOnesMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkOnesMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkOnesMatrixCoefficientsQEMD3

# Register itkOnesMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkOnesMatrixCoefficientsQEMD3_swigregister(itkOnesMatrixCoefficientsQEMD3)
class itkAuthalicMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkAuthalicMatrixCoefficientsQEMD2 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) -> itkAuthalicMatrixCoefficientsQEMD2
        __init__(self, arg0) -> itkAuthalicMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkAuthalicMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkAuthalicMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkAuthalicMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkAuthalicMatrixCoefficientsQEMD2

# Register itkAuthalicMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkAuthalicMatrixCoefficientsQEMD2_swigregister(itkAuthalicMatrixCoefficientsQEMD2)
class itkAuthalicMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkAuthalicMatrixCoefficientsQEMD3 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) -> itkAuthalicMatrixCoefficientsQEMD3
        __init__(self, arg0) -> itkAuthalicMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkAuthalicMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkAuthalicMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkAuthalicMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkAuthalicMatrixCoefficientsQEMD3

# Register itkAuthalicMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkAuthalicMatrixCoefficientsQEMD3_swigregister(itkAuthalicMatrixCoefficientsQEMD3)
class itkConformalMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkConformalMatrixCoefficientsQEMD2 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) -> itkConformalMatrixCoefficientsQEMD2
        __init__(self, arg0) -> itkConformalMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkConformalMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkConformalMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkConformalMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkConformalMatrixCoefficientsQEMD2

# Register itkConformalMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkConformalMatrixCoefficientsQEMD2_swigregister(itkConformalMatrixCoefficientsQEMD2)
class itkConformalMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkConformalMatrixCoefficientsQEMD3 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) -> itkConformalMatrixCoefficientsQEMD3
        __init__(self, arg0) -> itkConformalMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkConformalMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkConformalMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkConformalMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkConformalMatrixCoefficientsQEMD3

# Register itkConformalMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkConformalMatrixCoefficientsQEMD3_swigregister(itkConformalMatrixCoefficientsQEMD3)
class itkHarmonicMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkHarmonicMatrixCoefficientsQEMD2 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) -> itkHarmonicMatrixCoefficientsQEMD2
        __init__(self, arg0) -> itkHarmonicMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkHarmonicMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkHarmonicMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkHarmonicMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkHarmonicMatrixCoefficientsQEMD2

# Register itkHarmonicMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkHarmonicMatrixCoefficientsQEMD2_swigregister(itkHarmonicMatrixCoefficientsQEMD2)
class itkHarmonicMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkHarmonicMatrixCoefficientsQEMD3 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) -> itkHarmonicMatrixCoefficientsQEMD3
        __init__(self, arg0) -> itkHarmonicMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkHarmonicMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkHarmonicMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkHarmonicMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkHarmonicMatrixCoefficientsQEMD3

# Register itkHarmonicMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkHarmonicMatrixCoefficientsQEMD3_swigregister(itkHarmonicMatrixCoefficientsQEMD3)
class itkIntrinsicMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkIntrinsicMatrixCoefficientsQEMD2 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, iLambda) -> itkIntrinsicMatrixCoefficientsQEMD2

        Parameters
        ----------
        iLambda: float const &

        __init__(self, arg0) -> itkIntrinsicMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkIntrinsicMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkIntrinsicMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkIntrinsicMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkIntrinsicMatrixCoefficientsQEMD2

# Register itkIntrinsicMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkIntrinsicMatrixCoefficientsQEMD2_swigregister(itkIntrinsicMatrixCoefficientsQEMD2)
class itkIntrinsicMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkIntrinsicMatrixCoefficientsQEMD3 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, iLambda) -> itkIntrinsicMatrixCoefficientsQEMD3

        Parameters
        ----------
        iLambda: float const &

        __init__(self, arg0) -> itkIntrinsicMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkIntrinsicMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkIntrinsicMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkIntrinsicMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkIntrinsicMatrixCoefficientsQEMD3

# Register itkIntrinsicMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkIntrinsicMatrixCoefficientsQEMD3_swigregister(itkIntrinsicMatrixCoefficientsQEMD3)
class itkInverseEuclideanDistanceMatrixCoefficientsQEMD2(itkMatrixCoefficientsQEMD2):
    r"""Proxy of C++ itkInverseEuclideanDistanceMatrixCoefficientsQEMD2 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) -> itkInverseEuclideanDistanceMatrixCoefficientsQEMD2
        __init__(self, arg0) -> itkInverseEuclideanDistanceMatrixCoefficientsQEMD2

        Parameters
        ----------
        arg0: itkInverseEuclideanDistanceMatrixCoefficientsQEMD2 const &

        """
        _itkMatrixCoefficientsPython.itkInverseEuclideanDistanceMatrixCoefficientsQEMD2_swiginit(self, _itkMatrixCoefficientsPython.new_itkInverseEuclideanDistanceMatrixCoefficientsQEMD2(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkInverseEuclideanDistanceMatrixCoefficientsQEMD2

# Register itkInverseEuclideanDistanceMatrixCoefficientsQEMD2 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkInverseEuclideanDistanceMatrixCoefficientsQEMD2_swigregister(itkInverseEuclideanDistanceMatrixCoefficientsQEMD2)
class itkInverseEuclideanDistanceMatrixCoefficientsQEMD3(itkMatrixCoefficientsQEMD3):
    r"""Proxy of C++ itkInverseEuclideanDistanceMatrixCoefficientsQEMD3 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) -> itkInverseEuclideanDistanceMatrixCoefficientsQEMD3
        __init__(self, arg0) -> itkInverseEuclideanDistanceMatrixCoefficientsQEMD3

        Parameters
        ----------
        arg0: itkInverseEuclideanDistanceMatrixCoefficientsQEMD3 const &

        """
        _itkMatrixCoefficientsPython.itkInverseEuclideanDistanceMatrixCoefficientsQEMD3_swiginit(self, _itkMatrixCoefficientsPython.new_itkInverseEuclideanDistanceMatrixCoefficientsQEMD3(*args))
    __swig_destroy__ = _itkMatrixCoefficientsPython.delete_itkInverseEuclideanDistanceMatrixCoefficientsQEMD3

# Register itkInverseEuclideanDistanceMatrixCoefficientsQEMD3 in _itkMatrixCoefficientsPython:
_itkMatrixCoefficientsPython.itkInverseEuclideanDistanceMatrixCoefficientsQEMD3_swigregister(itkInverseEuclideanDistanceMatrixCoefficientsQEMD3)

