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

from .vtkInteractorStyle import vtkInteractorStyle

class vtkInteractorStyle3D(vtkInteractorStyle):
    """
    vtkInteractorStyle3D - extends interaction to support 3D input
    
    Superclass: vtkInteractorStyle
    
    vtkInteractorStyle3D allows the user to interact with (rotate, pan,
    etc.) objects in the scene indendent of each other. It is designed to
    use 3d positions and orientations instead of 2D.
    
    The following interactions are specified by default.
    
    A click and hold in 3D within the bounding box of a prop will pick up
    that prop allowing you to translate and orient that prop as desired
    with the 3D controller.
    
    Click/dragging two controllers and pulling them apart or pushing them
    together will initial a scale gesture that will scale the world
    larger or smaller.
    
    Click/dragging two controllers and translating them in the same
    direction will translate the camera/world pushing them together will
    initial a scale gesture that will scale the world larger or smaller.
    
    If a controller is right clicked (push touchpad on Vive) then it
    starts a fly motion where the camer moves in the direction the
    controller is pointing. It moves at a speed scaled by the position of
    your thumb on the trackpad. Higher moves faster forward. Lower moves
    faster backwards.
    
    For the Vive left click is mapped to the trigger and right click is
    mapped to pushing the trackpad down.
    
    @sa
    vtkRenderWindowInteractor3D
    """
    def Dolly3D(self, vtkEventData):
        """
        V.Dolly3D(vtkEventData)
        C++: virtual void Dolly3D(vtkEventData *)
        """
        ...
    
    def GetDollyPhysicalSpeed(self):
        """
        V.GetDollyPhysicalSpeed() -> float
        C++: virtual double GetDollyPhysicalSpeed()
        
        Set/Get the maximum dolly speed used when flying in 3D, in meters
        per second. Default is 1.6666, corresponding to walking speed (=
        6 km/h). This speed is scaled by the touchpad position as well.
        """
        ...
    
    def GetInteractionPicker(self):
        """
        V.GetInteractionPicker() -> vtkAbstractPropPicker
        C++: virtual vtkAbstractPropPicker *GetInteractionPicker()
        
        Get/Set the interaction picker. By default, a vtkPropPicker is
        instancied.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkInteractorStyle3D
        C++: vtkInteractorStyle3D *NewInstance()
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def PositionProp(self, vtkEventData):
        """
        V.PositionProp(vtkEventData)
        C++: virtual void PositionProp(vtkEventData *)
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkInteractorStyle3D
        C++: static vtkInteractorStyle3D *SafeDownCast(vtkObjectBase *o)
        
        This class must be supplied with a vtkRenderWindowInteractor
        wrapper or parent. This class should not normally be instantiated
        by application programmers.
        """
        ...
    
    def SetDollyPhysicalSpeed(self, p_float):
        """
        V.SetDollyPhysicalSpeed(float)
        C++: virtual void SetDollyPhysicalSpeed(double _arg)
        
        Set/Get the maximum dolly speed used when flying in 3D, in meters
        per second. Default is 1.6666, corresponding to walking speed (=
        6 km/h). This speed is scaled by the touchpad position as well.
        """
        ...
    
    def SetInteractionPicker(self, vtkAbstractPropPicker):
        """
        V.SetInteractionPicker(vtkAbstractPropPicker)
        C++: void SetInteractionPicker(vtkAbstractPropPicker *prop)
        
        Get/Set the interaction picker. By default, a vtkPropPicker is
        instancied.
        """
        ...
    
    def SetScale(self, vtkCamera, p_float):
        """
        V.SetScale(vtkCamera, float)
        C++: virtual void SetScale(vtkCamera *cam, double newScale)
        
        Set the scaling factor from world to physical space. In VR when
        we set it to a new value we also adjust the HMD position to
        maintain the same relative position.
        """
        ...
    
    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__ = ...


