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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkFrustumSource(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkFrustumSource - create a polygonal representation of a frustum
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkFrustumSource creates a frustum defines by a set of planes. The
    frustum is represented with four-sided polygons. It is possible to
    specify extra lines to better visualize the field of view.
    
    @par Usage: Typical use consists of 3 steps:
    1. get the planes coefficients from a vtkCamera with
       vtkCamera::GetFrustumPlanes()
    2. initialize the planes with vtkPlanes::SetFrustumPlanes() with the
       planes coefficients
    3. pass the vtkPlanes to a vtkFrustumSource.
    """
    def GetLinesLength(self):
        """
        V.GetLinesLength() -> float
        C++: virtual double GetLinesLength()
        
        Length of the extra lines. This a stricly positive value. Initial
        value is 1.0.
        """
        ...
    
    def GetMTime(self):
        """
        V.GetMTime() -> int
        C++: vtkMTimeType GetMTime() override;
        
        Modified GetMTime because of Planes.
        """
        ...
    
    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 GetOutputPointsPrecision(self):
        """
        V.GetOutputPointsPrecision() -> int
        C++: virtual int GetOutputPointsPrecision()
        
        Set/get the desired precision for the output points.
        vtkAlgorithm::SINGLE_PRECISION - Output single-precision floating
        point. vtkAlgorithm::DOUBLE_PRECISION - Output double-precision
        floating point.
        """
        ...
    
    def GetPlanes(self):
        """
        V.GetPlanes() -> vtkPlanes
        C++: virtual vtkPlanes *GetPlanes()
        
        Return the 6 planes defining the frustum. Initial value is
        nullptr. The 6 planes are defined in this order:
        left,right,bottom,top,far,near. If Planes==nullptr or if
        Planes->GetNumberOfPlanes()!=6 when RequestData() is called, an
        error message will be emitted and RequestData() will return right
        away.
        """
        ...
    
    def GetShowLines(self):
        """
        V.GetShowLines() -> bool
        C++: virtual bool GetShowLines()
        
        Tells if some extra lines will be generated. Initial value is
        true.
        """
        ...
    
    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() -> vtkFrustumSource
        C++: vtkFrustumSource *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkFrustumSource
        C++: static vtkFrustumSource *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetLinesLength(self, p_float):
        """
        V.SetLinesLength(float)
        C++: virtual void SetLinesLength(double _arg)
        
        Length of the extra lines. This a stricly positive value. Initial
        value is 1.0.
        """
        ...
    
    def SetOutputPointsPrecision(self, p_int):
        """
        V.SetOutputPointsPrecision(int)
        C++: virtual void SetOutputPointsPrecision(int _arg)
        
        Set/get the desired precision for the output points.
        vtkAlgorithm::SINGLE_PRECISION - Output single-precision floating
        point. vtkAlgorithm::DOUBLE_PRECISION - Output double-precision
        floating point.
        """
        ...
    
    def SetPlanes(self, vtkPlanes):
        """
        V.SetPlanes(vtkPlanes)
        C++: virtual void SetPlanes(vtkPlanes *planes)
        
        Set the 6 planes defining the frustum.
        """
        ...
    
    def SetShowLines(self, bool):
        """
        V.SetShowLines(bool)
        C++: virtual void SetShowLines(bool _arg)
        
        Tells if some extra lines will be generated. Initial value is
        true.
        """
        ...
    
    def ShowLinesOff(self):
        """
        V.ShowLinesOff()
        C++: virtual void ShowLinesOff()
        
        Tells if some extra lines will be generated. Initial value is
        true.
        """
        ...
    
    def ShowLinesOn(self):
        """
        V.ShowLinesOn()
        C++: virtual void ShowLinesOn()
        
        Tells if some extra lines will be generated. Initial value is
        true.
        """
        ...
    
    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__ = ...


