# encoding: utf-8
# module vtkmodules.vtkInteractionWidgets
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkInteractionWidgets.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonExecutionModel as __vtkmodules_vtkCommonExecutionModel
import vtkmodules.vtkFiltersSources as __vtkmodules_vtkFiltersSources
import vtkmodules.vtkRenderingContext2D as __vtkmodules_vtkRenderingContext2D
import vtkmodules.vtkRenderingCore as __vtkmodules_vtkRenderingCore


from .vtk3DWidget import vtk3DWidget

class vtkBrokenLineWidget(vtk3DWidget):
    """
    vtkBrokenLineWidget - 3D widget for manipulating a broken line
    
    Superclass: vtk3DWidget
    
    This 3D widget defines a broken line that can be interactively placed
    in a scene. The broken line has handles, the number of which can be
    changed, plus it can be picked on the broken line itself to translate
    or rotate it in the scene. A nice feature of the object is that the
    vtkBrokenLineWidget, like any 3D widget, will work with the current
    interactor style. That is, if vtkBrokenLineWidget does not handle an
    event, then all other registered observers (including the interactor
    style) have an opportunity to process the event. Otherwise, the
    vtkBrokenLineWidget will terminate the processing of the event that
    it handles.
    
    To use this object, just invoke SetInteractor() with the argument of
    the method a vtkRenderWindowInteractor.  You may also wish to invoke
    "PlaceWidget()" to initially position the widget. The interactor will
    act normally until the "i" key (for "interactor") is pressed, at
    which point the vtkBrokenLineWidget will appear. (See superclass
    documentation for information about changing this behavior.) Events
    that occur outside of the widget (i.e., no part of the widget is
    picked) are propagated to any other registered obsevers (such as the
    interaction style).  Turn off the widget by pressing the "i" key
    again (or invoke the Off() method).
    
    The button actions and key modifiers are as follows for controlling
    the widget:
    1) left button down on and drag one of the spherical handles to
       change the shape of the broken line: the handles act as "control
       points".
    2) left button or middle button down on a line segment forming the
       broken line allows uniform translation of the widget.
    3) ctrl + middle button down on the widget enables spinning of the
       widget about its center.
    4) right button down on the widget enables scaling of the widget. By
       moving the mouse "up" the render window the broken line will be
       made bigger; by moving "down" the render window the widget will be
    made smaller.
    5) ctrl key + right button down on any handle will erase it providing
    there will be two or more points remaining to form a broken line.
    6) shift key + right button down on any line segment will insert a
       handle onto the broken line at the cursor position.
    
    The vtkBrokenLineWidget has several methods that can be used in
    conjunction with other VTK objects. The GetPolyData() method can be
    used to get the polygonal representation and can be used for things
    like seeding streamlines or probing other data sets. Typical usage of
    the widget is to make use of the StartInteractionEvent,
    InteractionEvent, and EndInteractionEvent events. The
    InteractionEvent is called on mouse motion; the other two events are
    called on button down and button up (either left or right button).
    
    Some additional features of this class include the ability to control
    the properties of the widget. You can set the properties of the
    selected and unselected representations of the broken line. For
    example, you can set the property for the handles and broken line. In
    addition there are methods to constrain the broken line so that it is
    aligned with a plane.  Note that a simple ruler widget can be derived
    by setting the resolution to 1, the number of handles to 2, and
    calling the GetSummedLength method!
    
    @par Thanks: This class was written by Philippe Pebay, Kitware SAS
    2012 This work was supported by CEA/DIF - Commissariat a l'Energie
    Atomique, Centre DAM Ile-De-France, BP12, F-91297 Arpajon, France.
    
    @sa
    vtk3DWidget vtkBoxWidget vtkLineWidget vtkPointWidget vtkSphereWidget
    vtkImagePlaneWidget vtkImplicitPlaneWidget vtkPlaneWidget
    """
    def GetHandlePosition(self, handle, xyz, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        GetHandlePosition(self, handle:int, xyz:[float, float, float])
            -> None
        C++: void GetHandlePosition(int handle, double xyz[3])
        GetHandlePosition(self, handle:int) -> Pointer
        C++: double *GetHandlePosition(int handle)
        """
        pass

    def GetHandleProperty(self): # real signature unknown; restored from __doc__
        """
        GetHandleProperty(self) -> vtkProperty
        C++: virtual vtkProperty *GetHandleProperty()
        """
        pass

    def GetHandleSizeFactor(self): # real signature unknown; restored from __doc__
        """
        GetHandleSizeFactor(self) -> float
        C++: virtual double GetHandleSizeFactor()
        """
        return 0.0

    def GetHandleSizeFactorMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetHandleSizeFactorMaxValue(self) -> float
        C++: virtual double GetHandleSizeFactorMaxValue()
        """
        return 0.0

    def GetHandleSizeFactorMinValue(self): # real signature unknown; restored from __doc__
        """
        GetHandleSizeFactorMinValue(self) -> float
        C++: virtual double GetHandleSizeFactorMinValue()
        """
        return 0.0

    def GetLineProperty(self): # real signature unknown; restored from __doc__
        """
        GetLineProperty(self) -> vtkProperty
        C++: virtual vtkProperty *GetLineProperty()
        """
        pass

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def GetNumberOfHandles(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfHandles(self) -> int
        C++: virtual int GetNumberOfHandles()
        """
        return 0

    def GetPolyData(self, pd): # real signature unknown; restored from __doc__
        """
        GetPolyData(self, pd:vtkPolyData) -> None
        C++: void GetPolyData(vtkPolyData *pd)
        
        Grab the polydata (including points) that defines the broken
        line.  The polydata consists of points and line segments
        numbering nHandles and nHandles - 1, respectively. Points are
        guaranteed to be up-to-date when either the InteractionEvent or
        EndInteraction events are invoked. The user provides the
        vtkPolyData and the points and polyline are added to it.
        """
        pass

    def GetProcessEvents(self): # real signature unknown; restored from __doc__
        """
        GetProcessEvents(self) -> int
        C++: virtual vtkTypeBool GetProcessEvents()
        """
        return 0

    def GetProcessEventsMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetProcessEventsMaxValue(self) -> int
        C++: virtual vtkTypeBool GetProcessEventsMaxValue()
        """
        return 0

    def GetProcessEventsMinValue(self): # real signature unknown; restored from __doc__
        """
        GetProcessEventsMinValue(self) -> int
        C++: virtual vtkTypeBool GetProcessEventsMinValue()
        """
        return 0

    def GetProjectionNormal(self): # real signature unknown; restored from __doc__
        """
        GetProjectionNormal(self) -> int
        C++: virtual int GetProjectionNormal()
        """
        return 0

    def GetProjectionNormalMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetProjectionNormalMaxValue(self) -> int
        C++: virtual int GetProjectionNormalMaxValue()
        """
        return 0

    def GetProjectionNormalMinValue(self): # real signature unknown; restored from __doc__
        """
        GetProjectionNormalMinValue(self) -> int
        C++: virtual int GetProjectionNormalMinValue()
        """
        return 0

    def GetProjectionPosition(self): # real signature unknown; restored from __doc__
        """
        GetProjectionPosition(self) -> float
        C++: virtual double GetProjectionPosition()
        """
        return 0.0

    def GetProjectToPlane(self): # real signature unknown; restored from __doc__
        """
        GetProjectToPlane(self) -> int
        C++: virtual vtkTypeBool GetProjectToPlane()
        """
        return 0

    def GetSelectedHandleProperty(self): # real signature unknown; restored from __doc__
        """
        GetSelectedHandleProperty(self) -> vtkProperty
        C++: virtual vtkProperty *GetSelectedHandleProperty()
        """
        pass

    def GetSelectedLineProperty(self): # real signature unknown; restored from __doc__
        """
        GetSelectedLineProperty(self) -> vtkProperty
        C++: virtual vtkProperty *GetSelectedLineProperty()
        """
        pass

    def GetSummedLength(self): # real signature unknown; restored from __doc__
        """
        GetSummedLength(self) -> float
        C++: double GetSummedLength()
        
        Get the summed lengths of the individual straight line segments.
        """
        return 0.0

    def InitializeHandles(self, points): # real signature unknown; restored from __doc__
        """
        InitializeHandles(self, points:vtkPoints) -> None
        C++: void InitializeHandles(vtkPoints *points)
        
        Convenience method to allocate and set the handles from a
        vtkPoints instance.
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkBrokenLineWidget
        C++: vtkBrokenLineWidget *NewInstance()
        """
        return vtkBrokenLineWidget

    def PlaceWidget(self, bounds, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        PlaceWidget(self, bounds:[float, float, float, float, float,
            float]) -> None
        C++: void PlaceWidget(double bounds[6]) override;
        PlaceWidget(self) -> None
        C++: void PlaceWidget() override;
        PlaceWidget(self, xmin:float, xmax:float, ymin:float, ymax:float,
            zmin:float, zmax:float) -> None
        C++: void PlaceWidget(double xmin, double xmax, double ymin,
            double ymax, double zmin, double zmax) override;
        
        This method is used to initially place the widget.  The placement
        of the widget depends on whether a Prop3D or input dataset is
        provided. If one of these two is provided, they will be used to
        obtain a bounding box, around which the widget is placed.
        Otherwise, you can manually specify a bounds with the
        PlaceWidget(bounds) method. Note: PlaceWidget(bounds) is required
        by all subclasses; the other methods are provided as convenience
        methods.
        """
        pass

    def ProcessEventsOff(self): # real signature unknown; restored from __doc__
        """
        ProcessEventsOff(self) -> None
        C++: virtual void ProcessEventsOff()
        """
        pass

    def ProcessEventsOn(self): # real signature unknown; restored from __doc__
        """
        ProcessEventsOn(self) -> None
        C++: virtual void ProcessEventsOn()
        """
        pass

    def ProjectToPlaneOff(self): # real signature unknown; restored from __doc__
        """
        ProjectToPlaneOff(self) -> None
        C++: virtual void ProjectToPlaneOff()
        """
        pass

    def ProjectToPlaneOn(self): # real signature unknown; restored from __doc__
        """
        ProjectToPlaneOn(self) -> None
        C++: virtual void ProjectToPlaneOn()
        """
        pass

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkBrokenLineWidget
        C++: static vtkBrokenLineWidget *SafeDownCast(vtkObjectBase *o)
        """
        return vtkBrokenLineWidget

    def SetEnabled(self, __a): # real signature unknown; restored from __doc__
        """
        SetEnabled(self, __a:int) -> None
        C++: void SetEnabled(int) override;
        
        Methods that satisfy the superclass' API.
        """
        pass

    def SetHandlePosition(self, handle, x, y, z): # real signature unknown; restored from __doc__
        """
        SetHandlePosition(self, handle:int, x:float, y:float, z:float)
            -> None
        C++: void SetHandlePosition(int handle, double x, double y,
            double z)
        SetHandlePosition(self, handle:int, xyz:[float, float, float])
            -> None
        C++: void SetHandlePosition(int handle, double xyz[3])
        
        Set/Get the position of the broken line handles. Call
        GetNumberOfHandles to determine the valid range of handle
        indices.
        """
        pass

    def SetHandleProperty(self, __a): # real signature unknown; restored from __doc__
        """
        SetHandleProperty(self, __a:vtkProperty) -> None
        C++: virtual void SetHandleProperty(vtkProperty *)
        
        Set/Get the handle properties (the spheres are the handles). The
        properties of the handles when selected and unselected can be
        manipulated.
        """
        pass

    def SetHandleSizeFactor(self, _arg): # real signature unknown; restored from __doc__
        """
        SetHandleSizeFactor(self, _arg:float) -> None
        C++: virtual void SetHandleSizeFactor(double _arg)
        
        Set/Get the size factor to be applied to the handle radii.
        Default: 1.
        """
        pass

    def SetLineProperty(self, __a): # real signature unknown; restored from __doc__
        """
        SetLineProperty(self, __a:vtkProperty) -> None
        C++: virtual void SetLineProperty(vtkProperty *)
        
        Set/Get the line properties. The properties of the line when
        selected and unselected can be manipulated.
        """
        pass

    def SetNumberOfHandles(self, npts): # real signature unknown; restored from __doc__
        """
        SetNumberOfHandles(self, npts:int) -> None
        C++: virtual void SetNumberOfHandles(int npts)
        
        Set/Get the number of handles for this widget.
        """
        pass

    def SetPlaneSource(self, plane): # real signature unknown; restored from __doc__
        """
        SetPlaneSource(self, plane:vtkPlaneSource) -> None
        C++: void SetPlaneSource(vtkPlaneSource *plane)
        
        Set up a reference to a vtkPlaneSource that could be from another
        widget object, e.g. a vtkPolyDataSourceWidget.
        """
        pass

    def SetProcessEvents(self, _arg): # real signature unknown; restored from __doc__
        """
        SetProcessEvents(self, _arg:int) -> None
        C++: virtual void SetProcessEvents(vtkTypeBool _arg)
        
        Turn on / off event processing for this widget. If off, the
        widget will not respond to user interaction
        """
        pass

    def SetProjectionNormal(self, _arg): # real signature unknown; restored from __doc__
        """
        SetProjectionNormal(self, _arg:int) -> None
        C++: virtual void SetProjectionNormal(int _arg)
        """
        pass

    def SetProjectionNormalToOblique(self): # real signature unknown; restored from __doc__
        """
        SetProjectionNormalToOblique(self) -> None
        C++: void SetProjectionNormalToOblique()
        """
        pass

    def SetProjectionNormalToXAxes(self): # real signature unknown; restored from __doc__
        """
        SetProjectionNormalToXAxes(self) -> None
        C++: void SetProjectionNormalToXAxes()
        """
        pass

    def SetProjectionNormalToYAxes(self): # real signature unknown; restored from __doc__
        """
        SetProjectionNormalToYAxes(self) -> None
        C++: void SetProjectionNormalToYAxes()
        """
        pass

    def SetProjectionNormalToZAxes(self): # real signature unknown; restored from __doc__
        """
        SetProjectionNormalToZAxes(self) -> None
        C++: void SetProjectionNormalToZAxes()
        """
        pass

    def SetProjectionPosition(self, position): # real signature unknown; restored from __doc__
        """
        SetProjectionPosition(self, position:float) -> None
        C++: void SetProjectionPosition(double position)
        
        Set the position of broken line handles and points in terms of a
        plane's position. i.e., if ProjectionNormal is 0, all of the
        x-coordinate values of the points are set to position. Any value
        can be passed (and is ignored) to update the broken line points
        when Projection normal is set to 3 for arbitrary plane
        orientations.
        """
        pass

    def SetProjectToPlane(self, _arg): # real signature unknown; restored from __doc__
        """
        SetProjectToPlane(self, _arg:int) -> None
        C++: virtual void SetProjectToPlane(vtkTypeBool _arg)
        
        Force the broken line widget to be projected onto one of the
        orthogonal planes. Remember that when the state changes, a
        ModifiedEvent is invoked. This can be used to snap the broken
        line to the plane if it is originally not aligned.  The normal in
        SetProjectionNormal is 0,1,2 for YZ,XZ,XY planes respectively and
        3 for arbitrary oblique planes when the widget is tied to a
        vtkPlaneSource.
        """
        pass

    def SetSelectedHandleProperty(self, __a): # real signature unknown; restored from __doc__
        """
        SetSelectedHandleProperty(self, __a:vtkProperty) -> None
        C++: virtual void SetSelectedHandleProperty(vtkProperty *)
        """
        pass

    def SetSelectedLineProperty(self, __a): # real signature unknown; restored from __doc__
        """
        SetSelectedLineProperty(self, __a:vtkProperty) -> None
        C++: virtual void SetSelectedLineProperty(vtkProperty *)
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkBrokenLineWidget\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetEnabled\': <method \'SetEnabled\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'PlaceWidget\': <method \'PlaceWidget\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectToPlane\': <method \'SetProjectToPlane\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProjectToPlane\': <method \'GetProjectToPlane\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'ProjectToPlaneOn\': <method \'ProjectToPlaneOn\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'ProjectToPlaneOff\': <method \'ProjectToPlaneOff\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetPlaneSource\': <method \'SetPlaneSource\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionNormal\': <method \'SetProjectionNormal\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProjectionNormalMinValue\': <method \'GetProjectionNormalMinValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProjectionNormalMaxValue\': <method \'GetProjectionNormalMaxValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProjectionNormal\': <method \'GetProjectionNormal\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionNormalToXAxes\': <method \'SetProjectionNormalToXAxes\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionNormalToYAxes\': <method \'SetProjectionNormalToYAxes\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionNormalToZAxes\': <method \'SetProjectionNormalToZAxes\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionNormalToOblique\': <method \'SetProjectionNormalToOblique\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProjectionPosition\': <method \'SetProjectionPosition\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProjectionPosition\': <method \'GetProjectionPosition\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetPolyData\': <method \'GetPolyData\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetHandleProperty\': <method \'SetHandleProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetHandleProperty\': <method \'GetHandleProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetSelectedHandleProperty\': <method \'SetSelectedHandleProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetSelectedHandleProperty\': <method \'GetSelectedHandleProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetLineProperty\': <method \'SetLineProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetLineProperty\': <method \'GetLineProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetSelectedLineProperty\': <method \'SetSelectedLineProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetSelectedLineProperty\': <method \'GetSelectedLineProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetNumberOfHandles\': <method \'SetNumberOfHandles\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetNumberOfHandles\': <method \'GetNumberOfHandles\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetHandlePosition\': <method \'SetHandlePosition\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetHandlePosition\': <method \'GetHandlePosition\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetSummedLength\': <method \'GetSummedLength\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'InitializeHandles\': <method \'InitializeHandles\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetProcessEvents\': <method \'SetProcessEvents\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProcessEventsMinValue\': <method \'GetProcessEventsMinValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProcessEventsMaxValue\': <method \'GetProcessEventsMaxValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetProcessEvents\': <method \'GetProcessEvents\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'ProcessEventsOn\': <method \'ProcessEventsOn\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'ProcessEventsOff\': <method \'ProcessEventsOff\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'SetHandleSizeFactor\': <method \'SetHandleSizeFactor\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetHandleSizeFactorMinValue\': <method \'GetHandleSizeFactorMinValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetHandleSizeFactorMaxValue\': <method \'GetHandleSizeFactorMaxValue\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'GetHandleSizeFactor\': <method \'GetHandleSizeFactor\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D63B900>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInteractionWidgets.vtkBrokenLineWidget\' objects>, \'__doc__\': \'vtkBrokenLineWidget - 3D widget for manipulating a broken line\\n\\nSuperclass: vtk3DWidget\\n\\nThis 3D widget defines a broken line that can be interactively placed\\nin a scene. The broken line has handles, the number of which can be\\nchanged, plus it can be picked on the broken line itself to translate\\nor rotate it in the scene. A nice feature of the object is that the\\nvtkBrokenLineWidget, like any 3D widget, will work with the current\\ninteractor style. That is, if vtkBrokenLineWidget does not handle an\\nevent, then all other registered observers (including the interactor\\nstyle) have an opportunity to process the event. Otherwise, the\\nvtkBrokenLineWidget will terminate the processing of the event that\\nit handles.\\n\\nTo use this object, just invoke SetInteractor() with the argument of\\nthe method a vtkRenderWindowInteractor.  You may also wish to invoke\\n"PlaceWidget()" to initially position the widget. The interactor will\\nact normally until the "i" key (for "interactor") is pressed, at\\nwhich point the vtkBrokenLineWidget will appear. (See superclass\\ndocumentation for information about changing this behavior.) Events\\nthat occur outside of the widget (i.e., no part of the widget is\\npicked) are propagated to any other registered obsevers (such as the\\ninteraction style).  Turn off the widget by pressing the "i" key\\nagain (or invoke the Off() method).\\n\\nThe button actions and key modifiers are as follows for controlling\\nthe widget:\\n1) left button down on and drag one of the spherical handles to\\n   change the shape of the broken line: the handles act as "control\\n   points".\\n2) left button or middle button down on a line segment forming the\\n   broken line allows uniform translation of the widget.\\n3) ctrl + middle button down on the widget enables spinning of the\\n   widget about its center.\\n4) right button down on the widget enables scaling of the widget. By\\n   moving the mouse "up" the render window the broken line will be\\n   made bigger; by moving "down" the render window the widget will be\\nmade smaller.\\n5) ctrl key + right button down on any handle will erase it providing\\nthere will be two or more points remaining to form a broken line.\\n6) shift key + right button down on any line segment will insert a\\n   handle onto the broken line at the cursor position.\\n\\nThe vtkBrokenLineWidget has several methods that can be used in\\nconjunction with other VTK objects. The GetPolyData() method can be\\nused to get the polygonal representation and can be used for things\\nlike seeding streamlines or probing other data sets. Typical usage of\\nthe widget is to make use of the StartInteractionEvent,\\nInteractionEvent, and EndInteractionEvent events. The\\nInteractionEvent is called on mouse motion; the other two events are\\ncalled on button down and button up (either left or right button).\\n\\nSome additional features of this class include the ability to control\\nthe properties of the widget. You can set the properties of the\\nselected and unselected representations of the broken line. For\\nexample, you can set the property for the handles and broken line. In\\naddition there are methods to constrain the broken line so that it is\\naligned with a plane.  Note that a simple ruler widget can be derived\\nby setting the resolution to 1, the number of handles to 2, and\\ncalling the GetSummedLength method!\\n\\n@par Thanks: This class was written by Philippe Pebay, Kitware SAS\\n2012 This work was supported by CEA/DIF - Commissariat a l\\\'Energie\\nAtomique, Centre DAM Ile-De-France, BP12, F-91297 Arpajon, France.\\n\\n@sa\\nvtk3DWidget vtkBoxWidget vtkLineWidget vtkPointWidget vtkSphereWidget\\nvtkImagePlaneWidget vtkImplicitPlaneWidget vtkPlaneWidget\\n\\n\'})'
    __vtkname__ = 'vtkBrokenLineWidget'


