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

from .vtkObjectBase import vtkObjectBase

class vtkCommand(vtkObjectBase):
    """
    vtkCommand - superclass for callback/observer methods
    
    Superclass: vtkObjectBase
    
    vtkCommand is an implementation of the observer/command design
    pattern.  In this design pattern, any instance of vtkObject can be
    "observed" for any events it might invoke. For example, vtkRenderer
    invokes a StartEvent as it begins to render and a EndEvent when it
    finishes rendering. Filters (subclasses of vtkProcessObject) invoke
    StartEvent, ProgressEvent, and EndEvent as the filter processes data.
    Observers of events are added with the AddObserver() method found in
    vtkObject.  AddObserver(), besides requiring an event id or name,
    also takes an instance of vtkCommand (or a subclasses). Note that
    vtkCommand is meant to be subclassed, so that you can package the
    information necessary to support your callback.
    
    Event processing can be organized in priority lists, so it is
    possible to truncate the processing of a particular event by setting
    the AbortFlag variable. The priority is set using the AddObserver()
    method.  By default the priority is 0, events of the same priority
    are processed in last-in-first-processed order. The ordering/aborting
    of events is important for things like 3D widgets, which handle an
    event if the widget is selected (and then aborting further processing
    of that event).  Otherwise. the event is passed along for further
    processing.
    
    When an instance of vtkObject invokes an event, it also passes an
    optional void pointer to a callData. This callData is nullptr most of
    the time. The callData is not specific to a type of event but
    specific to a type of vtkObject invoking a specific event. For
    instance, vtkCommand::PickEvent is invoked by vtkProp with a nullptr
    callData but is invoked by vtkInteractorStyleImage with a pointer to
    the vtkInteractorStyleImage object itself.
    
    Here is the list of events that may be invoked with a non-nullptr
    callData.
    - vtkCommand::ProgressEvent
    - most of the objects return a pointer to a double value ranged
      between 0.0 and 1.0
    - Infovis/vtkFixedWidthTextReader returns a pointer to a float value
      equal to the number of lines read so far.
    - vtkCommand::ErrorEvent
    - an error message as a const char * string
    - vtkCommand::WarningEvent
    - a warning message as a const char * string
    - vtkCommand::StartAnimationCueEvent
    - a pointer to a vtkAnimationCue::AnimationCueInfo object
    - vtkCommand::EndAnimationCueEvent
    - a pointer to a vtkAnimationCue::AnimationCueInfo object
    - vtkCommand::AnimationCueTickEvent
    - a pointer to a vtkAnimationCue::AnimationCueInfo object
    - vtkCommand::PickEvent
    - Common/vtkProp returns nullptr
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::StartPickEvent
    - Rendering/vtkPropPicker returns nullptr
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::EndPickEvent
    - Rendering/vtkPropPicker returns nullptr
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::WrongTagEvent
    - Parallel/vtkSocketCommunicator returns a received tag as a char *
    - vtkCommand::SelectionChangedEvent
    - Views/vtkView returns nullptr
    - Views/vtkDataRepresentation returns a pointer to a vtkSelection
    - Rendering/vtkInteractorStyleRubberBand2D returns an array of 5
      unsigned integers (p1x, p1y, p2x, p2y, mode), where mode is
      vtkInteractorStyleRubberBand2D::SELECT_UNION or
      vtkInteractorStyleRubberBand2D::SELECT_NORMAL
    - vtkCommand::AnnotationChangedEvent
    - GUISupport/Qt/vtkQtAnnotationView returns a pointer to a
      vtkAnnotationLayers
    - vtkCommand::PlacePointEvent
    - Widgets/vtkSeedWidget returns a pointer to an int, being the
      current handle number
    - vtkCommand::DeletePointEvent
    - Widgets/vtkSeedWidget returns a pointer to an int, being the handle
    number of the deleted point
    - vtkCommand::ResetWindowLevelEvent
    - Widgets/vtkImagePlaneWidget returns an array of 2 double values
      (window and level)
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::StartWindowLevelEvent
    - Widgets/vtkImagePlaneWidget returns an array of 2 double values
      (window and level)
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::EndWindowLevelEvent
    - Widgets/vtkImagePlaneWidget returns an array of 2 double values
      (window and level)
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::WindowLevelEvent
    - Widgets/vtkImagePlaneWidget returns an array of 2 double values
      (window and level)
    - Rendering/vtkInteractorStyleImage returns a pointer to itself
    - vtkCommand::CharEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QKeyEvent *
    - vtkCommand::TimerEvent
    - most of the objects return a to an int representing a timer id
    - Widgets/vtkHoverWidget returns nullptr
    - vtkCommand::CreateTimerEvent
    - Rendering/vtkGenericRenderWindowInteractor returns a to an int
      representing a timer id
    - vtkCommand::DestroyTimerEvent
    - Rendering/vtkGenericRenderWindowInteractor returns a to an int
      representing a timer id
    - vtkCommand::UserEvent
    - most of the objects return nullptr
    - Infovis/vtkInteractorStyleTreeMapHover returns a pointer to a
      vtkIdType representing a pedigree id
    - vtkCommand::KeyPressEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QKeyEvent*
    - vtkCommand::KeyReleaseEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QKeyEvent*
    - vtkCommand::LeftButtonPressEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::LeftButtonReleaseEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::MouseMoveEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::MouseWheelForwardEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QWheelEvent*
    - vtkCommand::MouseWheelBackwardEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QWheelEvent*
    - vtkCommand::RightButtonPressEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::RightButtonReleaseEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::MiddleButtonPressEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::MiddleButtonReleaseEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QMouseEvent*
    - vtkCommand::CursorChangedEvent
    - most of the objects return a pointer to an int representing a shape
    - Rendering/vtkInteractorObserver returns nullptr
    - vtkCommand::ResetCameraEvent
    - Rendering/vtkRenderer returns a pointer to itself
    - vtkCommand::ResetCameraClippingRangeEvent
    - Rendering/vtkRenderer returns a pointer to itself
    - vtkCommand::ActiveCameraEvent
    - Rendering/vtkRenderer returns a pointer to the active camera
    - vtkCommand::CreateCameraEvent
    - Rendering/vtkRenderer returns a pointer to the created camera
    - vtkCommand::EnterEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QEvent*
    - vtkCommand::LeaveEvent
    - most of the objects return nullptr
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QEvent*
    - vtkCommand::RenderWindowMessageEvent
    - Rendering/vtkWin32OpenGLRenderWindow return a pointer to a UINT
      message
    - vtkCommand::ComputeVisiblePropBoundsEvent
    - Rendering/vtkRenderer returns a pointer to itself
    - QVTKOpenGLStereoWidget::ContextMenuEvent
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QContextMenuEvent*
    - QVTKOpenGLStereoWidget::DragEnterEvent
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QDragEnterEvent*
    - QVTKOpenGLStereoWidget::DragMoveEvent
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QDragMoveEvent*
    - QVTKOpenGLStereoWidget::DragLeaveEvent
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QDragLeaveEvent*
    - QVTKOpenGLStereoWidget::DropEvent
    - GUISupport/Qt/QVTKOpenGLStereoWidget returns a QDropEvent*
    - vtkCommand::ViewProgressEvent
    - View/vtkView returns a ViewProgressEventCallData*
    - vtkCommand::VolumeMapperRenderProgressEvent
    - A pointer to a double value between 0.0 and 1.0
    - vtkCommand::VolumeMapperComputeGradientsProgressEvent
    - A pointer to a double value between 0.0 and 1.0
    - vtkCommand::TDxMotionEvent (TDx=3DConnexion)
    - A vtkTDxMotionEventInfo*
    - vtkCommand::TDxButtonPressEvent
    - A int* being the number of the button
    - vtkCommand::TDxButtonReleaseEvent
    - A int* being the number of the button
    - vtkCommand::UpdateShaderEvent
    - A vtkOpenGLHelper* currently being used
    - vtkCommand::FourthButtonPressEvent
    - most of the objects return nullptr
    - vtkCommand::FourthButtonReleaseEvent
    - most of the objects return nullptr
    - vtkCommand::FifthButtonPressEvent
    - most of the objects return nullptr
    - vtkCommand::FifthButtonReleaseEvent
    - most of the objects return nullptr
    - vtkCommand::ErrorEvent
    - vtkOutputWindow fires this with `char char*` for the error message
    - vtkCommand::WarningEvent
    - vtkOutputWindow fires this with `char char*` for the warning
      message
    - vtkCommand::MessageEvent
    - vtkOutputWindow fires this with `char char*` for the message text
    - vtkCommand::TextEvent
    - vtkOutputWindow fires this with `char char*` for the text
    
    @sa
    vtkObject vtkCallbackCommand vtkOldStyleCallbackCommand
    vtkInteractorObserver vtk3DWidget
    """
    def AbortFlagOff(self):
        """
        V.AbortFlagOff()
        C++: void AbortFlagOff()
        """
        ...
    
    def AbortFlagOn(self):
        """
        V.AbortFlagOn()
        C++: void AbortFlagOn()
        """
        ...
    
    def EventHasData(self, p_int):
        """
        V.EventHasData(int) -> bool
        C++: static bool EventHasData(unsigned long event)
        
        Does this event type contain vtkEventData
        """
        ...
    
    def Execute(self, vtkObject, p_int, void):
        """
        V.Execute(vtkObject, int, void)
        C++: virtual void Execute(vtkObject *caller,
            unsigned long eventId, void *callData)
        
        All derived classes of vtkCommand must implement this method.
        This is the method that actually does the work of the callback.
        The caller argument is the object invoking the event, the eventId
        parameter is the id of the event, and callData parameter is data
        that can be passed into the execute method. (Note:
        vtkObject::InvokeEvent() takes two parameters: the event id (or
        name) and call data. Typically call data is nullptr, but the user
        can package data and pass it this way. Alternatively, a derived
        class of vtkCommand can be used to pass data.)
        """
        ...
    
    def GetAbortFlag(self):
        """
        V.GetAbortFlag() -> int
        C++: int GetAbortFlag()
        """
        ...
    
    def GetEventIdFromString(self, string):
        """
        V.GetEventIdFromString(string) -> int
        C++: static unsigned long GetEventIdFromString(const char *event)
        
        Convenience methods for translating between event names and event
        ids.
        """
        ...
    
    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 GetPassiveObserver(self):
        """
        V.GetPassiveObserver() -> int
        C++: int GetPassiveObserver()
        """
        ...
    
    def GetStringFromEventId(self, p_int):
        """
        V.GetStringFromEventId(int) -> string
        C++: static const char *GetStringFromEventId(unsigned long event)
        
        Convenience methods for translating between event names and event
        ids.
        """
        ...
    
    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() -> vtkCommand
        C++: vtkCommand *NewInstance()
        """
        ...
    
    def PassiveObserverOff(self):
        """
        V.PassiveObserverOff()
        C++: void PassiveObserverOff()
        """
        ...
    
    def PassiveObserverOn(self):
        """
        V.PassiveObserverOn()
        C++: void PassiveObserverOn()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkCommand
        C++: static vtkCommand *SafeDownCast(vtkObjectBase *o)
        """
        ...
    
    def SetAbortFlag(self, p_int):
        """
        V.SetAbortFlag(int)
        C++: void SetAbortFlag(int f)
        
        Set/Get the abort flag. If this is set to true no further
        commands are executed.
        """
        ...
    
    def SetPassiveObserver(self, p_int):
        """
        V.SetPassiveObserver(int)
        C++: void SetPassiveObserver(int f)
        
        Set/Get the passive observer flag. If this is set to true, this
        indicates that this command does not change the state of the
        system in any way. Passive observers are processed first, and are
        not called even when another command has focus.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, or_a_subclasses) -> 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__ = ...
    AbortCheckEvent = ...
    ActiveCameraEvent = ...
    AnimationCueTickEvent = ...
    AnnotationChangedEvent = ...
    AnyEvent = ...
    Button3DEvent = ...
    CharEvent = ...
    ComputeVisiblePropBoundsEvent = ...
    ConfigureEvent = ...
    ConnectionClosedEvent = ...
    ConnectionCreatedEvent = ...
    CreateCameraEvent = ...
    CreateTimerEvent = ...
    CurrentChangedEvent = ...
    CursorChangedEvent = ...
    DeleteEvent = ...
    DeletePointEvent = ...
    DestroyTimerEvent = ...
    DisableEvent = ...
    DomainModifiedEvent = ...
    DropFilesEvent = ...
    EnableEvent = ...
    EndAnimationCueEvent = ...
    EndEvent = ...
    EndInteractionEvent = ...
    EndPanEvent = ...
    EndPickEvent = ...
    EndPinchEvent = ...
    EndRotateEvent = ...
    EndSwipeEvent = ...
    EndWindowLevelEvent = ...
    EnterEvent = ...
    ErrorEvent = ...
    EventIds = ...
    ExecuteInformationEvent = ...
    ExitEvent = ...
    ExposeEvent = ...
    FifthButtonPressEvent = ...
    FifthButtonReleaseEvent = ...
    FourthButtonPressEvent = ...
    FourthButtonReleaseEvent = ...
    HighlightEvent = ...
    HoverEvent = ...
    InteractionEvent = ...
    KeyPressEvent = ...
    KeyReleaseEvent = ...
    LeaveEvent = ...
    LeftButtonDoubleClickEvent = ...
    LeftButtonPressEvent = ...
    LeftButtonReleaseEvent = ...
    LoadStateEvent = ...
    LongTapEvent = ...
    MessageEvent = ...
    MiddleButtonPressEvent = ...
    MiddleButtonReleaseEvent = ...
    ModifiedEvent = ...
    MouseMoveEvent = ...
    MouseWheelBackwardEvent = ...
    MouseWheelForwardEvent = ...
    Move3DEvent = ...
    NoEvent = ...
    PanEvent = ...
    PickEvent = ...
    PinchEvent = ...
    PlacePointEvent = ...
    PlaceWidgetEvent = ...
    ProgressEvent = ...
    PropertyModifiedEvent = ...
    RegisterEvent = ...
    RenderEvent = ...
    RenderWindowMessageEvent = ...
    ResetCameraClippingRangeEvent = ...
    ResetCameraEvent = ...
    ResetWindowLevelEvent = ...
    ResliceAxesChangedEvent = ...
    RightButtonDoubleClickEvent = ...
    RightButtonPressEvent = ...
    RightButtonReleaseEvent = ...
    RotateEvent = ...
    SaveStateEvent = ...
    SelectionChangedEvent = ...
    SetOutputEvent = ...
    StartAnimationCueEvent = ...
    StartEvent = ...
    StartInteractionEvent = ...
    StartPanEvent = ...
    StartPickEvent = ...
    StartPinchEvent = ...
    StartRotateEvent = ...
    StartSwipeEvent = ...
    StartWindowLevelEvent = ...
    StateChangedEvent = ...
    SwipeEvent = ...
    TapEvent = ...
    TDxButtonPressEvent = ...
    TDxButtonReleaseEvent = ...
    TDxMotionEvent = ...
    TextEvent = ...
    TimerEvent = ...
    UncheckedPropertyModifiedEvent = ...
    UnRegisterEvent = ...
    UpdateDataEvent = ...
    UpdateDropLocationEvent = ...
    UpdateEvent = ...
    UpdateInformationEvent = ...
    UpdatePropertyEvent = ...
    UpdateShaderEvent = ...
    UserEvent = ...
    ViewProgressEvent = ...
    VolumeMapperComputeGradientsEndEvent = ...
    VolumeMapperComputeGradientsProgressEvent = ...
    VolumeMapperComputeGradientsStartEvent = ...
    VolumeMapperRenderEndEvent = ...
    VolumeMapperRenderProgressEvent = ...
    VolumeMapperRenderStartEvent = ...
    WarningEvent = ...
    WidgetActivateEvent = ...
    WidgetModifiedEvent = ...
    WidgetValueChangedEvent = ...
    WindowFrameEvent = ...
    WindowIsCurrentEvent = ...
    WindowIsDirectEvent = ...
    WindowLevelEvent = ...
    WindowMakeCurrentEvent = ...
    WindowResizeEvent = ...
    WindowStereoTypeChangedEvent = ...
    WindowSupportsOpenGLEvent = ...
    WrongTagEvent = ...
    __dict__ = ...
    __vtkname__ = ...


