# 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 .vtkButtonRepresentation import vtkButtonRepresentation

class vtkTexturedButtonRepresentation2D(vtkButtonRepresentation):
    """
    vtkTexturedButtonRepresentation2D - defines a representation for a
    vtkButtonWidget
    
    Superclass: vtkButtonRepresentation
    
    This class implements one type of vtkButtonRepresentation. It changes
    the appearance of a user-provided polydata by assigning textures
    according to the current button state. It also provides highlighting
    (when hovering and selecting the button) by fiddling with the actor's
    property. Since this is a 2D version, the button is rendered in the
    overlay plane. Typically it is positioned in display coordinates, but
    it can be anchored to a world position so it will appear to move as
    the camera moves.
    
    To use this representation, always begin by specifying the number of
    button states.  Then provide a polydata (the polydata should have
    associated texture coordinates), and a list of textures cooresponding
    to the button states. Optionally, the HoveringProperty and
    SelectionProperty can be adjusted to obtain the appropriate
    appearance.
    
    @warning
    There are two variants of the PlaceWidget() method. The first
    PlaceWidget(bds[6]) allows the widget to be placed in the display
    coordinates fixed to the overlay plane. The second
    PlaceWidget(anchor[3],size[2]) places the widget in world space;
    hence it will appear to move as the camera moves around the scene.
    
    @sa
    vtkButtonWidget vtkButtonRepresentation
    vtkTexturedButtonRepresentation vtkProp3DButtonRepresentation
    """
    def BuildRepresentation(self): # real signature unknown; restored from __doc__
        """
        BuildRepresentation(self) -> None
        C++: void BuildRepresentation() override;
        """
        pass

    def ComputeInteractionState(self, X, Y, modify=0): # real signature unknown; restored from __doc__
        """
        ComputeInteractionState(self, X:int, Y:int, modify:int=0) -> int
        C++: int ComputeInteractionState(int X, int Y, int modify=0)
            override;
        
        Provide the necessary methods to satisfy the
        vtkWidgetRepresentation API.
        """
        return 0

    def GetActors(self, pc): # real signature unknown; restored from __doc__
        """
        GetActors(self, pc:vtkPropCollection) -> None
        C++: void GetActors(vtkPropCollection *pc) override;
        
        For some exporters and other other operations we must be able to
        collect all the actors or volumes. These methods are used in that
        process.
        """
        pass

    def GetBalloon(self): # real signature unknown; restored from __doc__
        """
        GetBalloon(self) -> vtkBalloonRepresentation
        C++: vtkBalloonRepresentation *GetBalloon()
        
        Grab the underlying vtkBalloonRepresentation used to position and
        display the button texture.
        """
        return vtkBalloonRepresentation

    def GetBounds(self): # real signature unknown; restored from __doc__
        """
        GetBounds(self) -> (float, float, float, float, float, float)
        C++: double *GetBounds() override;
        
        Methods to make this class behave as a vtkProp. They are repeated
        here (from the vtkProp superclass) as a reminder to the widget
        implementor. Failure to implement these methods properly may
        result in the representation not appearing in the scene (i.e.,
        not implementing the Render() methods properly) or leaking
        graphics resources (i.e., not implementing
        ReleaseGraphicsResources() properly).
        """
        pass

    def GetButtonTexture(self, i): # real signature unknown; restored from __doc__
        """
        GetButtonTexture(self, i:int) -> vtkImageData
        C++: vtkImageData *GetButtonTexture(int i)
        """
        pass

    def GetHoveringProperty(self): # real signature unknown; restored from __doc__
        """
        GetHoveringProperty(self) -> vtkProperty2D
        C++: virtual vtkProperty2D *GetHoveringProperty()
        """
        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 GetProperty(self): # real signature unknown; restored from __doc__
        """
        GetProperty(self) -> vtkProperty2D
        C++: virtual vtkProperty2D *GetProperty()
        """
        pass

    def GetSelectingProperty(self): # real signature unknown; restored from __doc__
        """
        GetSelectingProperty(self) -> vtkProperty2D
        C++: virtual vtkProperty2D *GetSelectingProperty()
        """
        pass

    def HasTranslucentPolygonalGeometry(self): # real signature unknown; restored from __doc__
        """
        HasTranslucentPolygonalGeometry(self) -> int
        C++: vtkTypeBool HasTranslucentPolygonalGeometry() override;
        
        WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT
        USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS Does this prop
        have some translucent polygonal geometry? This method is called
        during the rendering process to know if there is some translucent
        polygonal geometry. A simple prop that has some translucent
        polygonal geometry will return true. A composite prop (like
        vtkAssembly) that has at least one sub-prop that has some
        translucent polygonal geometry will return true. Default
        implementation return false.
        """
        return 0

    def Highlight(self, state): # real signature unknown; restored from __doc__
        """
        Highlight(self, state:int) -> None
        C++: void Highlight(int state) override;
        """
        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) -> vtkTexturedButtonRepresentation2D
        C++: vtkTexturedButtonRepresentation2D *NewInstance()
        """
        return vtkTexturedButtonRepresentation2D

    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, anchor:[float, float, float], size:[int, int])
            -> None
        C++: virtual void PlaceWidget(double anchor[3], int size[2])
        
        Conventional PlaceWidget() method to satisfy the
        vtkWidgetRepresentation API. In this version, bounds[6] specifies
        a rectangle in *display* coordinates in which to place the
        button. The values for bounds[4] and bounds[5] can be set to
        zero. Note that PlaceWidget() is typically called at the end of
        configuring the button representation.
        """
        pass

    def ReleaseGraphicsResources(self, __a): # real signature unknown; restored from __doc__
        """
        ReleaseGraphicsResources(self, __a:vtkWindow) -> None
        C++: void ReleaseGraphicsResources(vtkWindow *) override;
        
        WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE Release
        any graphics resources that are being consumed by this actor. The
        parameter window could be used to determine which graphic
        resources to release.
        """
        pass

    def RenderOverlay(self, __a): # real signature unknown; restored from __doc__
        """
        RenderOverlay(self, __a:vtkViewport) -> int
        C++: int RenderOverlay(vtkViewport *) override;
        """
        return 0

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkTexturedButtonRepresentation2D
        C++: static vtkTexturedButtonRepresentation2D *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkTexturedButtonRepresentation2D

    def SetButtonTexture(self, i, image): # real signature unknown; restored from __doc__
        """
        SetButtonTexture(self, i:int, image:vtkImageData) -> None
        C++: void SetButtonTexture(int i, vtkImageData *image)
        
        Add the ith texture corresponding to the ith button state. The
        parameter i should be 0<=i<NumberOfStates.
        """
        pass

    def SetHoveringProperty(self, p): # real signature unknown; restored from __doc__
        """
        SetHoveringProperty(self, p:vtkProperty2D) -> None
        C++: virtual void SetHoveringProperty(vtkProperty2D *p)
        
        Specify the property to use when the hovering over the button.
        """
        pass

    def SetProperty(self, p): # real signature unknown; restored from __doc__
        """
        SetProperty(self, p:vtkProperty2D) -> None
        C++: virtual void SetProperty(vtkProperty2D *p)
        
        Specify the property to use when the button is to appear "normal"
        i.e., the mouse pointer is not hovering or selecting the button.
        """
        pass

    def SetSelectingProperty(self, p): # real signature unknown; restored from __doc__
        """
        SetSelectingProperty(self, p:vtkProperty2D) -> None
        C++: virtual void SetSelectingProperty(vtkProperty2D *p)
        
        Specify the property to use when selecting the button.
        """
        pass

    def ShallowCopy(self, prop): # real signature unknown; restored from __doc__
        """
        ShallowCopy(self, prop:vtkProp) -> None
        C++: void ShallowCopy(vtkProp *prop) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        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__\': \'vtkTexturedButtonRepresentation2D\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'SetProperty\': <method \'SetProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetProperty\': <method \'GetProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'SetHoveringProperty\': <method \'SetHoveringProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetHoveringProperty\': <method \'GetHoveringProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'SetSelectingProperty\': <method \'SetSelectingProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetSelectingProperty\': <method \'GetSelectingProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'SetButtonTexture\': <method \'SetButtonTexture\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetButtonTexture\': <method \'GetButtonTexture\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetBalloon\': <method \'GetBalloon\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'ComputeInteractionState\': <method \'ComputeInteractionState\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'BuildRepresentation\': <method \'BuildRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'Highlight\': <method \'Highlight\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'PlaceWidget\': <method \'PlaceWidget\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'ShallowCopy\': <method \'ShallowCopy\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetBounds\': <method \'GetBounds\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'GetActors\': <method \'GetActors\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'ReleaseGraphicsResources\': <method \'ReleaseGraphicsResources\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'RenderOverlay\': <method \'RenderOverlay\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'HasTranslucentPolygonalGeometry\': <method \'HasTranslucentPolygonalGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D6685E0>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation2D\' objects>, \'__doc__\': "vtkTexturedButtonRepresentation2D - defines a representation for a\\nvtkButtonWidget\\n\\nSuperclass: vtkButtonRepresentation\\n\\nThis class implements one type of vtkButtonRepresentation. It changes\\nthe appearance of a user-provided polydata by assigning textures\\naccording to the current button state. It also provides highlighting\\n(when hovering and selecting the button) by fiddling with the actor\'s\\nproperty. Since this is a 2D version, the button is rendered in the\\noverlay plane. Typically it is positioned in display coordinates, but\\nit can be anchored to a world position so it will appear to move as\\nthe camera moves.\\n\\nTo use this representation, always begin by specifying the number of\\nbutton states.  Then provide a polydata (the polydata should have\\nassociated texture coordinates), and a list of textures cooresponding\\nto the button states. Optionally, the HoveringProperty and\\nSelectionProperty can be adjusted to obtain the appropriate\\nappearance.\\n\\n@warning\\nThere are two variants of the PlaceWidget() method. The first\\nPlaceWidget(bds[6]) allows the widget to be placed in the display\\ncoordinates fixed to the overlay plane. The second\\nPlaceWidget(anchor[3],size[2]) places the widget in world space;\\nhence it will appear to move as the camera moves around the scene.\\n\\n@sa\\nvtkButtonWidget vtkButtonRepresentation\\nvtkTexturedButtonRepresentation vtkProp3DButtonRepresentation\\n\\n"})'
    __vtkname__ = 'vtkTexturedButtonRepresentation2D'


