# 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 vtkTexturedButtonRepresentation(vtkButtonRepresentation):
    """
    vtkTexturedButtonRepresentation - 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.
    
    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.
    
    This widget representation has two placement methods. The
    conventional PlaceWidget() method is used to locate the textured
    button inside of a user-specified bounding box (note that the button
    geometry is uniformly scaled to fit, thus two of the three dimensions
    can be "large" and the third used to perform the scaling). However
    this PlaceWidget() method will align the geometry within x-y-z
    oriented bounds. To further control the placement, use the additional
    PlaceWidget(scale,point,normal) method. This scales the geometry,
    places its center at the specified point position, and orients the
    geometry's z-direction parallel to the specified normal. This can be
    used to attach "sticky notes" or "sticky buttons" to the surface of
    objects.
    
    @sa
    vtkButtonWidget vtkButtonRepresentation vtkButtonSource
    vtkEllipticalButtonSource vtkRectangularButtonSource
    """
    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 FollowCameraOff(self): # real signature unknown; restored from __doc__
        """
        FollowCameraOff(self) -> None
        C++: virtual void FollowCameraOff()
        """
        pass

    def FollowCameraOn(self): # real signature unknown; restored from __doc__
        """
        FollowCameraOn(self) -> None
        C++: virtual void FollowCameraOn()
        """
        pass

    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 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 GetButtonGeometry(self): # real signature unknown; restored from __doc__
        """
        GetButtonGeometry(self) -> vtkPolyData
        C++: vtkPolyData *GetButtonGeometry()
        """
        pass

    def GetButtonTexture(self, i): # real signature unknown; restored from __doc__
        """
        GetButtonTexture(self, i:int) -> vtkImageData
        C++: vtkImageData *GetButtonTexture(int i)
        """
        pass

    def GetFollowCamera(self): # real signature unknown; restored from __doc__
        """
        GetFollowCamera(self) -> int
        C++: virtual vtkTypeBool GetFollowCamera()
        """
        return 0

    def GetHoveringProperty(self): # real signature unknown; restored from __doc__
        """
        GetHoveringProperty(self) -> vtkProperty
        C++: virtual vtkProperty *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) -> vtkProperty
        C++: virtual vtkProperty *GetProperty()
        """
        pass

    def GetSelectingProperty(self): # real signature unknown; restored from __doc__
        """
        GetSelectingProperty(self) -> vtkProperty
        C++: virtual vtkProperty *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) -> vtkTexturedButtonRepresentation
        C++: vtkTexturedButtonRepresentation *NewInstance()
        """
        return vtkTexturedButtonRepresentation

    def PlaceWidget(self, scale, point, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        PlaceWidget(self, scale:float, point:[float, float, float],
            normal:[float, float, float]) -> None
        C++: virtual void PlaceWidget(double scale, double point[3],
            double normal[3])
        PlaceWidget(self, bounds:[float, float, float, float, float,
            float]) -> None
        C++: void PlaceWidget(double bounds[6]) override;
        
        Alternative method for placing a button at a given position
        (defined by point[3]); at a given orientation (normal[3], where
        the z-axis of the button geometry is parallel to the normal); and
        scaled by the scale parameter. This method can bs used to attach "sticky
        notes" or "sticky buttons" to objects. A great way to attach
        interactive meta-data to 3D actors.
        """
        pass

    def RegisterPickers(self): # real signature unknown; restored from __doc__
        """
        RegisterPickers(self) -> None
        C++: void RegisterPickers() override;
        
        Register internal Pickers in the Picking Manager. Must be
        reimplemented by concrete widget representations to register
        their pickers.
        """
        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 RenderOpaqueGeometry(self, __a): # real signature unknown; restored from __doc__
        """
        RenderOpaqueGeometry(self, __a:vtkViewport) -> int
        C++: int RenderOpaqueGeometry(vtkViewport *) override;
        
        WARNING: INTERNAL METHOD - NOT INTENDED FOR GENERAL USE DO NOT
        USE THESE METHODS OUTSIDE OF THE RENDERING PROCESS All concrete
        subclasses must be able to render themselves. There are four key
        render methods in vtk and they correspond to four different
        points in the rendering cycle. Any given prop may implement one
        or more of these methods. The first method is intended for
        rendering all opaque geometry. The second method is intended for
        rendering all translucent polygonal geometry. The third one is
        intended for rendering all translucent volumetric geometry. Most
        of the volume rendering mappers draw their results during this
        third method. The last method is to render any 2D annotation or
        overlays. Each of these methods return an integer value
        indicating whether or not this render method was applied to this
        data.
        """
        return 0

    def RenderTranslucentPolygonalGeometry(self, __a): # real signature unknown; restored from __doc__
        """
        RenderTranslucentPolygonalGeometry(self, __a:vtkViewport) -> int
        C++: int RenderTranslucentPolygonalGeometry(vtkViewport *)
            override;
        """
        return 0

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkTexturedButtonRepresentation
        C++: static vtkTexturedButtonRepresentation *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkTexturedButtonRepresentation

    def SetButtonGeometry(self, pd): # real signature unknown; restored from __doc__
        """
        SetButtonGeometry(self, pd:vtkPolyData) -> None
        C++: void SetButtonGeometry(vtkPolyData *pd)
        
        Set/Get the polydata which defines the button geometry.
        """
        pass

    def SetButtonGeometryConnection(self, algOutput): # real signature unknown; restored from __doc__
        """
        SetButtonGeometryConnection(self, algOutput:vtkAlgorithmOutput)
            -> None
        C++: void SetButtonGeometryConnection(
            vtkAlgorithmOutput *algOutput)
        """
        pass

    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 SetFollowCamera(self, _arg): # real signature unknown; restored from __doc__
        """
        SetFollowCamera(self, _arg:int) -> None
        C++: virtual void SetFollowCamera(vtkTypeBool _arg)
        
        Specify whether the button should always face the camera. If
        enabled, the button rotates as the camera moves.
        """
        pass

    def SetHoveringProperty(self, p): # real signature unknown; restored from __doc__
        """
        SetHoveringProperty(self, p:vtkProperty) -> None
        C++: virtual void SetHoveringProperty(vtkProperty *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:vtkProperty) -> None
        C++: virtual void SetProperty(vtkProperty *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:vtkProperty) -> None
        C++: virtual void SetSelectingProperty(vtkProperty *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__\': \'vtkTexturedButtonRepresentation\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetButtonGeometry\': <method \'SetButtonGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetButtonGeometryConnection\': <method \'SetButtonGeometryConnection\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetButtonGeometry\': <method \'GetButtonGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetFollowCamera\': <method \'SetFollowCamera\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetFollowCamera\': <method \'GetFollowCamera\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'FollowCameraOn\': <method \'FollowCameraOn\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'FollowCameraOff\': <method \'FollowCameraOff\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetProperty\': <method \'SetProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetProperty\': <method \'GetProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetHoveringProperty\': <method \'SetHoveringProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetHoveringProperty\': <method \'GetHoveringProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetSelectingProperty\': <method \'SetSelectingProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetSelectingProperty\': <method \'GetSelectingProperty\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'SetButtonTexture\': <method \'SetButtonTexture\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetButtonTexture\': <method \'GetButtonTexture\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'PlaceWidget\': <method \'PlaceWidget\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'ComputeInteractionState\': <method \'ComputeInteractionState\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'BuildRepresentation\': <method \'BuildRepresentation\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'Highlight\': <method \'Highlight\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'ShallowCopy\': <method \'ShallowCopy\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetBounds\': <method \'GetBounds\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'GetActors\': <method \'GetActors\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'ReleaseGraphicsResources\': <method \'ReleaseGraphicsResources\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'RenderOpaqueGeometry\': <method \'RenderOpaqueGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'RenderTranslucentPolygonalGeometry\': <method \'RenderTranslucentPolygonalGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'HasTranslucentPolygonalGeometry\': <method \'HasTranslucentPolygonalGeometry\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'RegisterPickers\': <method \'RegisterPickers\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D6680F0>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkInteractionWidgets.vtkTexturedButtonRepresentation\' objects>, \'__doc__\': \'vtkTexturedButtonRepresentation - 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.\\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\\nThis widget representation has two placement methods. The\\nconventional PlaceWidget() method is used to locate the textured\\nbutton inside of a user-specified bounding box (note that the button\\ngeometry is uniformly scaled to fit, thus two of the three dimensions\\ncan be "large" and the third used to perform the scaling). However\\nthis PlaceWidget() method will align the geometry within x-y-z\\noriented bounds. To further control the placement, use the additional\\nPlaceWidget(scale,point,normal) method. This scales the geometry,\\nplaces its center at the specified point position, and orients the\\ngeometry\\\'s z-direction parallel to the specified normal. This can be\\nused to attach "sticky notes" or "sticky buttons" to the surface of\\nobjects.\\n\\n@sa\\nvtkButtonWidget vtkButtonRepresentation vtkButtonSource\\nvtkEllipticalButtonSource vtkRectangularButtonSource\\n\\n\'})'
    __vtkname__ = 'vtkTexturedButtonRepresentation'


