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

import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkRenderingSceneGraph as __vtkmodules_vtkRenderingSceneGraph

class vtkVtkJSSceneGraphSerializer(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkVtkJSSceneGraphSerializer - Converts elements of a VTK scene graph
    into vtk-js elements
    
    Superclass: vtkObject
    
    vtkVtkJSSceneGraphSerializer accepts nodes and their renderables from
    a scene graph and a) composes the elements' data and topology into a
    Json data structure and b) correlates unique identifiers for data
    objects in the Json data structure to the data objects themselves. It
    is designed to operate with vtkVtkJSViewNodeFactory, which handles
    the logic for scene graph traversal.
    
    When constructing the Json description for a single scene graph node
    and its renderable, the Add(node, renderable) step processes the
    renderable into its corresponding vtk-js form. For many renderables
    this is a no-op, but current restrictions in vtk-js (such as the lack
    of support for composite mappers and the requirement for data
    conversion to vtkPolyData) require a nontrival conversion step for
    certain renderable types. The subsequent ToJson(renderable) is a
    straightforward conversion of the renderable's data members into a
    vtk-js Json format.
    
    @sa
    vtkVtkJSViewNodeFactory
    """
    def Add(self, vtkViewNode, vtkActor):
        """
        V.Add(vtkViewNode, vtkActor)
        C++: virtual void Add(vtkViewNode *, vtkActor *)
        V.Add(vtkViewNode, vtkCompositePolyDataMapper)
        C++: virtual void Add(vtkViewNode *, vtkCompositePolyDataMapper *)
        V.Add(vtkViewNode, vtkCompositePolyDataMapper2)
        C++: virtual void Add(vtkViewNode *,
            vtkCompositePolyDataMapper2 *)
        V.Add(vtkViewNode, vtkGlyph3DMapper)
        C++: virtual void Add(vtkViewNode *, vtkGlyph3DMapper *)
        V.Add(vtkViewNode, vtkMapper)
        C++: virtual void Add(vtkViewNode *, vtkMapper *)
        V.Add(vtkViewNode, vtkRenderer)
        C++: virtual void Add(vtkViewNode *, vtkRenderer *)
        V.Add(vtkViewNode, vtkRenderWindow)
        C++: virtual void Add(vtkViewNode *, vtkRenderWindow *)
        
        Add a scene graph node and its corresponding renderable to the
        scene.
        """
        ...
    
    def GetDataArray(self, p_int):
        """
        V.GetDataArray(int) -> vtkDataArray
        C++: vtkDataArray *GetDataArray(vtkIdType)
        
        Access the data arrays referenced in the constructed scene.
        """
        ...
    
    def GetDataArrayId(self, p_int):
        """
        V.GetDataArrayId(int) -> string
        C++: std::string GetDataArrayId(vtkIdType)
        
        Access the data arrays referenced in the constructed scene.
        """
        ...
    
    def GetDataObject(self, p_int):
        """
        V.GetDataObject(int) -> vtkDataObject
        C++: vtkDataObject *GetDataObject(vtkIdType)
        
        Access the data objects referenced in the constructed scene.
        """
        ...
    
    def GetNumberOfDataArrays(self):
        """
        V.GetNumberOfDataArrays() -> int
        C++: vtkIdType GetNumberOfDataArrays()
        
        Access the data arrays referenced in the constructed scene.
        """
        ...
    
    def GetNumberOfDataObjects(self):
        """
        V.GetNumberOfDataObjects() -> int
        C++: vtkIdType GetNumberOfDataObjects()
        
        Access the data objects referenced in the constructed scene.
        """
        ...
    
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        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.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> 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.
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> 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.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> 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.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkVtkJSSceneGraphSerializer
        C++: vtkVtkJSSceneGraphSerializer *NewInstance()
        """
        ...
    
    def Reset(self):
        """
        V.Reset()
        C++: void Reset()
        
        Empty the contents of the scene and the reset the unique id
        generator.
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkVtkJSSceneGraphSerializer
        C++: static vtkVtkJSSceneGraphSerializer *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    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__ = ...


class vtkVtkJSViewNodeFactory(__vtkmodules_vtkRenderingSceneGraph.vtkViewNodeFactory):
    """
    vtkVtkJSViewNodeFactory - Constructs view nodes for traversing a
    scene for vtk-js
    
    Superclass: vtkViewNodeFactory
    
    vtkVtkJSViewNodeFactory constructs view nodes that are subsequently
    executed as a scene graph is traversed. The generated view nodes
    inherit from vtkViewNode and augment the synchronize and render
    traversal steps to construct Json representations of the scene
    elements and to update the pipelines associated with the datasets to
    render, respectively.
    
    @sa
    vtkVtkJSSceneGraphSerializer
    """
    def GetNumberOfGenerationsFromBase(self, string):
        """
        V.GetNumberOfGenerationsFromBase(string) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        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.
        """
        ...
    
    def GetNumberOfGenerationsFromBaseType(self, string):
        """
        V.GetNumberOfGenerationsFromBaseType(string) -> 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.
        """
        ...
    
    def GetSerializer(self):
        """
        V.GetSerializer() -> vtkVtkJSSceneGraphSerializer
        C++: virtual vtkVtkJSSceneGraphSerializer *GetSerializer()
        
        Specify the Serializer object
        """
        ...
    
    def IsA(self, string):
        """
        V.IsA(string) -> 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.
        """
        ...
    
    def IsTypeOf(self, string):
        """
        V.IsTypeOf(string) -> 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.
        """
        ...
    
    def NewInstance(self):
        """
        V.NewInstance() -> vtkVtkJSViewNodeFactory
        C++: vtkVtkJSViewNodeFactory *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkVtkJSViewNodeFactory
        C++: static vtkVtkJSViewNodeFactory *SafeDownCast(
            vtkObjectBase *o)
        """
        ...
    
    def SetSerializer(self, vtkVtkJSSceneGraphSerializer):
        """
        V.SetSerializer(vtkVtkJSSceneGraphSerializer)
        C++: void SetSerializer(vtkVtkJSSceneGraphSerializer *)
        
        Specify the Serializer object
        """
        ...
    
    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__ = ...


__loader__ = ...
__spec__ = ...
