# encoding: utf-8
# module vtkmodules.vtkCommonDataModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonDataModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonMath as __vtkmodules_vtkCommonMath
import vtkmodules.vtkCommonTransforms as __vtkmodules_vtkCommonTransforms


class vtkGenericCellTessellator(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkGenericCellTessellator - helper class to perform cell tessellation
    
    Superclass: vtkObject
    
    vtkGenericCellTessellator is a helper class to perform adaptive
    tessellation of particular cell topologies. The major purpose for
    this class is to transform higher-order cell types (e.g.,
    higher-order finite elements) into linear cells that can then be
    easily visualized by VTK. This class works in conjunction with the
    vtkGenericDataSet and vtkGenericAdaptorCell classes.
    
    This algorithm is based on edge subdivision. An error metric along
    each edge is evaluated, and if the error is greater than some
    tolerance, the edge is subdivided (as well as all connected 2D and 3D
    cells). The process repeats until the error metric is satisfied.
    
    A significant issue addressed by this algorithm is to ensure face
    compatibility across neighboring cells. That is, diagonals due to
    face triangulation must match to ensure that the mesh is compatible.
    The algorithm employs a precomputed table to accelerate the
    tessellation process. The table was generated with the help of
    vtkOrderedTriangulator; the basic idea is that the choice of diagonal
    is made by considering the relative value of the point ids.
    """
    def GetErrorMetrics(self): # real signature unknown; restored from __doc__
        """
        GetErrorMetrics(self) -> vtkCollection
        C++: virtual vtkCollection *GetErrorMetrics()
        """
        pass

    def GetMaxErrors(self, errors, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        GetMaxErrors(self, errors:[float, ...]) -> None
        C++: void GetMaxErrors(double *errors)
        
        Get the maximum error measured after the fixed subdivision.
        \pre errors_exists: errors!=0
        \pre valid_size:
            sizeof(errors)==GetErrorMetrics()->GetNumberOfItems()
        """
        pass

    def GetMeasurement(self): # real signature unknown; restored from __doc__
        """
        GetMeasurement(self) -> int
        C++: virtual int GetMeasurement()
        
        If true, measure the quality of the fixed subdivision.
        """
        return 0

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given 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.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> 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.
        """
        return 0

    def InitErrorMetrics(self, ds): # real signature unknown; restored from __doc__
        """
        InitErrorMetrics(self, ds:vtkGenericDataSet) -> None
        C++: void InitErrorMetrics(vtkGenericDataSet *ds)
        
        Init the error metric with the dataset. Should be called in each
        filter before any tessellation of any cell.
        """
        pass

    def Initialize(self, ds): # real signature unknown; restored from __doc__
        """
        Initialize(self, ds:vtkGenericDataSet) -> None
        C++: virtual void Initialize(vtkGenericDataSet *ds)
        
        Initialize the tessellator with a data set `ds'.
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkGenericCellTessellator
        C++: vtkGenericCellTessellator *NewInstance()
        """
        return vtkGenericCellTessellator

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkGenericCellTessellator
        C++: static vtkGenericCellTessellator *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkGenericCellTessellator

    def SetErrorMetrics(self, someErrorMetrics): # real signature unknown; restored from __doc__
        """
        SetErrorMetrics(self, someErrorMetrics:vtkCollection) -> None
        C++: virtual void SetErrorMetrics(vtkCollection *someErrorMetrics)
        
        Specify the list of error metrics used to decide if an edge has
        to be split or not. It is a collection of
        vtkGenericSubdivisionErrorMetric-s.
        """
        pass

    def SetMeasurement(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMeasurement(self, _arg:int) -> None
        C++: virtual void SetMeasurement(int _arg)
        """
        pass

    def Tessellate(self, cell, att, points, cellArray, internalPd): # real signature unknown; restored from __doc__
        """
        Tessellate(self, cell:vtkGenericAdaptorCell,
            att:vtkGenericAttributeCollection, points:vtkDoubleArray,
            cellArray:vtkCellArray, internalPd:vtkPointData) -> None
        C++: virtual void Tessellate(vtkGenericAdaptorCell *cell,
            vtkGenericAttributeCollection *att, vtkDoubleArray *points,
            vtkCellArray *cellArray, vtkPointData *internalPd)
        
        Tessellate a 3D `cell'. The result is a set of smaller linear
        tetrahedra in `cellArray' with `points' and point data
        `internalPd'.
        \pre cell_exists: cell!=0
        \pre valid_dimension: cell->GetDimension()==3
        \pre att_exists: att!=0
        \pre points_exists: points!=0
        \pre cellArray_exists: cellArray!=0
        \pre internalPd_exists: internalPd!=0
        """
        pass

    def TessellateFace(self, cell, att, index, points, cellArray, internalPd): # real signature unknown; restored from __doc__
        """
        TessellateFace(self, cell:vtkGenericAdaptorCell,
            att:vtkGenericAttributeCollection, index:int,
            points:vtkDoubleArray, cellArray:vtkCellArray,
            internalPd:vtkPointData) -> None
        C++: virtual void TessellateFace(vtkGenericAdaptorCell *cell,
            vtkGenericAttributeCollection *att, vtkIdType index,
            vtkDoubleArray *points, vtkCellArray *cellArray,
            vtkPointData *internalPd)
        
        Tessellate a face of a 3D `cell'. The face is specified by the
        index value. The result is a set of smaller linear triangles in
        `cellArray' with `points' and point data `internalPd'.
        \pre cell_exists: cell!=0
        \pre valid_dimension: cell->GetDimension()==3
        \pre valid_index_range: (index>=0) &&
            (index<cell->GetNumberOfBoundaries(2))
        \pre att_exists: att!=0
        \pre points_exists: points!=0
        \pre cellArray_exists: cellArray!=0
        \pre internalPd_exists: internalPd!=0
        """
        pass

    def Triangulate(self, cell, att, points, cellArray, internalPd): # real signature unknown; restored from __doc__
        """
        Triangulate(self, cell:vtkGenericAdaptorCell,
            att:vtkGenericAttributeCollection, points:vtkDoubleArray,
            cellArray:vtkCellArray, internalPd:vtkPointData) -> None
        C++: virtual void Triangulate(vtkGenericAdaptorCell *cell,
            vtkGenericAttributeCollection *att, vtkDoubleArray *points,
            vtkCellArray *cellArray, vtkPointData *internalPd)
        
        Triangulate a 2D `cell'. The result is a set of smaller linear
        triangles in `cellArray' with `points' and point data
        `internalPd'.
        \pre cell_exists: cell!=0
        \pre valid_dimension: cell->GetDimension()==2
        \pre att_exists: att!=0
        \pre points_exists: points!=0
        \pre cellArray_exists: cellArray!=0
        \pre internalPd_exists: internalPd!=0
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is "mappingproxy({'__vtkname__': 'vtkGenericCellTessellator', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'TessellateFace': <method 'TessellateFace' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'Tessellate': <method 'Tessellate' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'Triangulate': <method 'Triangulate' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'SetErrorMetrics': <method 'SetErrorMetrics' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'GetErrorMetrics': <method 'GetErrorMetrics' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'Initialize': <method 'Initialize' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'InitErrorMetrics': <method 'InitErrorMetrics' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'GetMeasurement': <method 'GetMeasurement' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'SetMeasurement': <method 'SetMeasurement' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, 'GetMaxErrors': <method 'GetMaxErrors' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF81D623DE0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkCommonDataModel.vtkGenericCellTessellator' objects>, '__doc__': 'vtkGenericCellTessellator - helper class to perform cell tessellation\\n\\nSuperclass: vtkObject\\n\\nvtkGenericCellTessellator is a helper class to perform adaptive\\ntessellation of particular cell topologies. The major purpose for\\nthis class is to transform higher-order cell types (e.g.,\\nhigher-order finite elements) into linear cells that can then be\\neasily visualized by VTK. This class works in conjunction with the\\nvtkGenericDataSet and vtkGenericAdaptorCell classes.\\n\\nThis algorithm is based on edge subdivision. An error metric along\\neach edge is evaluated, and if the error is greater than some\\ntolerance, the edge is subdivided (as well as all connected 2D and 3D\\ncells). The process repeats until the error metric is satisfied.\\n\\nA significant issue addressed by this algorithm is to ensure face\\ncompatibility across neighboring cells. That is, diagonals due to\\nface triangulation must match to ensure that the mesh is compatible.\\nThe algorithm employs a precomputed table to accelerate the\\ntessellation process. The table was generated with the help of\\nvtkOrderedTriangulator; the basic idea is that the choice of diagonal\\nis made by considering the relative value of the point ids.\\n\\n'})"
    __vtkname__ = 'vtkGenericCellTessellator'


