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

from .vtkHigherOrderWedge import vtkHigherOrderWedge

class vtkLagrangeWedge(vtkHigherOrderWedge):
    """
    vtkLagrangeWedge - A 3D cell that represents an arbitrary order
    Lagrange wedge
    
    Superclass: vtkHigherOrderWedge
    
    vtkLagrangeWedge is a concrete implementation of vtkCell to represent
    a 3D wedge using Lagrange shape functions of user specified order. A
    wedge consists of two triangular and three quadrilateral faces. The
    first six points of the wedge (0-5) are the "corner" points where the
    first three points are the base of the wedge. This wedge point
    ordering is opposite the vtkWedge ordering though in that the base of
    the wedge defined by the first three points (0,1,2) form a triangle
    whose normal points inward (toward the triangular face (3,4,5)).
    While this is opposite the vtkWedge convention it is consistent with
    every other cell type in VTK. The first 2 parametric coordinates of
    the Lagrange wedge or for the triangular base and vary between 0 and
    1. The third parametric coordinate is between the two triangular
    faces and goes from 0 to 1 as well.
    """
    def getBdyQuad(self):
        """
        V.getBdyQuad() -> vtkHigherOrderQuadrilateral
        C++: virtual vtkHigherOrderQuadrilateral *getBdyQuad() override;
        """
        ...
    
    def getBdyTri(self):
        """
        V.getBdyTri() -> vtkHigherOrderTriangle
        C++: virtual vtkHigherOrderTriangle *getBdyTri() override;
        """
        ...
    
    def GetCellType(self):
        """
        V.GetCellType() -> int
        C++: int GetCellType() override;
        
        Return the type of cell.
        """
        ...
    
    def GetEdge(self, p_int):
        """
        V.GetEdge(int) -> vtkCell
        C++: vtkCell *GetEdge(int edgeId) override;
        
        Return the edge cell from the edgeId of the cell.
        """
        ...
    
    def getEdgeCell(self):
        """
        V.getEdgeCell() -> vtkHigherOrderCurve
        C++: virtual vtkHigherOrderCurve *getEdgeCell() override;
        """
        ...
    
    def GetFace(self, p_int):
        """
        V.GetFace(int) -> vtkCell
        C++: vtkCell *GetFace(int faceId) override;
        
        Return the face cell from the faceId of the cell.
        """
        ...
    
    def getInterp(self):
        """
        V.getInterp() -> vtkHigherOrderInterpolation
        C++: virtual vtkHigherOrderInterpolation *getInterp() override;
        """
        ...
    
    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 InterpolateDerivs(self, , *float):
        """
        V.InterpolateDerivs((float, float, float), [float, ...])
        C++: void InterpolateDerivs(const double pcoords[3],
            double *derivs) override;
        """
        ...
    
    def InterpolateFunctions(self, , *float):
        """
        V.InterpolateFunctions((float, float, float), [float, ...])
        C++: void InterpolateFunctions(const double pcoords[3],
            double *weights) override;
        
        Compute the interpolation functions/derivatives (aka shape
        functions/derivatives) No-ops at this level. Typically overridden
        in subclasses.
        """
        ...
    
    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() -> vtkLagrangeWedge
        C++: vtkLagrangeWedge *NewInstance()
        """
        ...
    
    def SafeDownCast(self, vtkObjectBase):
        """
        V.SafeDownCast(vtkObjectBase) -> vtkLagrangeWedge
        C++: static vtkLagrangeWedge *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__ = ...


