# 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 vtkResliceCursorWidget(vtkAbstractWidget):
    """
    vtkResliceCursorWidget - represent a reslice cursor
    
    Superclass: vtkAbstractWidget
    
    This class represents a reslice cursor that can be used to perform
    interactive thick slab MPR's through data. It consists of two cross
    sectional hairs, with an optional thickness. The hairs may have a
    hole in the center. These may be translated or rotated independent of
    each other in the view. The result is used to reslice the data along
    these cross sections. This allows the user to perform multi-planar
    thin or thick reformat of the data on an image view, rather than a 3D
    view. The class internally uses vtkImageSlabReslice or
    vtkImageReslice depending on the modes in vtkResliceCursor to do its
    reslicing. The slab thickness is set interactively from the widget.
    The slab resolution (ie the number of blend points) is set as the
    minimum spacing along any dimension from the dataset.
    @sa
    vtkImageSlabReslice vtkResliceCursorLineRepresentation
    vtkResliceCursor
    """
    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 GetManageWindowLevel(self): # real signature unknown; restored from __doc__
        """
        GetManageWindowLevel(self) -> int
        C++: virtual vtkTypeBool GetManageWindowLevel()
        """
        return 0

    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 GetResliceCursorRepresentation(self): # real signature unknown; restored from __doc__
        """
        GetResliceCursorRepresentation(self)
            -> vtkResliceCursorRepresentation
        C++: vtkResliceCursorRepresentation *GetResliceCursorRepresentation(
            )
        
        Return the representation as a vtkResliceCursorRepresentation.
        """
        return vtkResliceCursorRepresentation

    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 ManageWindowLevelOff(self): # real signature unknown; restored from __doc__
        """
        ManageWindowLevelOff(self) -> None
        C++: virtual void ManageWindowLevelOff()
        """
        pass

    def ManageWindowLevelOn(self): # real signature unknown; restored from __doc__
        """
        ManageWindowLevelOn(self) -> None
        C++: virtual void ManageWindowLevelOn()
        """
        pass

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkResliceCursorWidget
        C++: vtkResliceCursorWidget *NewInstance()
        """
        return vtkResliceCursorWidget

    def ResetResliceCursor(self): # real signature unknown; restored from __doc__
        """
        ResetResliceCursor(self) -> None
        C++: virtual void ResetResliceCursor()
        
        Reset the cursor back to its initial state
        """
        pass

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkResliceCursorWidget
        C++: static vtkResliceCursorWidget *SafeDownCast(vtkObjectBase *o)
        """
        return vtkResliceCursorWidget

    def SetEnabled(self, __a): # real signature unknown; restored from __doc__
        """
        SetEnabled(self, __a:int) -> None
        C++: void SetEnabled(int) override;
        
        Methods for activiating this widget. This implementation extends
        the superclasses' in order to resize the widget handles due to a
        render start event.
        """
        pass

    def SetManageWindowLevel(self, _arg): # real signature unknown; restored from __doc__
        """
        SetManageWindowLevel(self, _arg:int) -> None
        C++: virtual void SetManageWindowLevel(vtkTypeBool _arg)
        
        Also perform window level ?
        """
        pass

    def SetRepresentation(self, r): # real signature unknown; restored from __doc__
        """
        SetRepresentation(self, r:vtkResliceCursorRepresentation) -> None
        C++: void SetRepresentation(vtkResliceCursorRepresentation *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."""


    ResetCursorEvent = 1058
    ResliceAxesChangedEvent = 1056
    ResliceThicknessChangedEvent = 1057
    WindowLevelEvent = 1055
    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkResliceCursorWidget\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'SetRepresentation\': <method \'SetRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'GetResliceCursorRepresentation\': <method \'GetResliceCursorRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'CreateDefaultRepresentation\': <method \'CreateDefaultRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'SetEnabled\': <method \'SetEnabled\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'SetManageWindowLevel\': <method \'SetManageWindowLevel\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'GetManageWindowLevel\': <method \'GetManageWindowLevel\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'ManageWindowLevelOn\': <method \'ManageWindowLevelOn\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'ManageWindowLevelOff\': <method \'ManageWindowLevelOff\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'ResetResliceCursor\': <method \'ResetResliceCursor\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'WindowLevelEvent\': 1055, \'ResliceAxesChangedEvent\': 1056, \'ResliceThicknessChangedEvent\': 1057, \'ResetCursorEvent\': 1058, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D660140>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInteractionWidgets.vtkResliceCursorWidget\' objects>, \'__doc__\': "vtkResliceCursorWidget - represent a reslice cursor\\n\\nSuperclass: vtkAbstractWidget\\n\\nThis class represents a reslice cursor that can be used to perform\\ninteractive thick slab MPR\'s through data. It consists of two cross\\nsectional hairs, with an optional thickness. The hairs may have a\\nhole in the center. These may be translated or rotated independent of\\neach other in the view. The result is used to reslice the data along\\nthese cross sections. This allows the user to perform multi-planar\\nthin or thick reformat of the data on an image view, rather than a 3D\\nview. The class internally uses vtkImageSlabReslice or\\nvtkImageReslice depending on the modes in vtkResliceCursor to do its\\nreslicing. The slab thickness is set interactively from the widget.\\nThe slab resolution (ie the number of blend points) is set as the\\nminimum spacing along any dimension from the dataset.\\n@sa\\nvtkImageSlabReslice vtkResliceCursorLineRepresentation\\nvtkResliceCursor\\n\\n"})'
    __vtkname__ = 'vtkResliceCursorWidget'


