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

from .vtkImageProcessingPass import vtkImageProcessingPass

class vtkPanoramicProjectionPass(vtkImageProcessingPass):
    """
    vtkPanoramicProjectionPass - Render pass that render the scene in a
    cubemap and project these six renderings to a single quad.
    
    Superclass: vtkImageProcessingPass
    
    There are currently two different projections implemented
    (Equirectangular and Azimuthal). This pass can be used to produce
    images that can be visualize with specific devices that re-maps the
    distorted image to a panoramic view (for instance VR headsets, domes,
    panoramic screens)
    
    Note that it is often necessary to disable frustum cullers in order
    to render properly objects that are behind the camera.
    
    @sa
    vtkRenderPass
    """
    def GetAngle(self):
        """
        V.GetAngle() -> float
        C++: virtual double GetAngle()
        
        Get/Set the vertical angle of projection. 180 degrees is a half
        sphere, 360 degrees is a full sphere, but any values in the range
        (90;360) can be set. Default is 180 degrees.
        """
        ...
    
    def GetAngleMaxValue(self):
        """
        V.GetAngleMaxValue() -> float
        C++: virtual double GetAngleMaxValue()
        
        Get/Set the vertical angle of projection. 180 degrees is a half
        sphere, 360 degrees is a full sphere, but any values in the range
        (90;360) can be set. Default is 180 degrees.
        """
        ...
    
    def GetAngleMinValue(self):
        """
        V.GetAngleMinValue() -> float
        C++: virtual double GetAngleMinValue()
        
        Get/Set the vertical angle of projection. 180 degrees is a half
        sphere, 360 degrees is a full sphere, but any values in the range
        (90;360) can be set. Default is 180 degrees.
        """
        ...
    
    def GetCubeResolution(self):
        """
        V.GetCubeResolution() -> int
        C++: virtual unsigned int GetCubeResolution()
        
        Get/Set the cubemap textures resolution used to render
        (offscreen) all directions. Default is 300.
        """
        ...
    
    def GetInterpolate(self):
        """
        V.GetInterpolate() -> bool
        C++: virtual bool GetInterpolate()
        
        Get/Set the interpolation mode. If true, the projection of the
        cubemap use hardware interpolation. Default is off.
        """
        ...
    
    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 GetProjectionType(self):
        """
        V.GetProjectionType() -> int
        C++: virtual int GetProjectionType()
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    def GetProjectionTypeMaxValue(self):
        """
        V.GetProjectionTypeMaxValue() -> int
        C++: virtual int GetProjectionTypeMaxValue()
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    def GetProjectionTypeMinValue(self):
        """
        V.GetProjectionTypeMinValue() -> int
        C++: virtual int GetProjectionTypeMinValue()
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    def InterpolateOff(self):
        """
        V.InterpolateOff()
        C++: virtual void InterpolateOff()
        
        Get/Set the interpolation mode. If true, the projection of the
        cubemap use hardware interpolation. Default is off.
        """
        ...
    
    def InterpolateOn(self):
        """
        V.InterpolateOn()
        C++: virtual void InterpolateOn()
        
        Get/Set the interpolation mode. If true, the projection of the
        cubemap use hardware interpolation. Default is off.
        """
        ...
    
    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() -> vtkPanoramicProjectionPass
        C++: vtkPanoramicProjectionPass *NewInstance()
        """
        ...
    
    def ReleaseGraphicsResources(self, vtkWindow):
        """
        V.ReleaseGraphicsResources(vtkWindow)
        C++: void ReleaseGraphicsResources(vtkWindow *w) override;
        
        Release graphics resources and ask components to release their
        own resources.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkPanoramicProjectionPass
        C++: static vtkPanoramicProjectionPass *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetAngle(self, p_float):
        """
        V.SetAngle(float)
        C++: virtual void SetAngle(double _arg)
        
        Get/Set the vertical angle of projection. 180 degrees is a half
        sphere, 360 degrees is a full sphere, but any values in the range
        (90;360) can be set. Default is 180 degrees.
        """
        ...
    
    def SetCubeResolution(self, p_int):
        """
        V.SetCubeResolution(int)
        C++: virtual void SetCubeResolution(unsigned int _arg)
        
        Get/Set the cubemap textures resolution used to render
        (offscreen) all directions. Default is 300.
        """
        ...
    
    def SetInterpolate(self, bool):
        """
        V.SetInterpolate(bool)
        C++: virtual void SetInterpolate(bool _arg)
        
        Get/Set the interpolation mode. If true, the projection of the
        cubemap use hardware interpolation. Default is off.
        """
        ...
    
    def SetProjectionType(self, p_int):
        """
        V.SetProjectionType(int)
        C++: virtual void SetProjectionType(int _arg)
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    def SetProjectionTypeToAzimuthal(self):
        """
        V.SetProjectionTypeToAzimuthal()
        C++: void SetProjectionTypeToAzimuthal()
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    def SetProjectionTypeToEquirectangular(self):
        """
        V.SetProjectionTypeToEquirectangular()
        C++: void SetProjectionTypeToEquirectangular()
        
        Get/Set the type of projection. Equirectangular projection maps
        meridians to vertical straight lines and circles of latitude to
        horizontal straight lines. Azimuthal equidistant projection maps
        all points of the scene based on their distance to the view
        direction. This projection produces a fisheye effect. Default is
        Equirectangular.
        """
        ...
    
    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__ = ...
    Azimuthal = ...
    Equirectangular = ...
    __dict__ = ...
    __vtkname__ = ...


