"""
This type stub file was generated by pyright.
"""

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkGenericAttributeCollection(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkGenericAttributeCollection - a collection of attributes
    
    Superclass: vtkObject
    
    vtkGenericAttributeCollection is a class that collects attributes
    (represented by vtkGenericAttribute).
    """
    def DeepCopy(self, vtkGenericAttributeCollection):
        """
        V.DeepCopy(vtkGenericAttributeCollection)
        C++: void DeepCopy(vtkGenericAttributeCollection *other)
        
        Copy, without reference counting, the other attribute array.
        \pre other_exists: other!=0
        \pre not_self: other!=this
        \post same_size:
            GetNumberOfAttributes()==other->GetNumberOfAttributes()
        """
        ...
    
    def FindAttribute(self, string):
        """
        V.FindAttribute(string) -> int
        C++: int FindAttribute(const char *name)
        
        Return the index of the attribute named `name'. Return the
        non-negative index if found. Return -1 otherwise.
        \pre name_exists: name!=0
        \post valid_result: (result==-1) || (result>=0) &&
            (result<=GetNumberOfAttributes())
        """
        ...
    
    def GetActiveAttribute(self):
        """
        V.GetActiveAttribute() -> int
        C++: virtual int GetActiveAttribute()
        
        Index of the attribute to be processed (not necessarily scalar).
        \pre not_empty: !IsEmpty()
        \post valid_result: result>=0 && result<GetNumberOfAttributes()
        """
        ...
    
    def GetActiveComponent(self):
        """
        V.GetActiveComponent() -> int
        C++: virtual int GetActiveComponent()
        
        Component of the active attribute to be processed. -1 means
        module.
        \pre not_empty: GetNumberOfAttributes()>0
        \post valid_result: result>=-1 &&
        result<GetAttribute(GetActiveAttribute())->GetNumberOfComponents()
        """
        ...
    
    def GetActualMemorySize(self):
        """
        V.GetActualMemorySize() -> int
        C++: unsigned long GetActualMemorySize()
        
        Actual size of the data in kibibytes (1024 bytes); only valid
        after the pipeline has updated. It is guaranteed to be greater
        than or equal to the memory required to represent the data.
        """
        ...
    
    def GetAttribute(self, p_int):
        """
        V.GetAttribute(int) -> vtkGenericAttribute
        C++: vtkGenericAttribute *GetAttribute(int i)
        
        Return a pointer to the ith instance of vtkGenericAttribute.
        \pre not_empty: !IsEmpty()
        \pre valid_i: i>=0 && i<GetNumberOfAttributes()
        \post result_exists: result!=0
        """
        ...
    
    def GetAttributeIndex(self, p_int):
        """
        V.GetAttributeIndex(int) -> int
        C++: int GetAttributeIndex(int i)
        
        Return the index of the first component of attribute `i' in an
        array of format attrib0comp0 attrib0comp1 ... attrib4comp0 ...
        \pre valid_i: i>=0 && i<GetNumberOfAttributes()
        \pre is_point_centered:
            GetAttribute(i)->GetCentering()==vtkPointCentered
        """
        ...
    
    def GetAttributesToInterpolate(self):
        """
        V.GetAttributesToInterpolate() -> (int, ...)
        C++: int *GetAttributesToInterpolate()
        
        Indices of attributes to interpolate.
        \pre not_empty: !IsEmpty()
        \post valid_result: GetNumberOfAttributesToInterpolate()>0
        """
        ...
    
    def GetMaxNumberOfComponents(self):
        """
        V.GetMaxNumberOfComponents() -> int
        C++: int GetMaxNumberOfComponents()
        
        Maximum number of components encountered among all attributes.
        \post positive_result: result>=0
        \post valid_result: result<=GetNumberOfComponents()
        """
        ...
    
    def GetMTime(self):
        """
        V.GetMTime() -> int
        C++: vtkMTimeType GetMTime() override;
        
        vtkAttributeCollection is a composite object and needs to check
        each member of its collection for modified time.
        """
        ...
    
    def GetNumberOfAttributes(self):
        """
        V.GetNumberOfAttributes() -> int
        C++: int GetNumberOfAttributes()
        
        Return the number of attributes (e.g., instances of
        vtkGenericAttribute) in the collection.
        \post positive_result: result>=0
        """
        ...
    
    def GetNumberOfAttributesToInterpolate(self):
        """
        V.GetNumberOfAttributesToInterpolate() -> int
        C++: virtual int GetNumberOfAttributesToInterpolate()
        
        Number of attributes to interpolate.
        \pre not_empty: !IsEmpty()
        \post positive_result: result>=0
        """
        ...
    
    def GetNumberOfComponents(self):
        """
        V.GetNumberOfComponents() -> int
        C++: int GetNumberOfComponents()
        
        Return the number of components. This is the sum of all
        components found in all attributes.
        \post positive_result: result>=0
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def GetNumberOfPointCenteredComponents(self):
        """
        V.GetNumberOfPointCenteredComponents() -> int
        C++: int GetNumberOfPointCenteredComponents()
        
        Return the number of components. This is the sum of all
        components found in all point centered attributes.
        \post positive_result: result>=0
        """
        ...
    
    def HasAttribute(self, p_int, *int, **kwargs):
        """
        V.HasAttribute(int, [int, ...], int) -> int
        C++: int HasAttribute(int size, int *attributes, int attribute)
        
        Does the array `attributes' of size `size' have `attribute'?
        \pre positive_size: size>=0
        \pre valid_attributes: size>0 implies attributes!=0
        """
        ...
    
    def InsertAttribute(self, p_int, vtkGenericAttribute):
        """
        V.InsertAttribute(int, vtkGenericAttribute)
        C++: void InsertAttribute(int i, vtkGenericAttribute *a)
        
        Replace the attribute at index `i' by `a'.
        \pre not_empty: !IsEmpty()
        \pre a_exists: a!=0
        \pre valid_i: i>=0 && i<GetNumberOfAttributes()
        \post same_size: GetNumberOfAttributes()==old
            GetNumberOfAttributes()
        \post item_is_set: GetAttribute(i)==a
        """
        ...
    
    def InsertNextAttribute(self, vtkGenericAttribute):
        """
        V.InsertNextAttribute(vtkGenericAttribute)
        C++: void InsertNextAttribute(vtkGenericAttribute *a)
        
        Add the attribute `a' to the end of the collection.
        \pre a_exists: a!=0
        \post more_items: GetNumberOfAttributes()==old
            GetNumberOfAttributes()+1
        \post a_is_set: GetAttribute(GetNumberOfAttributes()-1)==a
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def IsEmpty(self):
        """
        V.IsEmpty() -> int
        C++: int IsEmpty()
        
        Indicate whether the collection contains any attributes.
        \post definition: result==(GetNumberOfAttributes()==0)
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkGenericAttributeCollection
        C++: vtkGenericAttributeCollection *NewInstance()
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def RemoveAttribute(self, p_int):
        """
        V.RemoveAttribute(int)
        C++: void RemoveAttribute(int i)
        
        Remove the attribute at `i'.
        \pre not_empty: !IsEmpty()
        \pre valid_i: i>=0 && i<GetNumberOfAttributes()
        \post fewer_items: GetNumberOfAttributes()==old
            GetNumberOfAttributes()-1
        """
        ...
    
    def Reset(self):
        """
        V.Reset()
        C++: void Reset()
        
        Remove all attributes.
        \post is_empty: GetNumberOfAttributes()==0
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkGenericAttributeCollection
        C++: static vtkGenericAttributeCollection *SafeDownCast(
            vtkObjectBase *o)
        
        Standard type definition and print methods for a VTK class.
        """
        ...
    
    def SetActiveAttribute(self, p_int, p_int_1):
        """
        V.SetActiveAttribute(int, int)
        C++: void SetActiveAttribute(int attribute, int component=0)
        
        Set the scalar attribute to be processed. -1 means module.
        \pre not_empty: !IsEmpty()
        \pre valid_attribute: attribute>=0 &&
            attribute<GetNumberOfAttributes()
        \pre valid_component: component>=-1 &&
        component<GetAttribute(attribute)->GetNumberOfComponents()
        \post is_set: GetActiveAttribute()==attribute &&
        GetActiveComponent()==component
        """
        ...
    
    def SetAttributesToInterpolate(self, p_int, *int):
        """
        V.SetAttributesToInterpolate(int, [int, ...])
        C++: void SetAttributesToInterpolate(int size, int *attributes)
        
        Set the attributes to interpolate.
        \pre not_empty: !IsEmpty()
        \pre positive_size: size>=0
        \pre valid_attributes: size>0 implies attributes!=0
        \pre valid_attributes_contents: attributes!=0 implies
        !HasAttributes(size,attributes,GetActiveAttribute())
        \post is_set: (GetNumberOfAttributesToInterpolate()==size)&&
        (GetAttributesToInterpolate()==attributes)
        """
        ...
    
    def SetAttributesToInterpolateToAll(self):
        """
        V.SetAttributesToInterpolateToAll()
        C++: void SetAttributesToInterpolateToAll()
        
        Set the attributes to interpolate.
        \pre not_empty: !IsEmpty()
        \pre positive_size: size>=0
        \pre valid_attributes: size>0 implies attributes!=0
        \pre valid_attributes_contents: attributes!=0 implies
        !HasAttributes(size,attributes,GetActiveAttribute())
        \post is_set: (GetNumberOfAttributesToInterpolate()==size)&&
        (GetAttributesToInterpolate()==attributes)
        """
        ...
    
    def ShallowCopy(self, vtkGenericAttributeCollection):
        """
        V.ShallowCopy(vtkGenericAttributeCollection)
        C++: void ShallowCopy(vtkGenericAttributeCollection *other)
        
        Copy, via reference counting, the other attribute array.
        \pre other_exists: other!=0
        \pre not_self: other!=this
        \post same_size:
            GetNumberOfAttributes()==other->GetNumberOfAttributes()
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


