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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkCompositeDataDisplayAttributes(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkCompositeDataDisplayAttributes - Rendering attributes for a
    multi-block dataset.
    
    Superclass: vtkObject
    
    The vtkCompositeDataDisplayAttributes class stores display attributes
    for individual blocks in a multi-block dataset. It uses the actual
    data block's pointer as a key (vtkDataObject*).
    
    @warning It is considered unsafe to dereference key pointers at any
        time,
    they should only serve as keys to access the internal map.
    """
    def ComputeVisibleBounds(self, vtkCompositeDataDisplayAttributes, vtkDataObject, p_float=..., p_float=..., p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.ComputeVisibleBounds(vtkCompositeDataDisplayAttributes,
            vtkDataObject, [float, float, float, float, float, float])
        C++: static void ComputeVisibleBounds(
            vtkCompositeDataDisplayAttributes *cda, vtkDataObject *dobj,
            double bounds[6])
        
        If the input dobj is a vtkCompositeDataSet, we will loop over the
        hierarchy recursively starting from initial index 0 and use only
        visible blocks, which is specified in the
        vtkCompositeDataDisplayAttributes cda, to compute the bounds.
        """
        ...
    
    def DataObjectFromIndex(self, p_int, vtkDataObject, p_int_1):
        """
        V.DataObjectFromIndex(int, vtkDataObject, int) -> vtkDataObject
        C++: static vtkDataObject *DataObjectFromIndex(
            const unsigned int flat_index, vtkDataObject *parent_obj,
            unsigned int &current_flat_index)
        
        Get the DataObject corresponding to the node with index
        flat_index under parent_obj. Traverses the entire hierarchy
        recursively.
        """
        ...
    
    def GetBlockColor(self, vtkDataObject, p_float=..., p_float=..., p_float=...):
        """
        V.GetBlockColor(vtkDataObject, [float, float, float])
        C++: void GetBlockColor(vtkDataObject *data_object,
            double color[3])
        V.GetBlockColor(vtkDataObject) -> vtkColor3d
        C++: vtkColor3d GetBlockColor(vtkDataObject *data_object)
        
        Set/get the color for the block with data_object.
        """
        ...
    
    def GetBlockMaterial(self, vtkDataObject):
        """
        V.GetBlockMaterial(vtkDataObject) -> string
        C++: const std::string &GetBlockMaterial(
            vtkDataObject *data_object)
        
        Set/get the material for the block with data_object. Only
        rendering backends that support advanced materials need to
        respect these.
        """
        ...
    
    def GetBlockOpacity(self, vtkDataObject):
        """
        V.GetBlockOpacity(vtkDataObject) -> float
        C++: double GetBlockOpacity(vtkDataObject *data_object)
        
        Set/get the opacity for the block with data_object.
        """
        ...
    
    def GetBlockPickability(self, vtkDataObject):
        """
        V.GetBlockPickability(vtkDataObject) -> bool
        C++: bool GetBlockPickability(vtkDataObject *data_object)
        
        Set/get the pickability for the block with data_object.
        """
        ...
    
    def GetBlockVisibility(self, vtkDataObject):
        """
        V.GetBlockVisibility(vtkDataObject) -> bool
        C++: bool GetBlockVisibility(vtkDataObject *data_object)
        
        Set/get the visibility for the block with data_object.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        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.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> 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.
        """
        ...
    
    def HasBlockColor(self, vtkDataObject):
        """
        V.HasBlockColor(vtkDataObject) -> bool
        C++: bool HasBlockColor(vtkDataObject *data_object)
        
        Returns true if the block with the given data_object has a color.
        """
        ...
    
    def HasBlockColors(self):
        """
        V.HasBlockColors() -> bool
        C++: bool HasBlockColors()
        
        Returns true if any block has any block color is set.
        """
        ...
    
    def HasBlockMaterial(self, vtkDataObject):
        """
        V.HasBlockMaterial(vtkDataObject) -> bool
        C++: bool HasBlockMaterial(vtkDataObject *data_object)
        
        Returns true if the block with data_object has an material set.
        """
        ...
    
    def HasBlockMaterials(self):
        """
        V.HasBlockMaterials() -> bool
        C++: bool HasBlockMaterials()
        
        Returns true if any block has an material set.
        """
        ...
    
    def HasBlockOpacities(self):
        """
        V.HasBlockOpacities() -> bool
        C++: bool HasBlockOpacities()
        
        Returns true if any block has an opacity set.
        """
        ...
    
    def HasBlockOpacity(self, vtkDataObject):
        """
        V.HasBlockOpacity(vtkDataObject) -> bool
        C++: bool HasBlockOpacity(vtkDataObject *data_object)
        
        Returns true if the block with data_object has an opacity set.
        """
        ...
    
    def HasBlockPickabilities(self):
        """
        V.HasBlockPickabilities() -> bool
        C++: bool HasBlockPickabilities()
        
        Returns true if any block has any block pickability is set.
        """
        ...
    
    def HasBlockPickability(self, vtkDataObject):
        """
        V.HasBlockPickability(vtkDataObject) -> bool
        C++: bool HasBlockPickability(vtkDataObject *data_object)
        
        Returns true if the block with the given data_object has a
        pickability set.
        """
        ...
    
    def HasBlockVisibilities(self):
        """
        V.HasBlockVisibilities() -> bool
        C++: bool HasBlockVisibilities()
        
        Returns true if any block has any block visibility is set.
        """
        ...
    
    def HasBlockVisibility(self, vtkDataObject):
        """
        V.HasBlockVisibility(vtkDataObject) -> bool
        C++: bool HasBlockVisibility(vtkDataObject *data_object)
        
        Returns true if the block with the given data_object has a
        visibility set.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> 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.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> 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.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkCompositeDataDisplayAttributes
        C++: vtkCompositeDataDisplayAttributes *NewInstance()
        """
        ...
    
    def RemoveBlockColor(self, vtkDataObject):
        """
        V.RemoveBlockColor(vtkDataObject)
        C++: void RemoveBlockColor(vtkDataObject *data_object)
        
        Removes the block color for the block with data_object.
        """
        ...
    
    def RemoveBlockColors(self):
        """
        V.RemoveBlockColors()
        C++: void RemoveBlockColors()
        
        Removes all block colors.
        """
        ...
    
    def RemoveBlockMaterial(self, vtkDataObject):
        """
        V.RemoveBlockMaterial(vtkDataObject)
        C++: void RemoveBlockMaterial(vtkDataObject *data_object)
        
        Removes the set material for the block with data_object.
        """
        ...
    
    def RemoveBlockMaterials(self):
        """
        V.RemoveBlockMaterials()
        C++: void RemoveBlockMaterials()
        
        Removes all block materialss.
        """
        ...
    
    def RemoveBlockOpacities(self):
        """
        V.RemoveBlockOpacities()
        C++: void RemoveBlockOpacities()
        
        Removes all block opacities.
        """
        ...
    
    def RemoveBlockOpacity(self, vtkDataObject):
        """
        V.RemoveBlockOpacity(vtkDataObject)
        C++: void RemoveBlockOpacity(vtkDataObject *data_object)
        
        Removes the set opacity for the block with data_object.
        """
        ...
    
    def RemoveBlockPickabilities(self):
        """
        V.RemoveBlockPickabilities()
        C++: void RemoveBlockPickabilities()
        
        Removes all block pickability flags. This effectively sets the
        pickability for all blocks to true.
        """
        ...
    
    def RemoveBlockPickability(self, vtkDataObject):
        """
        V.RemoveBlockPickability(vtkDataObject)
        C++: void RemoveBlockPickability(vtkDataObject *data_object)
        
        Removes the block pickability flag for the block with
        data_object.
        """
        ...
    
    def RemoveBlockVisibilites(self):
        """
        V.RemoveBlockVisibilites()
        C++: void RemoveBlockVisibilites()
        """
        ...
    
    def RemoveBlockVisibilities(self):
        """
        V.RemoveBlockVisibilities()
        C++: void RemoveBlockVisibilities()
        
        Removes all block visibility flags. This effectively sets the
        visibility for all blocks to true.
        """
        ...
    
    def RemoveBlockVisibility(self, vtkDataObject):
        """
        V.RemoveBlockVisibility(vtkDataObject)
        C++: void RemoveBlockVisibility(vtkDataObject *data_object)
        
        Removes the block visibility flag for the block with data_object.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkCompositeDataDisplayAttributes
        C++: static vtkCompositeDataDisplayAttributes *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetBlockColor(self, vtkDataObject, ):
        """
        V.SetBlockColor(vtkDataObject, (float, float, float))
        C++: void SetBlockColor(vtkDataObject *data_object,
            const double color[3])
        
        Set/get the color for the block with data_object.
        """
        ...
    
    def SetBlockMaterial(self, vtkDataObject, string):
        """
        V.SetBlockMaterial(vtkDataObject, string)
        C++: void SetBlockMaterial(vtkDataObject *data_object,
            const std::string &material)
        
        Set/get the material for the block with data_object. Only
        rendering backends that support advanced materials need to
        respect these.
        """
        ...
    
    def SetBlockOpacity(self, vtkDataObject, p_float):
        """
        V.SetBlockOpacity(vtkDataObject, float)
        C++: void SetBlockOpacity(vtkDataObject *data_object,
            double opacity)
        
        Set/get the opacity for the block with data_object.
        """
        ...
    
    def SetBlockPickability(self, vtkDataObject, bool):
        """
        V.SetBlockPickability(vtkDataObject, bool)
        C++: void SetBlockPickability(vtkDataObject *data_object,
            bool visible)
        
        Set/get the pickability for the block with data_object.
        """
        ...
    
    def SetBlockVisibility(self, vtkDataObject, bool):
        """
        V.SetBlockVisibility(vtkDataObject, bool)
        C++: void SetBlockVisibility(vtkDataObject *data_object,
            bool visible)
        
        Set/get the visibility for the block with data_object.
        """
        ...
    
    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__ = ...


