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

from .vtkContourLineInterpolator import vtkContourLineInterpolator

class vtkBezierContourLineInterpolator(vtkContourLineInterpolator):
    """
    vtkBezierContourLineInterpolator - Interpolates supplied nodes with
    bezier line segments
    
    Superclass: vtkContourLineInterpolator
    
    The line interpolator interpolates supplied nodes (see
    InterpolateLine) with Bezier line segments. The fitness of the curve
    may be controlled using SetMaximumCurveError and
    SetMaximumNumberOfLineSegments.
    
    @sa
    vtkContourLineInterpolator
    """
    def GetMaximumCurveError(self):
        """
        V.GetMaximumCurveError() -> float
        C++: virtual double GetMaximumCurveError()
        
        The difference between a line segment connecting two points and
        the curve connecting the same points. In the limit of the length
        of the curve dx -> 0, the two values will be the same. The
        smaller this number, the finer the bezier curve will be
        interpolated. Default is 0.005
        """
        ...
    
    def GetMaximumCurveErrorMaxValue(self):
        """
        V.GetMaximumCurveErrorMaxValue() -> float
        C++: virtual double GetMaximumCurveErrorMaxValue()
        
        The difference between a line segment connecting two points and
        the curve connecting the same points. In the limit of the length
        of the curve dx -> 0, the two values will be the same. The
        smaller this number, the finer the bezier curve will be
        interpolated. Default is 0.005
        """
        ...
    
    def GetMaximumCurveErrorMinValue(self):
        """
        V.GetMaximumCurveErrorMinValue() -> float
        C++: virtual double GetMaximumCurveErrorMinValue()
        
        The difference between a line segment connecting two points and
        the curve connecting the same points. In the limit of the length
        of the curve dx -> 0, the two values will be the same. The
        smaller this number, the finer the bezier curve will be
        interpolated. Default is 0.005
        """
        ...
    
    def GetMaximumCurveLineSegments(self):
        """
        V.GetMaximumCurveLineSegments() -> int
        C++: virtual int GetMaximumCurveLineSegments()
        
        Maximum number of bezier line segments between two nodes. Larger
        values create a finer interpolation. Default is 100.
        """
        ...
    
    def GetMaximumCurveLineSegmentsMaxValue(self):
        """
        V.GetMaximumCurveLineSegmentsMaxValue() -> int
        C++: virtual int GetMaximumCurveLineSegmentsMaxValue()
        
        Maximum number of bezier line segments between two nodes. Larger
        values create a finer interpolation. Default is 100.
        """
        ...
    
    def GetMaximumCurveLineSegmentsMinValue(self):
        """
        V.GetMaximumCurveLineSegmentsMinValue() -> int
        C++: virtual int GetMaximumCurveLineSegmentsMinValue()
        
        Maximum number of bezier line segments between two nodes. Larger
        values create a finer interpolation. Default is 100.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instances of this class.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instances of this class.
        """
        ...
    
    def GetSpan(self, p_int, vtkIntArray, vtkContourRepresentation):
        """
        V.GetSpan(int, vtkIntArray, vtkContourRepresentation)
        C++: void GetSpan(int nodeIndex, vtkIntArray *nodeIndices,
            vtkContourRepresentation *rep) override;
        
        Span of the interpolator, i.e. the number of control points it's
        supposed to interpolate given a node.
        
        * The first argument is the current nodeIndex.
        * i.e., you'd be trying to interpolate between nodes "nodeIndex"
          and
        * "nodeIndex-1", unless you're closing the contour, in which case
          you're
        * trying to interpolate "nodeIndex" and "Node=0". The node span
          is
        * returned in a vtkIntArray.
        
        * The node span is returned in a vtkIntArray. The node span
          returned by
        * this interpolator will be a 2-tuple with a span of 4.
        """
        ...
    
    def InterpolateLine(self, vtkRenderer, vtkContourRepresentation, p_int, p_int_1):
        """
        V.InterpolateLine(vtkRenderer, vtkContourRepresentation, int, int)
             -> int
        C++: int InterpolateLine(vtkRenderer *ren,
            vtkContourRepresentation *rep, int idx1, int idx2) override;
        
        Subclasses that wish to interpolate a line segment must implement
        this. For instance vtkBezierContourLineInterpolator adds nodes
        between idx1 and idx2, that allow the contour to adhere to a
        bezier curve.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instances of this class.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instances of this class.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkBezierContourLineInterpolator
        C++: vtkBezierContourLineInterpolator *NewInstance()
        
        Standard methods for instances of this class.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkBezierContourLineInterpolator
        C++: static vtkBezierContourLineInterpolator *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for instances of this class.
        """
        ...
    
    def SetMaximumCurveError(self, p_float):
        """
        V.SetMaximumCurveError(float)
        C++: virtual void SetMaximumCurveError(double _arg)
        
        The difference between a line segment connecting two points and
        the curve connecting the same points. In the limit of the length
        of the curve dx -> 0, the two values will be the same. The
        smaller this number, the finer the bezier curve will be
        interpolated. Default is 0.005
        """
        ...
    
    def SetMaximumCurveLineSegments(self, p_int):
        """
        V.SetMaximumCurveLineSegments(int)
        C++: virtual void SetMaximumCurveLineSegments(int _arg)
        
        Maximum number of bezier line segments between two nodes. Larger
        values create a finer interpolation. Default is 100.
        """
        ...
    
    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__ = ...


