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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore

class vtkWindowLevelLookupTable(__vtkmodules_vtkCommonCore.vtkLookupTable):
    """
    vtkWindowLevelLookupTable - map scalar values into colors or colors
    to scalars; generate color table
    
    Superclass: vtkLookupTable
    
    vtkWindowLevelLookupTable is an object that is used by mapper objects
    to map scalar values into rgba (red-green-blue-alpha transparency)
    color specification, or rgba into scalar values. The color table can
    be created by direct insertion of color values, or by specifying a
    window and level. Window / Level is used in medical imaging to
    specify a linear greyscale ramp. The Level is the center of the ramp.
     The Window is the width of the ramp.
    
    @warning
    vtkWindowLevelLookupTable is a reference counted object. Therefore,
    you should always use operator "new" to construct new objects. This
    procedure will avoid memory problems (see text).
    
    @sa
    vtkLogLookupTable
    """
    def Build(self):
        """
        V.Build()
        C++: void Build() override;
        
        Generate lookup table as a linear ramp between MinimumTableValue
        and MaximumTableValue.
        """
        ...
    
    def GetInverseVideo(self):
        """
        V.GetInverseVideo() -> int
        C++: virtual vtkTypeBool GetInverseVideo()
        
        Set inverse video on or off.  You can achieve the same effect by
        switching the MinimumTableValue and the MaximumTableValue.
        """
        ...
    
    def GetLevel(self):
        """
        V.GetLevel() -> float
        C++: virtual double GetLevel()
        
        Set the Level for the lookup table.  The level is the average of
        TableRange[0] and TableRange[1].
        """
        ...
    
    def GetMaximumTableValue(self):
        """
        V.GetMaximumTableValue() -> (float, float, float, float)
        C++: virtual double *GetMaximumTableValue()
        
        Set the maximum table value. All lookup table entries above the
        end of the ramp will be set to this color.  After you change this
        value, you must re-build the lookup table.
        """
        ...
    
    def GetMinimumTableValue(self):
        """
        V.GetMinimumTableValue() -> (float, float, float, float)
        C++: virtual double *GetMinimumTableValue()
        
        Set the minimum table value.  All lookup table entries below the
        start of the ramp will be set to this color.  After you change
        this value, you must re-build the lookup table.
        """
        ...
    
    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 GetWindow(self):
        """
        V.GetWindow() -> float
        C++: virtual double GetWindow()
        
        Set the window for the lookup table.  The window is the
        difference between TableRange[0] and TableRange[1].
        """
        ...
    
    def InverseVideoOff(self):
        """
        V.InverseVideoOff()
        C++: virtual void InverseVideoOff()
        
        Set inverse video on or off.  You can achieve the same effect by
        switching the MinimumTableValue and the MaximumTableValue.
        """
        ...
    
    def InverseVideoOn(self):
        """
        V.InverseVideoOn()
        C++: virtual void InverseVideoOn()
        
        Set inverse video on or off.  You can achieve the same effect by
        switching the MinimumTableValue and the MaximumTableValue.
        """
        ...
    
    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() -> vtkWindowLevelLookupTable
        C++: vtkWindowLevelLookupTable *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkWindowLevelLookupTable
        C++: static vtkWindowLevelLookupTable *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetInverseVideo(self, p_int):
        """
        V.SetInverseVideo(int)
        C++: void SetInverseVideo(vtkTypeBool iv)
        
        Set inverse video on or off.  You can achieve the same effect by
        switching the MinimumTableValue and the MaximumTableValue.
        """
        ...
    
    def SetLevel(self, p_float):
        """
        V.SetLevel(float)
        C++: void SetLevel(double level)
        
        Set the Level for the lookup table.  The level is the average of
        TableRange[0] and TableRange[1].
        """
        ...
    
    def SetMaximumTableValue(self, p_float, p_float_1, p_float_2, p_float_3):
        """
        V.SetMaximumTableValue(float, float, float, float)
        C++: virtual void SetMaximumTableValue(double _arg1, double _arg2,
             double _arg3, double _arg4)
        V.SetMaximumTableValue((float, float, float, float))
        C++: virtual void SetMaximumTableValue(const double _arg[4])
        
        Set the maximum table value. All lookup table entries above the
        end of the ramp will be set to this color.  After you change this
        value, you must re-build the lookup table.
        """
        ...
    
    def SetMinimumTableValue(self, p_float, p_float_1, p_float_2, p_float_3):
        """
        V.SetMinimumTableValue(float, float, float, float)
        C++: virtual void SetMinimumTableValue(double _arg1, double _arg2,
             double _arg3, double _arg4)
        V.SetMinimumTableValue((float, float, float, float))
        C++: virtual void SetMinimumTableValue(const double _arg[4])
        
        Set the minimum table value.  All lookup table entries below the
        start of the ramp will be set to this color.  After you change
        this value, you must re-build the lookup table.
        """
        ...
    
    def SetWindow(self, p_float):
        """
        V.SetWindow(float)
        C++: void SetWindow(double window)
        
        Set the window for the lookup table.  The window is the
        difference between TableRange[0] and TableRange[1].
        """
        ...
    
    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__ = ...


