"""
This type stub file was generated by pyright.
"""

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):
        """
        V.BuildRepresentation()
        C++: void BuildRepresentation() override;
        
        Provide the necessary methods to satisfy the
        vtkWidgetRepresentation API.
        """
        ...
    
    def ComputeInteractionState(self, p_int, p_int_1, p_int_2):
        """
        V.ComputeInteractionState(int, int, int) -> int
        C++: int ComputeInteractionState(int X, int Y, int modify=0)
            override;
        
        Provide the necessary methods to satisfy the
        vtkWidgetRepresentation API.
        """
        ...
    
    def FollowCameraOff(self):
        """
        V.FollowCameraOff()
        C++: virtual void FollowCameraOff()
        
        Specify whether the button should always face the camera. If
        enabled, the button reorients itself towards the camera as the
        camera moves.
        """
        ...
    
    def FollowCameraOn(self):
        """
        V.FollowCameraOn()
        C++: virtual void FollowCameraOn()
        
        Specify whether the button should always face the camera. If
        enabled, the button reorients itself towards the camera as the
        camera moves.
        """
        ...
    
    def GetActors(self, vtkPropCollection):
        """
        V.GetActors(vtkPropCollection)
        C++: void GetActors(vtkPropCollection *pc) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def GetBounds(self):
        """
        V.GetBounds() -> (float, float, float, float, float, float)
        C++: double *GetBounds() override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def GetButtonProp(self, p_int):
        """
        V.GetButtonProp(int) -> vtkProp3D
        C++: vtkProp3D *GetButtonProp(int i)
        
        Add the ith texture corresponding to the ith button state. The
        parameter i should be (0 <= i < NumberOfStates).
        """
        ...
    
    def GetFollowCamera(self):
        """
        V.GetFollowCamera() -> int
        C++: virtual vtkTypeBool GetFollowCamera()
        
        Specify whether the button should always face the camera. If
        enabled, the button reorients itself towards the camera as the
        camera moves.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard methods for instances of the class.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard methods for instances of the class.
        """
        ...
    
    def HasTranslucentPolygonalGeometry(self):
        """
        V.HasTranslucentPolygonalGeometry() -> int
        C++: vtkTypeBool HasTranslucentPolygonalGeometry() override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard methods for instances of the class.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard methods for instances of the class.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkProp3DButtonRepresentation
        C++: vtkProp3DButtonRepresentation *NewInstance()
        
        Standard methods for instances of the class.
        """
        ...
    
    def PlaceWidget(self, p_float=..., p_float=..., p_float=..., p_float=..., p_float=..., p_float=...):
        """
        V.PlaceWidget([float, float, float, float, float, float])
        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.
        """
        ...
    
    def RegisterPickers(self):
        """
        V.RegisterPickers()
        C++: void RegisterPickers() override;
        
        Register internal Pickers in the Picking Manager. Must be
        reimplemented by concrete widget representations to register
        their pickers.
        """
        ...
    
    def ReleaseGraphicsResources(self, vtkWindow):
        """
        V.ReleaseGraphicsResources(vtkWindow)
        C++: void ReleaseGraphicsResources(vtkWindow *) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def RenderOpaqueGeometry(self, vtkViewport):
        """
        V.RenderOpaqueGeometry(vtkViewport) -> int
        C++: int RenderOpaqueGeometry(vtkViewport *) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def RenderTranslucentPolygonalGeometry(self, vtkViewport):
        """
        V.RenderTranslucentPolygonalGeometry(vtkViewport) -> int
        C++: int RenderTranslucentPolygonalGeometry(vtkViewport *)
            override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def RenderVolumetricGeometry(self, vtkViewport):
        """
        V.RenderVolumetricGeometry(vtkViewport) -> int
        C++: int RenderVolumetricGeometry(vtkViewport *) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkProp3DButtonRepresentation
        C++: static vtkProp3DButtonRepresentation *SafeDownCast(
            vtkObjectBase *o)
        
        Standard methods for instances of the class.
        """
        ...
    
    def SetButtonProp(self, p_int, vtkProp3D):
        """
        V.SetButtonProp(int, vtkProp3D)
        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).
        """
        ...
    
    def SetFollowCamera(self, p_int):
        """
        V.SetFollowCamera(int)
        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.
        """
        ...
    
    def SetState(self, p_int):
        """
        V.SetState(int)
        C++: void SetState(int state) override;
        
        Extend the vtkButtonRepresentation::SetState() method.
        """
        ...
    
    def ShallowCopy(self, vtkProp):
        """
        V.ShallowCopy(vtkProp)
        C++: void ShallowCopy(vtkProp *prop) override;
        
        Provide the necessary methods to satisfy the rendering API.
        """
        ...
    
    def __delattr__(self, *args, **kwargs):
        """ Implement delattr(self, name). """
        ...
    
    def __getattribute__(self, *args, **kwargs):
        """ Return getattr(self, name). """
        ...
    
    def __init__(self, *args, **kwargs) -> None:
        ...
    
    @staticmethod
    def __new__(*args, **kwargs):
        """ Create and return a new object.  See help(type) for accurate signature. """
        ...
    
    def __repr__(self, *args, **kwargs):
        """ Return repr(self). """
        ...
    
    def __setattr__(self, *args, **kwargs):
        """ Implement setattr(self, name, value). """
        ...
    
    def __str__(self, *args, **kwargs) -> str:
        """ Return str(self). """
        ...
    
    __this__ = ...
    __dict__ = ...
    __vtkname__ = ...


