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

import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel

class vtkArcSource(__vtkmodules_vtkCommonExecutionModel.vtkPolyDataAlgorithm):
    """
    vtkArcSource - create a circular arc
    
    Superclass: vtkPolyDataAlgorithm
    
    vtkArcSource is a source object that creates an arc defined by two
    endpoints and a center. The number of segments composing the polyline
    is controlled by setting the object resolution. Alternatively, one
    can use a better API (that does not allow for inconsistent nor
    ambiguous inputs), using a starting point (polar vector, measured
    from the arc's center), a normal to the plane of the arc, and an
    angle defining the arc length. Since the default API remains the
    original one, in order to use the improved API, one must switch the
    UseNormalAndAngle flag to TRUE.
    
    The development of an improved, consistent API (based on point,
    normal, and angle) was supported by CEA/DIF - Commissariat a
    l'Energie Atomique, Centre DAM Ile-De-France, BP12, F-91297 Arpajon,
    France, and implemented by Philippe Pebay, Kitware SAS 2012.
    
    @sa
    vtkEllipseArcSource
    """
    def GetAngle(self):
        """
        V.GetAngle() -> float
        C++: virtual double GetAngle()
        
        Arc length (in degrees), beginning at the polar vector. The
        direction is counterclockwise by default; a negative value draws
        the arc in the clockwise direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    def GetAngleMaxValue(self):
        """
        V.GetAngleMaxValue() -> float
        C++: virtual double GetAngleMaxValue()
        
        Arc length (in degrees), beginning at the polar vector. The
        direction is counterclockwise by default; a negative value draws
        the arc in the clockwise direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    def GetAngleMinValue(self):
        """
        V.GetAngleMinValue() -> float
        C++: virtual double GetAngleMinValue()
        
        Arc length (in degrees), beginning at the polar vector. The
        direction is counterclockwise by default; a negative value draws
        the arc in the clockwise direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    def GetCenter(self):
        """
        V.GetCenter() -> (float, float, float)
        C++: virtual double *GetCenter()
        
        Set position of the center of the circle that defines the arc.
        Note: you can use the function vtkMath::Solve3PointCircle to find
        the center from 3 points located on a circle.
        """
        ...
    
    def GetNegative(self):
        """
        V.GetNegative() -> bool
        C++: virtual bool GetNegative()
        
        By default the arc spans the shortest angular sector point1 and
        point2. By setting this to true, the longest angular sector is
        used instead (i.e. the negative coterminal angle to the shortest
        one). Note: This is only used when UseNormalAndAngle is OFF.
        False by default.
        """
        ...
    
    def GetNormal(self):
        """
        V.GetNormal() -> (float, float, float)
        C++: virtual double *GetNormal()
        
        Set the normal vector to the plane of the arc. By default it
        points in the positive Z direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    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 GetPoint1(self):
        """
        V.GetPoint1() -> (float, float, float)
        C++: virtual double *GetPoint1()
        
        Set position of the first end point.
        """
        ...
    
    def GetPoint2(self):
        """
        V.GetPoint2() -> (float, float, float)
        C++: virtual double *GetPoint2()
        
        Set position of the other end point.
        """
        ...
    
    def GetPolarVector(self):
        """
        V.GetPolarVector() -> (float, float, float)
        C++: virtual double *GetPolarVector()
        
        Set polar vector (starting point of the arc). By default it is
        the unit vector in the positive X direction. Note: This is only
        used when UseNormalAndAngle is ON.
        """
        ...
    
    def GetResolution(self):
        """
        V.GetResolution() -> int
        C++: virtual int GetResolution()
        
        Define the number of segments of the polyline that draws the arc.
        Note: if the resolution is set to 1 (the default value), the arc
        is drawn as a straight line.
        """
        ...
    
    def GetResolutionMaxValue(self):
        """
        V.GetResolutionMaxValue() -> int
        C++: virtual int GetResolutionMaxValue()
        
        Define the number of segments of the polyline that draws the arc.
        Note: if the resolution is set to 1 (the default value), the arc
        is drawn as a straight line.
        """
        ...
    
    def GetResolutionMinValue(self):
        """
        V.GetResolutionMinValue() -> int
        C++: virtual int GetResolutionMinValue()
        
        Define the number of segments of the polyline that draws the arc.
        Note: if the resolution is set to 1 (the default value), the arc
        is drawn as a straight line.
        """
        ...
    
    def GetUseNormalAndAngle(self):
        """
        V.GetUseNormalAndAngle() -> bool
        C++: virtual bool GetUseNormalAndAngle()
        
        Activate the API based on a normal vector, a starting point
        (polar vector) and an angle defining the arc length. The previous
        API (which remains the default) allows for inputs that are
        inconsistent (when Point1 and Point2 are not equidistant from
        Center) or ambiguous (when Point1, Point2, and Center are
        aligned). Note: false by default.
        """
        ...
    
    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 NegativeOff(self):
        """
        V.NegativeOff()
        C++: virtual void NegativeOff()
        
        By default the arc spans the shortest angular sector point1 and
        point2. By setting this to true, the longest angular sector is
        used instead (i.e. the negative coterminal angle to the shortest
        one). Note: This is only used when UseNormalAndAngle is OFF.
        False by default.
        """
        ...
    
    def NegativeOn(self):
        """
        V.NegativeOn()
        C++: virtual void NegativeOn()
        
        By default the arc spans the shortest angular sector point1 and
        point2. By setting this to true, the longest angular sector is
        used instead (i.e. the negative coterminal angle to the shortest
        one). Note: This is only used when UseNormalAndAngle is OFF.
        False by default.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkArcSource
        C++: vtkArcSource *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkArcSource
        C++: static vtkArcSource *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAngle(self, p_float):
        """
        V.SetAngle(float)
        C++: virtual void SetAngle(double _arg)
        
        Arc length (in degrees), beginning at the polar vector. The
        direction is counterclockwise by default; a negative value draws
        the arc in the clockwise direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    def SetCenter(self, p_float, p_float_1, p_float_2):
        """
        V.SetCenter(float, float, float)
        C++: virtual void SetCenter(double _arg1, double _arg2,
            double _arg3)
        V.SetCenter((float, float, float))
        C++: virtual void SetCenter(const double _arg[3])
        
        Set position of the center of the circle that defines the arc.
        Note: you can use the function vtkMath::Solve3PointCircle to find
        the center from 3 points located on a circle.
        """
        ...
    
    def SetNegative(self, bool):
        """
        V.SetNegative(bool)
        C++: virtual void SetNegative(bool _arg)
        
        By default the arc spans the shortest angular sector point1 and
        point2. By setting this to true, the longest angular sector is
        used instead (i.e. the negative coterminal angle to the shortest
        one). Note: This is only used when UseNormalAndAngle is OFF.
        False by default.
        """
        ...
    
    def SetNormal(self, p_float, p_float_1, p_float_2):
        """
        V.SetNormal(float, float, float)
        C++: virtual void SetNormal(double _arg1, double _arg2,
            double _arg3)
        V.SetNormal((float, float, float))
        C++: virtual void SetNormal(const double _arg[3])
        
        Set the normal vector to the plane of the arc. By default it
        points in the positive Z direction. Note: This is only used when
        UseNormalAndAngle is ON.
        """
        ...
    
    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 SetPoint1(self, p_float, p_float_1, p_float_2):
        """
        V.SetPoint1(float, float, float)
        C++: virtual void SetPoint1(double _arg1, double _arg2,
            double _arg3)
        V.SetPoint1((float, float, float))
        C++: virtual void SetPoint1(const double _arg[3])
        
        Set position of the first end point.
        """
        ...
    
    def SetPoint2(self, p_float, p_float_1, p_float_2):
        """
        V.SetPoint2(float, float, float)
        C++: virtual void SetPoint2(double _arg1, double _arg2,
            double _arg3)
        V.SetPoint2((float, float, float))
        C++: virtual void SetPoint2(const double _arg[3])
        
        Set position of the other end point.
        """
        ...
    
    def SetPolarVector(self, p_float, p_float_1, p_float_2):
        """
        V.SetPolarVector(float, float, float)
        C++: virtual void SetPolarVector(double _arg1, double _arg2,
            double _arg3)
        V.SetPolarVector((float, float, float))
        C++: virtual void SetPolarVector(const double _arg[3])
        
        Set polar vector (starting point of the arc). By default it is
        the unit vector in the positive X direction. Note: This is only
        used when UseNormalAndAngle is ON.
        """
        ...
    
    def SetResolution(self, p_int):
        """
        V.SetResolution(int)
        C++: virtual void SetResolution(int _arg)
        
        Define the number of segments of the polyline that draws the arc.
        Note: if the resolution is set to 1 (the default value), the arc
        is drawn as a straight line.
        """
        ...
    
    def SetUseNormalAndAngle(self, bool):
        """
        V.SetUseNormalAndAngle(bool)
        C++: virtual void SetUseNormalAndAngle(bool _arg)
        
        Activate the API based on a normal vector, a starting point
        (polar vector) and an angle defining the arc length. The previous
        API (which remains the default) allows for inputs that are
        inconsistent (when Point1 and Point2 are not equidistant from
        Center) or ambiguous (when Point1, Point2, and Center are
        aligned). Note: false by default.
        """
        ...
    
    def UseNormalAndAngleOff(self):
        """
        V.UseNormalAndAngleOff()
        C++: virtual void UseNormalAndAngleOff()
        
        Activate the API based on a normal vector, a starting point
        (polar vector) and an angle defining the arc length. The previous
        API (which remains the default) allows for inputs that are
        inconsistent (when Point1 and Point2 are not equidistant from
        Center) or ambiguous (when Point1, Point2, and Center are
        aligned). Note: false by default.
        """
        ...
    
    def UseNormalAndAngleOn(self):
        """
        V.UseNormalAndAngleOn()
        C++: virtual void UseNormalAndAngleOn()
        
        Activate the API based on a normal vector, a starting point
        (polar vector) and an angle defining the arc length. The previous
        API (which remains the default) allows for inputs that are
        inconsistent (when Point1 and Point2 are not equidistant from
        Center) or ambiguous (when Point1, Point2, and Center are
        aligned). Note: false by default.
        """
        ...
    
    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__ = ...


