# 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 vtkImageCroppingRegionsWidget(vtk3DWidget):
    """
    vtkImageCroppingRegionsWidget - widget for cropping an image
    
    Superclass: vtk3DWidget
    
    This widget displays a set of axis aligned lines that can be
    interactively manipulated to crop a volume. The region to be cropped
    away is displayed in a different highlight. Much like the
    vtkVolumeMapper, this widget supports 27 possible configurations of
    cropping planes. (See CroppingRegionFlags). If a volume mapper is
    set, the cropping planes are directly propagated to the volume
    mapper. The widget invokes a CroppingPlanesPositionChangedEvent when
    the position of any of the cropping planes is changed. The widget
    also invokes an InteractionEvent in response to user interaction.
    """
    def GetCroppingRegionFlags(self): # real signature unknown; restored from __doc__
        """
        GetCroppingRegionFlags(self) -> int
        C++: virtual int GetCroppingRegionFlags()
        """
        return 0

    def GetLine1Color(self): # real signature unknown; restored from __doc__
        """
        GetLine1Color(self) -> Pointer
        C++: virtual double *GetLine1Color()
        GetLine1Color(self, rgb:[float, float, float]) -> None
        C++: virtual void GetLine1Color(double rgb[3])
        """
        pass

    def GetLine2Color(self): # real signature unknown; restored from __doc__
        """
        GetLine2Color(self) -> Pointer
        C++: virtual double *GetLine2Color()
        GetLine2Color(self, rgb:[float, float, float]) -> None
        C++: virtual void GetLine2Color(double rgb[3])
        """
        pass

    def GetLine3Color(self): # real signature unknown; restored from __doc__
        """
        GetLine3Color(self) -> Pointer
        C++: virtual double *GetLine3Color()
        GetLine3Color(self, rgb:[float, float, float]) -> None
        C++: virtual void GetLine3Color(double rgb[3])
        """
        pass

    def GetLine4Color(self): # real signature unknown; restored from __doc__
        """
        GetLine4Color(self) -> Pointer
        C++: virtual double *GetLine4Color()
        GetLine4Color(self, rgb:[float, float, float]) -> None
        C++: virtual void GetLine4Color(double rgb[3])
        """
        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 GetPlanePositions(self): # real signature unknown; restored from __doc__
        """
        GetPlanePositions(self) -> (float, float, float, float, float,
            float)
        C++: virtual double *GetPlanePositions()
        
        Set/Get the plane positions that represent the cropped region.
        """
        pass

    def GetSlice(self): # real signature unknown; restored from __doc__
        """
        GetSlice(self) -> int
        C++: virtual int GetSlice()
        """
        return 0

    def GetSliceOrientation(self): # real signature unknown; restored from __doc__
        """
        GetSliceOrientation(self) -> int
        C++: virtual int GetSliceOrientation()
        """
        return 0

    def GetVolumeMapper(self): # real signature unknown; restored from __doc__
        """
        GetVolumeMapper(self) -> vtkVolumeMapper
        C++: virtual vtkVolumeMapper *GetVolumeMapper()
        """
        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 MoveHorizontalLine(self): # real signature unknown; restored from __doc__
        """
        MoveHorizontalLine(self) -> None
        C++: void MoveHorizontalLine()
        
        Callbacks for user interaction.
        """
        pass

    def MoveIntersectingLines(self): # real signature unknown; restored from __doc__
        """
        MoveIntersectingLines(self) -> None
        C++: void MoveIntersectingLines()
        """
        pass

    def MoveVerticalLine(self): # real signature unknown; restored from __doc__
        """
        MoveVerticalLine(self) -> None
        C++: void MoveVerticalLine()
        """
        pass

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkImageCroppingRegionsWidget
        C++: vtkImageCroppingRegionsWidget *NewInstance()
        """
        return vtkImageCroppingRegionsWidget

    def OnButtonPress(self): # real signature unknown; restored from __doc__
        """
        OnButtonPress(self) -> None
        C++: void OnButtonPress()
        """
        pass

    def OnButtonRelease(self): # real signature unknown; restored from __doc__
        """
        OnButtonRelease(self) -> None
        C++: void OnButtonRelease()
        """
        pass

    def OnMouseMove(self): # real signature unknown; restored from __doc__
        """
        OnMouseMove(self) -> None
        C++: void OnMouseMove()
        """
        pass

    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++: virtual void PlaceWidget()
        PlaceWidget(self, xmin:float, xmax:float, ymin:float, ymax:float,
            zmin:float, zmax:float) -> None
        C++: virtual void PlaceWidget(double xmin, double xmax,
            double ymin, double ymax, double zmin, double zmax)
        
        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 SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkImageCroppingRegionsWidget
        C++: static vtkImageCroppingRegionsWidget *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkImageCroppingRegionsWidget

    def SetCroppingRegionFlags(self, flags): # real signature unknown; restored from __doc__
        """
        SetCroppingRegionFlags(self, flags:int) -> None
        C++: virtual void SetCroppingRegionFlags(int flags)
        
        Set/Get the cropping region flags
        """
        pass

    def SetEnabled(self, enabling): # real signature unknown; restored from __doc__
        """
        SetEnabled(self, enabling:int) -> None
        C++: void SetEnabled(int enabling) override;
        
        Enable/disable the widget
        """
        pass

    def SetLine1Color(self, r, g, b): # real signature unknown; restored from __doc__
        """
        SetLine1Color(self, r:float, g:float, b:float) -> None
        C++: virtual void SetLine1Color(double r, double g, double b)
        SetLine1Color(self, rgb:[float, float, float]) -> None
        C++: virtual void SetLine1Color(double rgb[3])
        
        Set/Get line 1 color
        """
        pass

    def SetLine2Color(self, r, g, b): # real signature unknown; restored from __doc__
        """
        SetLine2Color(self, r:float, g:float, b:float) -> None
        C++: virtual void SetLine2Color(double r, double g, double b)
        SetLine2Color(self, rgb:[float, float, float]) -> None
        C++: virtual void SetLine2Color(double rgb[3])
        
        Set/Get line 2 color
        """
        pass

    def SetLine3Color(self, r, g, b): # real signature unknown; restored from __doc__
        """
        SetLine3Color(self, r:float, g:float, b:float) -> None
        C++: virtual void SetLine3Color(double r, double g, double b)
        SetLine3Color(self, rgb:[float, float, float]) -> None
        C++: virtual void SetLine3Color(double rgb[3])
        
        Set/Get line 3 color
        """
        pass

    def SetLine4Color(self, r, g, b): # real signature unknown; restored from __doc__
        """
        SetLine4Color(self, r:float, g:float, b:float) -> None
        C++: virtual void SetLine4Color(double r, double g, double b)
        SetLine4Color(self, rgb:[float, float, float]) -> None
        C++: virtual void SetLine4Color(double rgb[3])
        
        Set/Get line 4 color
        """
        pass

    def SetPlanePositions(self, pos, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        SetPlanePositions(self, pos:[float, float, float, float, float,
            float]) -> None
        C++: virtual void SetPlanePositions(double pos[6])
        SetPlanePositions(self, xMin:float, xMax:float, yMin:float,
            yMax:float, zMin:float, zMax:float) -> None
        C++: virtual void SetPlanePositions(double xMin, double xMax,
            double yMin, double yMax, double zMin, double zMax)
        """
        pass

    def SetSlice(self, num): # real signature unknown; restored from __doc__
        """
        SetSlice(self, num:int) -> None
        C++: virtual void SetSlice(int num)
        
        Set/Get the slice number
        """
        pass

    def SetSliceOrientation(self, orientation): # real signature unknown; restored from __doc__
        """
        SetSliceOrientation(self, orientation:int) -> None
        C++: virtual void SetSliceOrientation(int orientation)
        """
        pass

    def SetSliceOrientationToXY(self): # real signature unknown; restored from __doc__
        """
        SetSliceOrientationToXY(self) -> None
        C++: virtual void SetSliceOrientationToXY()
        """
        pass

    def SetSliceOrientationToXZ(self): # real signature unknown; restored from __doc__
        """
        SetSliceOrientationToXZ(self) -> None
        C++: virtual void SetSliceOrientationToXZ()
        """
        pass

    def SetSliceOrientationToYZ(self): # real signature unknown; restored from __doc__
        """
        SetSliceOrientationToYZ(self) -> None
        C++: virtual void SetSliceOrientationToYZ()
        """
        pass

    def SetVolumeMapper(self, mapper): # real signature unknown; restored from __doc__
        """
        SetVolumeMapper(self, mapper:vtkVolumeMapper) -> None
        C++: virtual void SetVolumeMapper(vtkVolumeMapper *mapper)
        
        Set/Get the input volume mapper Update the widget according to
        its mapper
        """
        pass

    def UpdateAccordingToInput(self): # real signature unknown; restored from __doc__
        """
        UpdateAccordingToInput(self) -> None
        C++: virtual void UpdateAccordingToInput()
        """
        pass

    def UpdateCursorIcon(self): # real signature unknown; restored from __doc__
        """
        UpdateCursorIcon(self) -> None
        C++: void UpdateCursorIcon()
        """
        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."""


    CroppingPlanesPositionChangedEvent = 10050
    SLICE_ORIENTATION_XY = 2
    SLICE_ORIENTATION_XZ = 1
    SLICE_ORIENTATION_YZ = 0
    WidgetEventIds = None # (!) real value is "<class 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget.WidgetEventIds'>"
    __dict__ = None # (!) real value is "mappingproxy({'__vtkname__': 'vtkImageCroppingRegionsWidget', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'PlaceWidget': <method 'PlaceWidget' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetEnabled': <method 'SetEnabled' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetPlanePositions': <method 'GetPlanePositions' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetPlanePositions': <method 'SetPlanePositions' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetCroppingRegionFlags': <method 'SetCroppingRegionFlags' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetCroppingRegionFlags': <method 'GetCroppingRegionFlags' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetSliceOrientation': <method 'GetSliceOrientation' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetSliceOrientation': <method 'SetSliceOrientation' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetSliceOrientationToXY': <method 'SetSliceOrientationToXY' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetSliceOrientationToYZ': <method 'SetSliceOrientationToYZ' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetSliceOrientationToXZ': <method 'SetSliceOrientationToXZ' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetSlice': <method 'SetSlice' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetSlice': <method 'GetSlice' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetLine1Color': <method 'SetLine1Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetLine1Color': <method 'GetLine1Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetLine2Color': <method 'SetLine2Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetLine2Color': <method 'GetLine2Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetLine3Color': <method 'SetLine3Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetLine3Color': <method 'GetLine3Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetLine4Color': <method 'SetLine4Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetLine4Color': <method 'GetLine4Color' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'SetVolumeMapper': <method 'SetVolumeMapper' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'GetVolumeMapper': <method 'GetVolumeMapper' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'UpdateAccordingToInput': <method 'UpdateAccordingToInput' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'MoveHorizontalLine': <method 'MoveHorizontalLine' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'MoveVerticalLine': <method 'MoveVerticalLine' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'MoveIntersectingLines': <method 'MoveIntersectingLines' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'UpdateCursorIcon': <method 'UpdateCursorIcon' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'OnButtonPress': <method 'OnButtonPress' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'OnButtonRelease': <method 'OnButtonRelease' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'OnMouseMove': <method 'OnMouseMove' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, 'WidgetEventIds': <class 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget.WidgetEventIds'>, 'SLICE_ORIENTATION_YZ': 0, 'SLICE_ORIENTATION_XZ': 1, 'SLICE_ORIENTATION_XY': 2, 'CroppingPlanesPositionChangedEvent': 10050, '__new__': <built-in method __new__ of type object at 0x00007FF81D64C050>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkInteractionWidgets.vtkImageCroppingRegionsWidget' objects>, '__doc__': 'vtkImageCroppingRegionsWidget - widget for cropping an image\\n\\nSuperclass: vtk3DWidget\\n\\nThis widget displays a set of axis aligned lines that can be\\ninteractively manipulated to crop a volume. The region to be cropped\\naway is displayed in a different highlight. Much like the\\nvtkVolumeMapper, this widget supports 27 possible configurations of\\ncropping planes. (See CroppingRegionFlags). If a volume mapper is\\nset, the cropping planes are directly propagated to the volume\\nmapper. The widget invokes a CroppingPlanesPositionChangedEvent when\\nthe position of any of the cropping planes is changed. The widget\\nalso invokes an InteractionEvent in response to user interaction.\\n\\n'})"
    __vtkname__ = 'vtkImageCroppingRegionsWidget'


