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

from .vtkAbstractWidget import vtkAbstractWidget

class vtkParallelopipedWidget(vtkAbstractWidget):
    """
    vtkParallelopipedWidget - a widget to manipulate 3D parallelopipeds
    
    Superclass: vtkAbstractWidget
    
    This widget was designed with the aim of visualizing / probing cuts
    on a skewed image data / structured grid.
    
    @par Interaction: The widget allows you to create a parallelopiped
    (defined by 8 handles). The widget is initially placed by using the
    "PlaceWidget" method in the representation class. After the widget
    has been created, the following interactions may be used to
    manipulate it :
    1) Click on a handle and drag it around moves the handle in space,
       while keeping the same axis alignment of the parallelopiped
    2) Dragging a handle with the shift button pressed resizes the piped
       along an axis.
    3) Control-click on a handle creates a chair at that position. (A
       chair is a depression in the piped that allows you to visualize
       cuts in the volume).
    4) Clicking on a chair and dragging it around moves the chair within
       the piped.
    5) Shift-click on the piped enables you to translate it.
    """
    def CreateDefaultRepresentation(self):
        """
        V.CreateDefaultRepresentation()
        C++: void CreateDefaultRepresentation() override;
        
        Create the default widget representation if one is not set.
        """
        ...
    
    def EnableChairCreationOff(self):
        """
        V.EnableChairCreationOff()
        C++: virtual void EnableChairCreationOff()
        
        Enable/disable the creation of a chair on this widget. If off,
        chairs cannot be created.
        """
        ...
    
    def EnableChairCreationOn(self):
        """
        V.EnableChairCreationOn()
        C++: virtual void EnableChairCreationOn()
        
        Enable/disable the creation of a chair on this widget. If off,
        chairs cannot be created.
        """
        ...
    
    def GetEnableChairCreation(self):
        """
        V.GetEnableChairCreation() -> int
        C++: virtual vtkTypeBool GetEnableChairCreation()
        
        Enable/disable the creation of a chair on this widget. If off,
        chairs cannot be created.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def GetParallelopipedRepresentation(self):
        """
        V.GetParallelopipedRepresentation()
            -> vtkParallelopipedRepresentation
        C++: vtkParallelopipedRepresentation *GetParallelopipedRepresentation(
            )
        
        Return the representation as a vtkParallelopipedRepresentation.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> int
        C++: vtkTypeBool IsA(const char *type) override;
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> int
        C++: static vtkTypeBool IsTypeOf(const char *type)
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkParallelopipedWidget
        C++: vtkParallelopipedWidget *NewInstance()
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkParallelopipedWidget
        C++: static vtkParallelopipedWidget *SafeDownCast(
            vtkObjectBase *o)
        
        Standard macros implementing standard VTK methods.
        """
        ...
    
    def SetEnableChairCreation(self, p_int):
        """
        V.SetEnableChairCreation(int)
        C++: virtual void SetEnableChairCreation(vtkTypeBool _arg)
        
        Enable/disable the creation of a chair on this widget. If off,
        chairs cannot be created.
        """
        ...
    
    def SetEnabled(self, p_int):
        """
        V.SetEnabled(int)
        C++: void SetEnabled(int) override;
        
        Override the superclass method. This is a composite widget, (it
        internally consists of handle widgets). We will override the
        superclass method, so that we can pass the enabled state to the
        internal widgets as well.
        """
        ...
    
    def SetProcessEvents(self, p_int):
        """
        V.SetProcessEvents(int)
        C++: void SetProcessEvents(vtkTypeBool) override;
        
        Methods to change the whether the widget responds to interaction.
        Overridden to pass the state to component widgets.
        """
        ...
    
    def SetRepresentation(self, vtkParallelopipedRepresentation):
        """
        V.SetRepresentation(vtkParallelopipedRepresentation)
        C++: void SetRepresentation(vtkParallelopipedRepresentation *r)
        
        Specify an instance of vtkWidgetRepresentation used to represent
        this widget in the scene. Note that the representation is a
        subclass of vtkProp so it can be added to the renderer
        independent of the widget.
        """
        ...
    
    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__ = ...


