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

from .vtkMapper import vtkMapper

class vtkLabeledContourMapper(vtkMapper):
    """
    vtkLabeledContourMapper - Draw labeled isolines.
    
    Superclass: vtkMapper
    
    Draw isolines with 3D inline labels.
    
    The lines in the input polydata will be drawn with labels displaying
    the scalar value.
    
    For this mapper to function properly, stenciling must be enabled in
    the render window (it is disabled by default). Otherwise the lines
    will be drawn through the labels.
    """
    def GetBounds(self):
        """
        V.GetBounds() -> (float, float, float, float, float, float)
        C++: double *GetBounds() override;
        V.GetBounds([float, float, float, float, float, float])
        C++: void GetBounds(double bounds[6]) override;
        
        Return bounding box (array of six doubles) of data expressed as
        (xmin,xmax, ymin,ymax, zmin,zmax).
        """
        ...
    
    def GetInput(self):
        """
        V.GetInput() -> vtkPolyData
        C++: vtkPolyData *GetInput()
        
        Specify the input data to map.
        """
        ...
    
    def GetLabelVisibility(self):
        """
        V.GetLabelVisibility() -> bool
        C++: virtual bool GetLabelVisibility()
        
        If true, labels will be placed and drawn during rendering.
        Otherwise, only the mapper returned by GetPolyDataMapper() will
        be rendered. The default is to draw labels.
        """
        ...
    
    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 GetPolyDataMapper(self):
        """
        V.GetPolyDataMapper() -> vtkPolyDataMapper
        C++: virtual vtkPolyDataMapper *GetPolyDataMapper()
        
        The polydata mapper used to render the contours.
        """
        ...
    
    def GetSkipDistance(self):
        """
        V.GetSkipDistance() -> float
        C++: virtual double GetSkipDistance()
        
        Ensure that there are at least SkipDistance pixels between
        labels. This is only enforced on labels along the same line. The
        default is 0.
        """
        ...
    
    def GetTextProperties(self):
        """
        V.GetTextProperties() -> vtkTextPropertyCollection
        C++: virtual vtkTextPropertyCollection *GetTextProperties()
        
        The text properties used to label the lines. Note that both
        vertical and horizontal justifications will be reset to
        "Centered" prior to rendering.
        
        * If the TextPropertyMapping array exists, then it is used to
          identify which
        * text property to use for each label as follows: If the scalar
          value of a
        * line is found in the mapping, the index of the value in mapping
        is used to
        * lookup the text property in the collection. If there are more
          mapping
        * values than properties, the properties are looped through until
        the
        * mapping is exhausted.
        
        * Lines with scalar values missing from the mapping are assigned
          text
        * properties in a round-robin fashion starting from the beginning
        of the
        * collection, repeating from the start of the collection as
          necessary.
        * @sa SetTextProperty
        * @sa SetTextPropertyMapping
        """
        ...
    
    def GetTextPropertyMapping(self):
        """
        V.GetTextPropertyMapping() -> vtkDoubleArray
        C++: virtual vtkDoubleArray *GetTextPropertyMapping()
        
        Values in this array correspond to vtkTextProperty objects in the
        TextProperties collection. If a contour line's scalar value
        exists in this array, the corresponding text property is used for
        the label. See SetTextProperties for more information.
        """
        ...
    
    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 LabelVisibilityOff(self):
        """
        V.LabelVisibilityOff()
        C++: virtual void LabelVisibilityOff()
        
        If true, labels will be placed and drawn during rendering.
        Otherwise, only the mapper returned by GetPolyDataMapper() will
        be rendered. The default is to draw labels.
        """
        ...
    
    def LabelVisibilityOn(self):
        """
        V.LabelVisibilityOn()
        C++: virtual void LabelVisibilityOn()
        
        If true, labels will be placed and drawn during rendering.
        Otherwise, only the mapper returned by GetPolyDataMapper() will
        be rendered. The default is to draw labels.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkLabeledContourMapper
        C++: vtkLabeledContourMapper *NewInstance()
        """
        ...
    
    def ReleaseGraphicsResources(self, vtkWindow):
        """
        V.ReleaseGraphicsResources(vtkWindow)
        C++: void ReleaseGraphicsResources(vtkWindow *) override;
        
        Release any graphics resources that are being consumed by this
        mapper. The parameter window could be used to determine which
        graphic resources to release.
        """
        ...
    
    def Render(self, vtkRenderer, vtkActor):
        """
        V.Render(vtkRenderer, vtkActor)
        C++: void Render(vtkRenderer *ren, vtkActor *act) override;
        
        Method initiates the mapping process. Generally sent by the actor
        as each frame is rendered.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkLabeledContourMapper
        C++: static vtkLabeledContourMapper *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetInputData(self, vtkPolyData):
        """
        V.SetInputData(vtkPolyData)
        C++: void SetInputData(vtkPolyData *in)
        
        Specify the input data to map.
        """
        ...
    
    def SetLabelVisibility(self, bool):
        """
        V.SetLabelVisibility(bool)
        C++: virtual void SetLabelVisibility(bool _arg)
        
        If true, labels will be placed and drawn during rendering.
        Otherwise, only the mapper returned by GetPolyDataMapper() will
        be rendered. The default is to draw labels.
        """
        ...
    
    def SetSkipDistance(self, p_float):
        """
        V.SetSkipDistance(float)
        C++: virtual void SetSkipDistance(double _arg)
        
        Ensure that there are at least SkipDistance pixels between
        labels. This is only enforced on labels along the same line. The
        default is 0.
        """
        ...
    
    def SetTextProperties(self, vtkTextPropertyCollection):
        """
        V.SetTextProperties(vtkTextPropertyCollection)
        C++: virtual void SetTextProperties(
            vtkTextPropertyCollection *coll)
        
        The text properties used to label the lines. Note that both
        vertical and horizontal justifications will be reset to
        "Centered" prior to rendering.
        
        * If the TextPropertyMapping array exists, then it is used to
          identify which
        * text property to use for each label as follows: If the scalar
          value of a
        * line is found in the mapping, the index of the value in mapping
        is used to
        * lookup the text property in the collection. If there are more
          mapping
        * values than properties, the properties are looped through until
        the
        * mapping is exhausted.
        
        * Lines with scalar values missing from the mapping are assigned
          text
        * properties in a round-robin fashion starting from the beginning
        of the
        * collection, repeating from the start of the collection as
          necessary.
        * @sa SetTextProperty
        * @sa SetTextPropertyMapping
        """
        ...
    
    def SetTextProperty(self, vtkTextProperty):
        """
        V.SetTextProperty(vtkTextProperty)
        C++: virtual void SetTextProperty(vtkTextProperty *tprop)
        
        The text property used to label the lines. Note that both
        vertical and horizontal justifications will be reset to
        "Centered" prior to rendering.
        
        ote This is a convenience method that clears TextProperties and
        inserts the argument as the only property in the collection.
        @sa SetTextProperties
        """
        ...
    
    def SetTextPropertyMapping(self, vtkDoubleArray):
        """
        V.SetTextPropertyMapping(vtkDoubleArray)
        C++: virtual void SetTextPropertyMapping(vtkDoubleArray *mapping)
        
        Values in this array correspond to vtkTextProperty objects in the
        TextProperties collection. If a contour line's scalar value
        exists in this array, the corresponding text property is used for
        the label. See SetTextProperties for more information.
        """
        ...
    
    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__ = ...


