# 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 vtkProp3DButtonRepresentation(vtkButtonRepresentation):
    """
    vtkProp3DButtonRepresentation - defines a representation for a
    vtkButtonWidget
    
    Superclass: vtkButtonRepresentation
    
    This class implements one type of vtkButtonRepresentation. Each
    button state can be represented with a separate instance of
    vtkProp3D. Thus buttons can be represented with vtkActor,
    vtkImageActor, volumes (e.g., vtkVolume) and/or any other vtkProp3D.
    Also, the class invokes events when highlighting occurs (i.e.,
    hovering, selecting) so that appropriate action can be taken to
    highlight the button (if desired).
    
    To use this representation, always begin by specifying the number of
    button states.  Then provide, for each state, an instance of
    vtkProp3D.
    
    This widget representation uses the conventional placement method.
    The button is placed inside the bounding box defined by PlaceWidget
    by translating and scaling the vtkProp3D to fit (each vtkProp3D is
    transformed). Therefore, you must define the number of button states
    and each state (i.e., vtkProp3D) prior to calling vtkPlaceWidget.
    
    @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 GetButtonProp(self, i): # real signature unknown; restored from __doc__
        """
        GetButtonProp(self, i:int) -> vtkProp3D
        C++: vtkProp3D *GetButtonProp(int i)
        """
        pass

    def GetFollowCamera(self): # real signature unknown; restored from __doc__
        """
        GetFollowCamera(self) -> int
        C++: virtual vtkTypeBool GetFollowCamera()
        """
        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 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 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) -> vtkProp3DButtonRepresentation
        C++: vtkProp3DButtonRepresentation *NewInstance()
        """
        return vtkProp3DButtonRepresentation

    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;
        
        This method positions (translates and scales the props) into the
        bounding box specified. Note all the button props are scaled.
        """
        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 RenderVolumetricGeometry(self, __a): # real signature unknown; restored from __doc__
        """
        RenderVolumetricGeometry(self, __a:vtkViewport) -> int
        C++: int RenderVolumetricGeometry(vtkViewport *) override;
        """
        return 0

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkProp3DButtonRepresentation
        C++: static vtkProp3DButtonRepresentation *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkProp3DButtonRepresentation

    def SetButtonProp(self, i, prop): # real signature unknown; restored from __doc__
        """
        SetButtonProp(self, i:int, prop:vtkProp3D) -> None
        C++: void SetButtonProp(int i, vtkProp3D *prop)
        
        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 reorients itself towards the camera as the
        camera moves.
        """
        pass

    def SetState(self, state): # real signature unknown; restored from __doc__
        """
        SetState(self, state:int) -> None
        C++: void SetState(int state) override;
        
        Extend the vtkButtonRepresentation::SetState() method.
        """
        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__': 'vtkProp3DButtonRepresentation', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'SetButtonProp': <method 'SetButtonProp' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetButtonProp': <method 'GetButtonProp' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'SetFollowCamera': <method 'SetFollowCamera' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetFollowCamera': <method 'GetFollowCamera' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'FollowCameraOn': <method 'FollowCameraOn' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'FollowCameraOff': <method 'FollowCameraOff' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'SetState': <method 'SetState' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'ComputeInteractionState': <method 'ComputeInteractionState' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'BuildRepresentation': <method 'BuildRepresentation' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'PlaceWidget': <method 'PlaceWidget' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'ShallowCopy': <method 'ShallowCopy' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetBounds': <method 'GetBounds' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'GetActors': <method 'GetActors' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'ReleaseGraphicsResources': <method 'ReleaseGraphicsResources' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'RenderOpaqueGeometry': <method 'RenderOpaqueGeometry' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'RenderVolumetricGeometry': <method 'RenderVolumetricGeometry' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'RenderTranslucentPolygonalGeometry': <method 'RenderTranslucentPolygonalGeometry' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'HasTranslucentPolygonalGeometry': <method 'HasTranslucentPolygonalGeometry' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, 'RegisterPickers': <method 'RegisterPickers' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF81D65D0C0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkInteractionWidgets.vtkProp3DButtonRepresentation' objects>, '__doc__': 'vtkProp3DButtonRepresentation - defines a representation for a\\nvtkButtonWidget\\n\\nSuperclass: vtkButtonRepresentation\\n\\nThis class implements one type of vtkButtonRepresentation. Each\\nbutton state can be represented with a separate instance of\\nvtkProp3D. Thus buttons can be represented with vtkActor,\\nvtkImageActor, volumes (e.g., vtkVolume) and/or any other vtkProp3D.\\nAlso, the class invokes events when highlighting occurs (i.e.,\\nhovering, selecting) so that appropriate action can be taken to\\nhighlight the button (if desired).\\n\\nTo use this representation, always begin by specifying the number of\\nbutton states.  Then provide, for each state, an instance of\\nvtkProp3D.\\n\\nThis widget representation uses the conventional placement method.\\nThe button is placed inside the bounding box defined by PlaceWidget\\nby translating and scaling the vtkProp3D to fit (each vtkProp3D is\\ntransformed). Therefore, you must define the number of button states\\nand each state (i.e., vtkProp3D) prior to calling vtkPlaceWidget.\\n\\n@sa\\nvtkButtonWidget vtkButtonRepresentation vtkButtonSource\\nvtkEllipticalButtonSource vtkRectangularButtonSource\\n\\n'})"
    __vtkname__ = 'vtkProp3DButtonRepresentation'


