# 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 .vtkAbstractWidget import vtkAbstractWidget

class vtkRectilinearWipeWidget(vtkAbstractWidget):
    """
    vtkRectilinearWipeWidget - interactively control an instance of
    vtkImageRectilinearWipe filter
    
    Superclass: vtkAbstractWidget
    
    The vtkRectilinearWipeWidget is used to interactively control an
    instance of vtkImageRectilinearWipe (and an associated vtkImageActor
    used to display the rectilinear wipe). A rectilinear wipe is a 2x2
    checkerboard pattern created by combining two separate images, where
    various combinations of the checker squares are possible. Using this
    widget, the user can adjust the layout of the checker pattern, such
    as moving the center point, moving the horizontal separator, or
    moving the vertical separator. These capabilities are particularly
    useful for comparing two images.
    
    To use this widget, specify its representation (by default the
    representation is an instance of vtkRectilinearWipeProp). The
    representation generally requires that you specify an instance of
    vtkImageRectilinearWipe and an instance of vtkImageActor. Other
    instance variables may also be required to be set -- see the
    documentation for vtkRectilinearWipeProp (or appropriate subclass).
    
    By default, the widget responds to the following events:
    
    Selecting the center point, horizontal separator, and verticel
    separator:
      LeftButtonPressEvent - move the separators
      LeftButtonReleaseEvent - release the separators
      MouseMoveEvent - move the separators  Selecting the center point
    allows you to move the horizontal and vertical separators
    simultaneously. Otherwise only horizontal or vertical motion is
    possible/
    
    Note that the event bindings described above can be changed using
    this class's vtkWidgetEventTranslator. This class translates VTK
    events into the vtkRectilinearWipeWidget's widget events:
    
    
      vtkWidgetEvent::Select -- some part of the widget has been selected
      vtkWidgetEvent::EndSelect -- the selection process has completed
      vtkWidgetEvent::Move -- a request for motion has been invoked 
    
    In turn, when these widget events are processed, the
    vtkRectilinearWipeWidget invokes the following VTK events (which
    observers can listen for):
    
    
      vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select)
      vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect)
      vtkCommand::InteractionEvent (on vtkWidgetEvent::Move) 
    
    @warning
    The appearance of this widget is defined by its representation,
    including any properties associated with the representation.  The
    widget representation is a type of vtkProp that defines a particular
    API that works with this widget. If desired, the vtkProp may be
    subclassed to create new looks for the widget.
    
    @sa
    vtkRectilinearWipeProp vtkImageRectilinearWipe vtkImageActor
    vtkCheckerboardWidget
    """
    def CreateDefaultRepresentation(self): # real signature unknown; restored from __doc__
        """
        CreateDefaultRepresentation(self) -> None
        C++: void CreateDefaultRepresentation() override;
        
        Create the default widget representation if one is not set.
        """
        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 GetRectilinearWipeRepresentation(self): # real signature unknown; restored from __doc__
        """
        GetRectilinearWipeRepresentation(self)
            -> vtkRectilinearWipeRepresentation
        C++: vtkRectilinearWipeRepresentation *GetRectilinearWipeRepresentation(
            )
        
        Return the representation as a vtkRectilinearWipeRepresentation.
        """
        return vtkRectilinearWipeRepresentation

    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) -> vtkRectilinearWipeWidget
        C++: vtkRectilinearWipeWidget *NewInstance()
        """
        return vtkRectilinearWipeWidget

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkRectilinearWipeWidget
        C++: static vtkRectilinearWipeWidget *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkRectilinearWipeWidget

    def SetRepresentation(self, r): # real signature unknown; restored from __doc__
        """
        SetRepresentation(self, r:vtkRectilinearWipeRepresentation)
            -> None
        C++: void SetRepresentation(vtkRectilinearWipeRepresentation *r)
        
        Specify an instance of vtkWidgetRepresentation used to represent
        this widget in the scene. Note that the representation is a
        subclass of vtkProp so it can be added to the renderer
        independent of the widget.
        """
        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__\': \'vtkRectilinearWipeWidget\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'SetRepresentation\': <method \'SetRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'GetRectilinearWipeRepresentation\': <method \'GetRectilinearWipeRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'CreateDefaultRepresentation\': <method \'CreateDefaultRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D65DA40>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInteractionWidgets.vtkRectilinearWipeWidget\' objects>, \'__doc__\': "vtkRectilinearWipeWidget - interactively control an instance of\\nvtkImageRectilinearWipe filter\\n\\nSuperclass: vtkAbstractWidget\\n\\nThe vtkRectilinearWipeWidget is used to interactively control an\\ninstance of vtkImageRectilinearWipe (and an associated vtkImageActor\\nused to display the rectilinear wipe). A rectilinear wipe is a 2x2\\ncheckerboard pattern created by combining two separate images, where\\nvarious combinations of the checker squares are possible. Using this\\nwidget, the user can adjust the layout of the checker pattern, such\\nas moving the center point, moving the horizontal separator, or\\nmoving the vertical separator. These capabilities are particularly\\nuseful for comparing two images.\\n\\nTo use this widget, specify its representation (by default the\\nrepresentation is an instance of vtkRectilinearWipeProp). The\\nrepresentation generally requires that you specify an instance of\\nvtkImageRectilinearWipe and an instance of vtkImageActor. Other\\ninstance variables may also be required to be set -- see the\\ndocumentation for vtkRectilinearWipeProp (or appropriate subclass).\\n\\nBy default, the widget responds to the following events:\\n\\nSelecting the center point, horizontal separator, and verticel\\nseparator:\\n  LeftButtonPressEvent - move the separators\\n  LeftButtonReleaseEvent - release the separators\\n  MouseMoveEvent - move the separators  Selecting the center point\\nallows you to move the horizontal and vertical separators\\nsimultaneously. Otherwise only horizontal or vertical motion is\\npossible/\\n\\nNote that the event bindings described above can be changed using\\nthis class\'s vtkWidgetEventTranslator. This class translates VTK\\nevents into the vtkRectilinearWipeWidget\'s widget events:\\n\\n\\n  vtkWidgetEvent::Select -- some part of the widget has been selected\\n  vtkWidgetEvent::EndSelect -- the selection process has completed\\n  vtkWidgetEvent::Move -- a request for motion has been invoked \\n\\nIn turn, when these widget events are processed, the\\nvtkRectilinearWipeWidget invokes the following VTK events (which\\nobservers can listen for):\\n\\n\\n  vtkCommand::StartInteractionEvent (on vtkWidgetEvent::Select)\\n  vtkCommand::EndInteractionEvent (on vtkWidgetEvent::EndSelect)\\n  vtkCommand::InteractionEvent (on vtkWidgetEvent::Move) \\n\\n@warning\\nThe appearance of this widget is defined by its representation,\\nincluding any properties associated with the representation.  The\\nwidget representation is a type of vtkProp that defines a particular\\nAPI that works with this widget. If desired, the vtkProp may be\\nsubclassed to create new looks for the widget.\\n\\n@sa\\nvtkRectilinearWipeProp vtkImageRectilinearWipe vtkImageActor\\nvtkCheckerboardWidget\\n\\n"})'
    __vtkname__ = 'vtkRectilinearWipeWidget'


