# encoding: utf-8
# module vtkmodules.vtkIOParallelExodus
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkIOParallelExodus.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkIOExodus as __vtkmodules_vtkIOExodus


# no functions
# classes

class vtkPExodusIIReader(__vtkmodules_vtkIOExodus.vtkExodusIIReader):
    """
    vtkPExodusIIReader - Read Exodus II files (.exii)
    
    Superclass: vtkExodusIIReader
    
    vtkPExodusIIReader is a unstructured grid source object that reads
    ExodusII files. Most of the meta data associated with the file is
    loaded when UpdateInformation is called. This includes information
    like Title, number of blocks, number and names of arrays. This data
    can be retrieved from methods in this reader. Separate arrays that
    are meant to be a single vector, are combined internally for
    convenience. To be combined, the array names have to be identical
    except for a trailing X,Y and Z (or x,y,z). By default all cell and
    point arrays are loaded. However, the user can flag arrays not to
    load with the methods "SetPointDataArrayLoadFlag" and
    "SetCellDataArrayLoadFlag". The reader responds to piece requests by
    loading only a range of the possible blocks. Unused points are
    filtered out internally.
    """
    def Broadcast(self, ctrl): # real signature unknown; restored from __doc__
        """
        Broadcast(self, ctrl:vtkMultiProcessController) -> None
        C++: virtual void Broadcast(vtkMultiProcessController *ctrl)
        
        Sends metadata (that read from the input file, not settings
        modified through this API) from the rank 0 node to all other
        processes in a job.
        """
        pass

    def GetController(self): # real signature unknown; restored from __doc__
        """
        GetController(self) -> vtkMultiProcessController
        C++: virtual vtkMultiProcessController *GetController()
        """
        pass

    def GetFilePattern(self): # real signature unknown; restored from __doc__
        """
        GetFilePattern(self) -> str
        C++: virtual char *GetFilePattern()
        """
        return ""

    def GetFilePrefix(self): # real signature unknown; restored from __doc__
        """
        GetFilePrefix(self) -> str
        C++: virtual char *GetFilePrefix()
        """
        return ""

    def GetFileRange(self): # real signature unknown; restored from __doc__
        """
        GetFileRange(self) -> (int, int)
        C++: virtual int *GetFileRange()
        """
        pass

    def GetNumberOfFileNames(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfFileNames(self) -> int
        C++: int GetNumberOfFileNames()
        
        Return number of file names set in SetFileNames
        """
        return 0

    def GetNumberOfFiles(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfFiles(self) -> int
        C++: virtual int GetNumberOfFiles()
        
        Return the number of files to be read.
        """
        return 0

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def GetTotalNumberOfElements(self): # real signature unknown; restored from __doc__
        """
        GetTotalNumberOfElements(self) -> int
        C++: vtkIdType GetTotalNumberOfElements() override;
        """
        return 0

    def GetTotalNumberOfNodes(self): # real signature unknown; restored from __doc__
        """
        GetTotalNumberOfNodes(self) -> int
        C++: vtkIdType GetTotalNumberOfNodes() override;
        """
        return 0

    def GetVariableCacheSize(self): # real signature unknown; restored from __doc__
        """
        GetVariableCacheSize(self) -> float
        C++: virtual double GetVariableCacheSize()
        
        The size of the variable cache in MegaByes. This represents the
        maximum size of cache that a single partition reader can have
        while reading. When a reader is finished its cache size will be
        set to a fraction of this based on the number of partitions. The
        Default for this is 100MiB. Note that because each reader still
        holds a fraction of the cache size after reading the total amount
        of data cached can be at most twice this size.
        """
        return 0.0

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkPExodusIIReader
        C++: vtkPExodusIIReader *NewInstance()
        """
        return vtkPExodusIIReader

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkPExodusIIReader
        C++: static vtkPExodusIIReader *SafeDownCast(vtkObjectBase *o)
        """
        return vtkPExodusIIReader

    def SetController(self, c): # real signature unknown; restored from __doc__
        """
        SetController(self, c:vtkMultiProcessController) -> None
        C++: void SetController(vtkMultiProcessController *c)
        
        Set/get the communication object used to relay a list of files
        from the rank 0 process to all others. This is the only
        interprocess communication required by vtkPExodusIIReader.
        """
        pass

    def SetFileName(self, name): # real signature unknown; restored from __doc__
        """
        SetFileName(self, name:str) -> None
        C++: void SetFileName(const char *name) override;
        
        Specify file name of the Exodus file.
        """
        pass

    def SetFilePattern(self, _arg): # real signature unknown; restored from __doc__
        """
        SetFilePattern(self, _arg:str) -> None
        C++: virtual void SetFilePattern(const char *_arg)
        
        These methods tell the reader that the data is distributed across
        multiple files. This is for distributed execution. It this case,
        pieces are mapped to files. The pattern should have one %d to
        format the file number. FileNumberRange is used to generate file
        numbers. I was thinking of having an arbitrary list of file
        numbers. This may happen in the future. (That is why there is no
        GetFileNumberRange method.
        """
        pass

    def SetFilePrefix(self, _arg): # real signature unknown; restored from __doc__
        """
        SetFilePrefix(self, _arg:str) -> None
        C++: virtual void SetFilePrefix(const char *_arg)
        """
        pass

    def SetFileRange(self, __a, __b): # real signature unknown; restored from __doc__
        """
        SetFileRange(self, __a:int, __b:int) -> None
        C++: void SetFileRange(int, int)
        SetFileRange(self, r:[int, ...]) -> None
        C++: void SetFileRange(int *r)
        
        Set the range of files that are being loaded. The range for
        single file should add to 0.
        """
        pass

    def SetVariableCacheSize(self, _arg): # real signature unknown; restored from __doc__
        """
        SetVariableCacheSize(self, _arg:float) -> None
        C++: virtual void SetVariableCacheSize(double _arg)
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkPExodusIIReader\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetController\': <method \'SetController\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetController\': <method \'GetController\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetFilePattern\': <method \'SetFilePattern\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetFilePattern\': <method \'GetFilePattern\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetFilePrefix\': <method \'SetFilePrefix\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetFilePrefix\': <method \'GetFilePrefix\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetFileRange\': <method \'SetFileRange\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetFileRange\': <method \'GetFileRange\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetFileName\': <method \'SetFileName\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetNumberOfFileNames\': <method \'GetNumberOfFileNames\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetNumberOfFiles\': <method \'GetNumberOfFiles\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetTotalNumberOfElements\': <method \'GetTotalNumberOfElements\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetTotalNumberOfNodes\': <method \'GetTotalNumberOfNodes\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'Broadcast\': <method \'Broadcast\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'GetVariableCacheSize\': <method \'GetVariableCacheSize\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'SetVariableCacheSize\': <method \'SetVariableCacheSize\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF863A892F0>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIReader\' objects>, \'__doc__\': \'vtkPExodusIIReader - Read Exodus II files (.exii)\\n\\nSuperclass: vtkExodusIIReader\\n\\nvtkPExodusIIReader is a unstructured grid source object that reads\\nExodusII files. Most of the meta data associated with the file is\\nloaded when UpdateInformation is called. This includes information\\nlike Title, number of blocks, number and names of arrays. This data\\ncan be retrieved from methods in this reader. Separate arrays that\\nare meant to be a single vector, are combined internally for\\nconvenience. To be combined, the array names have to be identical\\nexcept for a trailing X,Y and Z (or x,y,z). By default all cell and\\npoint arrays are loaded. However, the user can flag arrays not to\\nload with the methods "SetPointDataArrayLoadFlag" and\\n"SetCellDataArrayLoadFlag". The reader responds to piece requests by\\nloading only a range of the possible blocks. Unused points are\\nfiltered out internally.\\n\\n\'})'
    __vtkname__ = 'vtkPExodusIIReader'


class vtkPExodusIIWriter(__vtkmodules_vtkIOExodus.vtkExodusIIWriter):
    """
    vtkPExodusIIWriter - Write Exodus II files
    
    Superclass: vtkExodusIIWriter
    
    This is a vtkWriter that writes it's vtkUnstructuredGrid
        input out to an Exodus II file.  Go to
    http://endo.sandia.gov/SEACAS/
        for more information about the Exodus II format.
    
    
        Exodus files contain much information that is not captured
        in a vtkUnstructuredGrid, such as time steps, information
        lines, node sets, and side sets.  This information can be
        stored in a vtkModelMetadata object.
    
    
        The vtkExodusReader and vtkPExodusReader can create
        a vtkModelMetadata object and embed it in a vtkUnstructuredGrid
        in a series of field arrays.  This writer searches for these
        field arrays and will use the metadata contained in them
        when creating the new Exodus II file.
    
    
        You can also explicitly give the vtkExodusIIWriter a
        vtkModelMetadata object to use when writing the file.
    
    
        In the absence of the information provided by vtkModelMetadata,
        if this writer is not part of a parallel application, we will use
        reasonable defaults for all the values in the output Exodus file.
        If you don't provide a block ID element array, we'll create a
        block for each cell type that appears in the unstructured grid.
    
    
        However if this writer is part of a parallel application (hence
        writing out a distributed Exodus file), then we need at the very
        least a list of all the block IDs that appear in the file.  And
        we need the element array of block IDs for the input unstructured
    grid.
    
    
        In the absence of a vtkModelMetadata object, you can also provide
        time step information which we will include in the output Exodus
        file.
    
    @warning
        If the input floating point field arrays and point locations are
    all
        floats or all doubles, this class will operate more efficiently.
        Mixing floats and doubles will slow you down, because Exodus II
        requires that we write only floats or only doubles.
    
    @warning
        We use the terms "point" and "node" interchangeably.
        Also, we use the terms "element" and "cell" interchangeably.
    """
    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Return 1 if this class is the same type of (or a subclass of) the
        named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Return 1 if this class type is the same type of (or a subclass
        of) the named class. Returns 0 otherwise. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkPExodusIIWriter
        C++: vtkPExodusIIWriter *NewInstance()
        """
        return vtkPExodusIIWriter

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkPExodusIIWriter
        C++: static vtkPExodusIIWriter *SafeDownCast(vtkObjectBase *o)
        """
        return vtkPExodusIIWriter

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkPExodusIIWriter\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF863A89580>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkIOParallelExodus.vtkPExodusIIWriter\' objects>, \'__doc__\': \'vtkPExodusIIWriter - Write Exodus II files\\n\\nSuperclass: vtkExodusIIWriter\\n\\nThis is a vtkWriter that writes it\\\'s vtkUnstructuredGrid\\n    input out to an Exodus II file.  Go to\\nhttp://endo.sandia.gov/SEACAS/\\n    for more information about the Exodus II format.\\n\\n\\n    Exodus files contain much information that is not captured\\n    in a vtkUnstructuredGrid, such as time steps, information\\n    lines, node sets, and side sets.  This information can be\\n    stored in a vtkModelMetadata object.\\n\\n\\n    The vtkExodusReader and vtkPExodusReader can create\\n    a vtkModelMetadata object and embed it in a vtkUnstructuredGrid\\n    in a series of field arrays.  This writer searches for these\\n    field arrays and will use the metadata contained in them\\n    when creating the new Exodus II file.\\n\\n\\n    You can also explicitly give the vtkExodusIIWriter a\\n    vtkModelMetadata object to use when writing the file.\\n\\n\\n    In the absence of the information provided by vtkModelMetadata,\\n    if this writer is not part of a parallel application, we will use\\n    reasonable defaults for all the values in the output Exodus file.\\n    If you don\\\'t provide a block ID element array, we\\\'ll create a\\n    block for each cell type that appears in the unstructured grid.\\n\\n\\n    However if this writer is part of a parallel application (hence\\n    writing out a distributed Exodus file), then we need at the very\\n    least a list of all the block IDs that appear in the file.  And\\n    we need the element array of block IDs for the input unstructured\\ngrid.\\n\\n\\n    In the absence of a vtkModelMetadata object, you can also provide\\n    time step information which we will include in the output Exodus\\n    file.\\n\\n@warning\\n    If the input floating point field arrays and point locations are\\nall\\n    floats or all doubles, this class will operate more efficiently.\\n    Mixing floats and doubles will slow you down, because Exodus II\\n    requires that we write only floats or only doubles.\\n\\n@warning\\n    We use the terms "point" and "node" interchangeably.\\n    Also, we use the terms "element" and "cell" interchangeably.\\n\\n\'})'
    __vtkname__ = 'vtkPExodusIIWriter'


# variables with complex values

__loader__ = None # (!) real value is '<_frozen_importlib_external.ExtensionFileLoader object at 0x0000018623DCBC50>'

__spec__ = None # (!) real value is "ModuleSpec(name='vtkmodules.vtkIOParallelExodus', loader=<_frozen_importlib_external.ExtensionFileLoader object at 0x0000018623DCBC50>, origin='C:\\\\Users\\\\xukai\\\\Downloads\\\\??2\\\\venv\\\\Lib\\\\site-packages\\\\vtkmodules\\\\vtkIOParallelExodus.cp311-win_amd64.pyd')"

