# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.4.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 _ITKIOMeshBasePython



from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if getattr(globals().get("__spec__"), "parent", None) or __package__ or "." in __name__:
    from . import _itkMeshIOBasePython
else:
    import _itkMeshIOBasePython

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.ITKCommonBasePython
import itk.itkMatrixPython
import itk.vnl_matrix_fixedPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.itkPointPython
import itk.vnl_vector_refPython
import itk.itkFixedArrayPython
import itk.itkVectorPython
import itk.itkCovariantVectorPython
class itkMeshIOBase(itk.ITKCommonBasePython.itkLightProcessObject):
    r"""Proxy of C++ itkMeshIOBase 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

    def SetFileName(self, *args):
        r"""
        SetFileName(self, _arg)

        Parameters
        ----------
        _arg: char const *

        SetFileName(self, _arg)

        Parameters
        ----------
        _arg: std::string const &

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetFileName(self, *args)

    def GetFileName(self):
        r"""GetFileName(self) -> char const *"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetFileName(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOPixel const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetPointPixelType(self, _arg)

    def GetPointPixelType(self):
        r"""GetPointPixelType(self) -> itkCommonEnums::IOPixel"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetPointPixelType(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOPixel const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetCellPixelType(self, _arg)

    def GetCellPixelType(self):
        r"""GetCellPixelType(self) -> itkCommonEnums::IOPixel"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetCellPixelType(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOComponent const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetPointComponentType(self, _arg)

    def GetPointComponentType(self):
        r"""GetPointComponentType(self) -> itkCommonEnums::IOComponent"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetPointComponentType(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOComponent const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetCellComponentType(self, _arg)

    def GetCellComponentType(self):
        r"""GetCellComponentType(self) -> itkCommonEnums::IOComponent"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetCellComponentType(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOComponent const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetPointPixelComponentType(self, _arg)

    def GetPointPixelComponentType(self):
        r"""GetPointPixelComponentType(self) -> itkCommonEnums::IOComponent"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetPointPixelComponentType(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOComponent const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetCellPixelComponentType(self, _arg)

    def GetCellPixelComponentType(self):
        r"""GetCellPixelComponentType(self) -> itkCommonEnums::IOComponent"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetCellPixelComponentType(self)

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

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfPointPixelComponents(self, _arg)

    def GetNumberOfPointPixelComponents(self):
        r"""GetNumberOfPointPixelComponents(self) -> unsigned int"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfPointPixelComponents(self)

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

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfCellPixelComponents(self, _arg)

    def GetNumberOfCellPixelComponents(self):
        r"""GetNumberOfCellPixelComponents(self) -> unsigned int"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfCellPixelComponents(self)

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

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetPointDimension(self, _arg)

    def GetPointDimension(self):
        r"""GetPointDimension(self) -> unsigned int"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetPointDimension(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfPoints(self, _arg)

    def GetNumberOfPoints(self):
        r"""GetNumberOfPoints(self) -> unsigned long"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfPoints(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfCells(self, _arg)

    def GetNumberOfCells(self):
        r"""GetNumberOfCells(self) -> unsigned long"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfCells(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfPointPixels(self, _arg)

    def GetNumberOfPointPixels(self):
        r"""GetNumberOfPointPixels(self) -> unsigned long"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfPointPixels(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetNumberOfCellPixels(self, _arg)

    def GetNumberOfCellPixels(self):
        r"""GetNumberOfCellPixels(self) -> unsigned long"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetNumberOfCellPixels(self)

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

        Parameters
        ----------
        _arg: unsigned long

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetCellBufferSize(self, _arg)

    def GetCellBufferSize(self):
        r"""GetCellBufferSize(self) -> unsigned long"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetCellBufferSize(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetUpdatePoints(self, _arg)

    def GetUpdatePoints(self):
        r"""GetUpdatePoints(self) -> bool"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetUpdatePoints(self)

    def UpdatePointsOn(self):
        r"""UpdatePointsOn(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdatePointsOn(self)

    def UpdatePointsOff(self):
        r"""UpdatePointsOff(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdatePointsOff(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetUpdateCells(self, _arg)

    def GetUpdateCells(self):
        r"""GetUpdateCells(self) -> bool"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetUpdateCells(self)

    def UpdateCellsOn(self):
        r"""UpdateCellsOn(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdateCellsOn(self)

    def UpdateCellsOff(self):
        r"""UpdateCellsOff(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdateCellsOff(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetUpdatePointData(self, _arg)

    def GetUpdatePointData(self):
        r"""GetUpdatePointData(self) -> bool"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetUpdatePointData(self)

    def UpdatePointDataOn(self):
        r"""UpdatePointDataOn(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdatePointDataOn(self)

    def UpdatePointDataOff(self):
        r"""UpdatePointDataOff(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdatePointDataOff(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetUpdateCellData(self, _arg)

    def GetUpdateCellData(self):
        r"""GetUpdateCellData(self) -> bool"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetUpdateCellData(self)

    def UpdateCellDataOn(self):
        r"""UpdateCellDataOn(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdateCellDataOn(self)

    def UpdateCellDataOff(self):
        r"""UpdateCellDataOff(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UpdateCellDataOff(self)

    def GetComponentSize(self, componentType):
        r"""
        GetComponentSize(self, componentType) -> unsigned int

        Parameters
        ----------
        componentType: enum itkCommonEnums::IOComponent

        """
        return _itkMeshIOBasePython.itkMeshIOBase_GetComponentSize(self, componentType)

    def GetComponentTypeAsString(self, arg0):
        r"""
        GetComponentTypeAsString(self, arg0) -> std::string

        Parameters
        ----------
        arg0: enum itkCommonEnums::IOComponent

        """
        return _itkMeshIOBasePython.itkMeshIOBase_GetComponentTypeAsString(self, arg0)

    def GetPixelTypeAsString(self, arg0):
        r"""
        GetPixelTypeAsString(self, arg0) -> std::string

        Parameters
        ----------
        arg0: enum itkCommonEnums::IOPixel

        """
        return _itkMeshIOBasePython.itkMeshIOBase_GetPixelTypeAsString(self, arg0)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOFile const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetFileType(self, _arg)

    def GetFileType(self):
        r"""GetFileType(self) -> itkCommonEnums::IOFile"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetFileType(self)

    def SetFileTypeToASCII(self):
        r"""SetFileTypeToASCII(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_SetFileTypeToASCII(self)

    def SetFileTypeToBinary(self):
        r"""SetFileTypeToBinary(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_SetFileTypeToBinary(self)

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

        Parameters
        ----------
        _arg: enum itkCommonEnums::IOByteOrder const

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetByteOrder(self, _arg)

    def GetByteOrder(self):
        r"""GetByteOrder(self) -> itkCommonEnums::IOByteOrder"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetByteOrder(self)

    def SetByteOrderToBigEndian(self):
        r"""SetByteOrderToBigEndian(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_SetByteOrderToBigEndian(self)

    def SetByteOrderToLittleEndian(self):
        r"""SetByteOrderToLittleEndian(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_SetByteOrderToLittleEndian(self)

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

        Parameters
        ----------
        _arg: bool

        """
        return _itkMeshIOBasePython.itkMeshIOBase_SetUseCompression(self, _arg)

    def GetUseCompression(self):
        r"""GetUseCompression(self) -> bool"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetUseCompression(self)

    def UseCompressionOn(self):
        r"""UseCompressionOn(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UseCompressionOn(self)

    def UseCompressionOff(self):
        r"""UseCompressionOff(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_UseCompressionOff(self)

    def GetFileTypeAsString(self, arg0):
        r"""
        GetFileTypeAsString(self, arg0) -> std::string

        Parameters
        ----------
        arg0: enum itkCommonEnums::IOFile

        """
        return _itkMeshIOBasePython.itkMeshIOBase_GetFileTypeAsString(self, arg0)

    def GetByteOrderAsString(self, arg0):
        r"""
        GetByteOrderAsString(self, arg0) -> std::string

        Parameters
        ----------
        arg0: enum itkCommonEnums::IOByteOrder

        """
        return _itkMeshIOBasePython.itkMeshIOBase_GetByteOrderAsString(self, arg0)

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

        Parameters
        ----------
        arg0: char const *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_CanReadFile(self, arg0)

    def ReadMeshInformation(self):
        r"""ReadMeshInformation(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_ReadMeshInformation(self)

    def ReadPoints(self, buffer):
        r"""
        ReadPoints(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_ReadPoints(self, buffer)

    def ReadCells(self, buffer):
        r"""
        ReadCells(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_ReadCells(self, buffer)

    def ReadPointData(self, buffer):
        r"""
        ReadPointData(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_ReadPointData(self, buffer)

    def ReadCellData(self, buffer):
        r"""
        ReadCellData(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_ReadCellData(self, buffer)

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

        Parameters
        ----------
        arg0: char const *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_CanWriteFile(self, arg0)

    def WriteMeshInformation(self):
        r"""WriteMeshInformation(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_WriteMeshInformation(self)

    def WritePoints(self, buffer):
        r"""
        WritePoints(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_WritePoints(self, buffer)

    def WriteCells(self, buffer):
        r"""
        WriteCells(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_WriteCells(self, buffer)

    def WritePointData(self, buffer):
        r"""
        WritePointData(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_WritePointData(self, buffer)

    def WriteCellData(self, buffer):
        r"""
        WriteCellData(self, buffer)

        Parameters
        ----------
        buffer: void *

        """
        return _itkMeshIOBasePython.itkMeshIOBase_WriteCellData(self, buffer)

    def Write(self):
        r"""Write(self)"""
        return _itkMeshIOBasePython.itkMeshIOBase_Write(self)

    def GetSupportedReadExtensions(self):
        r"""GetSupportedReadExtensions(self) -> vectorstring"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetSupportedReadExtensions(self)

    def GetSupportedWriteExtensions(self):
        r"""GetSupportedWriteExtensions(self) -> vectorstring"""
        return _itkMeshIOBasePython.itkMeshIOBase_GetSupportedWriteExtensions(self)
    __swig_destroy__ = _itkMeshIOBasePython.delete_itkMeshIOBase

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

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

        """
        return _itkMeshIOBasePython.itkMeshIOBase_cast(obj)

# Register itkMeshIOBase in _itkMeshIOBasePython:
_itkMeshIOBasePython.itkMeshIOBase_swigregister(itkMeshIOBase)

