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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkLinearExtrusionFilter(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkLinearExtrusionFilter - sweep polygonal data creating a "skirt"
    from free edges and lines, and lines from vertices
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkLinearExtrusionFilter is a modeling filter. It takes polygonal
    data as input and generates polygonal data on output. The input
    dataset is swept according to some extrusion function and creates new
    polygonal primitives. These primitives form a "skirt" or swept
    surface. For example, sweeping a line results in a quadrilateral, and
    sweeping a triangle creates a "wedge".
    
    There are a number of control parameters for this filter. You can
    control whether the sweep of a 2D object (i.e., polygon or triangle
    strip) is capped with the generating geometry via the "Capping" ivar.
    Also, you can extrude in the direction of a user specified vector,
    towards a point, or in the direction of vertex normals (normals must
    be provided - use vtkPolyDataNormals if necessary). The amount of
    extrusion is controlled by the "ScaleFactor" instance variable.
    
    The skirt is generated by locating certain topological features. Free
    edges (edges of polygons or triangle strips only used by one polygon
    or triangle strips) generate surfaces. This is true also of lines or
    polylines. Vertices generate lines.
    
    This filter can be used to create 3D fonts, 3D irregular bar charts,
    or to model 2 1/2D objects like punched plates. It also can be used
    to create solid objects from 2D polygonal meshes.
    
    @warning
    Some polygonal objects have no free edges (e.g., sphere). When swept,
    this will result in two separate surfaces if capping is on, or no
    surface if capping is off.
    
    @sa
    vtkRotationalExtrusionFilter
    """
    def CappingOff(self):
        """
        V.CappingOff()
        C++: virtual void CappingOff()
        
        Turn on/off the capping of the skirt.
        """
        ...
    
    def CappingOn(self):
        """
        V.CappingOn()
        C++: virtual void CappingOn()
        
        Turn on/off the capping of the skirt.
        """
        ...
    
    def GetCapping(self):
        """
        V.GetCapping() -> int
        C++: virtual vtkTypeBool GetCapping()
        
        Turn on/off the capping of the skirt.
        """
        ...
    
    def GetExtrusionPoint(self):
        """
        V.GetExtrusionPoint() -> (float, float, float)
        C++: virtual double *GetExtrusionPoint()
        
        Set/Get extrusion point. Only needs to be set if PointExtrusion
        is turned on. This is the point towards which extrusion occurs.
        """
        ...
    
    def GetExtrusionType(self):
        """
        V.GetExtrusionType() -> int
        C++: virtual int GetExtrusionType()
        
        Set/Get the type of extrusion.
        """
        ...
    
    def GetExtrusionTypeMaxValue(self):
        """
        V.GetExtrusionTypeMaxValue() -> int
        C++: virtual int GetExtrusionTypeMaxValue()
        
        Set/Get the type of extrusion.
        """
        ...
    
    def GetExtrusionTypeMinValue(self):
        """
        V.GetExtrusionTypeMinValue() -> int
        C++: virtual int GetExtrusionTypeMinValue()
        
        Set/Get the type of extrusion.
        """
        ...
    
    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 GetScaleFactor(self):
        """
        V.GetScaleFactor() -> float
        C++: virtual double GetScaleFactor()
        
        Set/Get extrusion scale factor,
        """
        ...
    
    def GetVector(self):
        """
        V.GetVector() -> (float, float, float)
        C++: virtual double *GetVector()
        
        Set/Get extrusion vector. Only needs to be set if VectorExtrusion
        is turned on.
        """
        ...
    
    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() -> vtkLinearExtrusionFilter
        C++: vtkLinearExtrusionFilter *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkLinearExtrusionFilter
        C++: static vtkLinearExtrusionFilter *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetCapping(self, p_int):
        """
        V.SetCapping(int)
        C++: virtual void SetCapping(vtkTypeBool _arg)
        
        Turn on/off the capping of the skirt.
        """
        ...
    
    def SetExtrusionPoint(self, p_float, p_float_1, p_float_2):
        """
        V.SetExtrusionPoint(float, float, float)
        C++: virtual void SetExtrusionPoint(double _arg1, double _arg2,
            double _arg3)
        V.SetExtrusionPoint((float, float, float))
        C++: virtual void SetExtrusionPoint(const double _arg[3])
        
        Set/Get extrusion point. Only needs to be set if PointExtrusion
        is turned on. This is the point towards which extrusion occurs.
        """
        ...
    
    def SetExtrusionType(self, p_int):
        """
        V.SetExtrusionType(int)
        C++: virtual void SetExtrusionType(int _arg)
        
        Set/Get the type of extrusion.
        """
        ...
    
    def SetExtrusionTypeToNormalExtrusion(self):
        """
        V.SetExtrusionTypeToNormalExtrusion()
        C++: void SetExtrusionTypeToNormalExtrusion()
        
        Set/Get the type of extrusion.
        """
        ...
    
    def SetExtrusionTypeToPointExtrusion(self):
        """
        V.SetExtrusionTypeToPointExtrusion()
        C++: void SetExtrusionTypeToPointExtrusion()
        
        Set/Get the type of extrusion.
        """
        ...
    
    def SetExtrusionTypeToVectorExtrusion(self):
        """
        V.SetExtrusionTypeToVectorExtrusion()
        C++: void SetExtrusionTypeToVectorExtrusion()
        
        Set/Get the type of extrusion.
        """
        ...
    
    def SetScaleFactor(self, p_float):
        """
        V.SetScaleFactor(float)
        C++: virtual void SetScaleFactor(double _arg)
        
        Set/Get extrusion scale factor,
        """
        ...
    
    def SetVector(self, p_float, p_float_1, p_float_2):
        """
        V.SetVector(float, float, float)
        C++: virtual void SetVector(double _arg1, double _arg2,
            double _arg3)
        V.SetVector((float, float, float))
        C++: virtual void SetVector(const double _arg[3])
        
        Set/Get extrusion vector. Only needs to be set if VectorExtrusion
        is turned on.
        """
        ...
    
    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__ = ...


