# 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


from .vtkDataObject import vtkDataObject

class vtkGenericDataSet(vtkDataObject):
    """
    vtkGenericDataSet - defines dataset interface
    
    Superclass: vtkDataObject
    
    In VTK, spatial-temporal data is defined in terms of a dataset. The
    dataset consists of geometry (e.g., points), topology (e.g., cells),
    and attributes (e.g., scalars, vectors, etc.) vtkGenericDataSet is an
    abstract class defining this abstraction.
    
    Since vtkGenericDataSet provides a general interface to manipulate
    data, algorithms that process it tend to be slower than those
    specialized for a particular data type. For this reason, there are
    concrete, non-abstract subclasses that represent and provide access
    to data more efficiently. Note that filters to process this dataset
    type are currently found in the VTK/GenericFiltering/ subdirectory.
    
    Unlike the vtkDataSet class, vtkGenericDataSet provides a more
    flexible interface including support for iterators. vtkGenericDataSet
    is also designed to interface VTK to external simulation packages
    without the penalty of copying memory (see
    VTK/GenericFiltering/README.html) for more information. Thus
    vtkGenericDataSet plays a central role in the adaptor framework.
    
    Please note that this class introduces the concepts of "boundary
    cells". This refers to the boundaries of a cell (e.g., face of a
    tetrahedron) which may in turn be represented as a cell. Boundary
    cells are derivative topological features of cells, and are therefore
    never explicitly represented in the dataset. Often in visualization
    algorithms, looping over boundaries (edges or faces) is employed,
    while the actual dataset cells may not traversed. Thus there are
    methods to loop over these boundary cells.
    
    Finally, as a point of clarification, points are not the same as
    vertices. Vertices refer to points, and points specify a position is
    space. Vertices are a type of 0-D cell. Also, the concept of a
    DOFNode, which is where coefficients for higher-order cells are kept,
    is a new concept introduced by the adaptor framework (see
    vtkGenericAdaptorCell for more information).
    
    @sa
    vtkGenericAdaptorCell vtkDataSet
    """
    def ComputeBounds(self): # real signature unknown; restored from __doc__
        """
        ComputeBounds(self) -> None
        C++: virtual void ComputeBounds()
        
        Compute the geometry bounding box.
        """
        pass

    def FindPoint(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        FindPoint(self, x:[float, float, float],
            p:vtkGenericPointIterator) -> None
        C++: virtual void FindPoint(double x[3],
            vtkGenericPointIterator *p)
        
        Locate the closest point `p' to position `x' (global
        coordinates).
        \pre not_empty: GetNumberOfPoints()>0
        \pre p_exists: p!=0
        """
        pass

    def GetActualMemorySize(self): # real signature unknown; restored from __doc__
        """
        GetActualMemorySize(self) -> int
        C++: unsigned long GetActualMemorySize() override;
        
        Actual size of the data in kibibytes (1024 bytes); only valid
        after the pipeline has updated. It is guaranteed to be greater
        than or equal to the memory required to represent the data.
        """
        return 0

    def GetAttributes(self): # real signature unknown; restored from __doc__
        """
        GetAttributes(self) -> vtkGenericAttributeCollection
        C++: virtual vtkGenericAttributeCollection *GetAttributes()
        GetAttributes(self, type:int) -> vtkDataSetAttributes
        C++: vtkDataSetAttributes *GetAttributes(int type) override;
        
        Get the collection of attributes associated with this dataset.
        """
        return vtkGenericAttributeCollection

    def GetBounds(self): # real signature unknown; restored from __doc__
        """
        GetBounds(self) -> Pointer
        C++: virtual double *GetBounds()
        GetBounds(self, bounds:[float, float, float, float, float, float])
             -> None
        C++: virtual void GetBounds(double bounds[6])
        
        Return a pointer to the geometry bounding box in the form
        (xmin,xmax, ymin,ymax, zmin,zmax). The return value is VOLATILE.
        \post result_exists: result!=0
        """
        pass

    def GetCellDimension(self): # real signature unknown; restored from __doc__
        """
        GetCellDimension(self) -> int
        C++: virtual int GetCellDimension()
        
        Return -1 if the dataset is explicitly defined by cells of
        varying dimensions or if there are no cells. If the dataset is
        explicitly defined by cells of a unique dimension, return this
        dimension.
        \post valid_range: (result>=-1) && (result<=3)
        """
        return 0

    def GetCellTypes(self, types): # real signature unknown; restored from __doc__
        """
        GetCellTypes(self, types:vtkCellTypes) -> None
        C++: virtual void GetCellTypes(vtkCellTypes *types)
        
        Get a list of types of cells in a dataset. The list consists of
        an array of types (not necessarily in any order), with a single
        entry per type. For example a dataset 5 triangles, 3 lines, and
        100 hexahedra would result a list of three entries, corresponding
        to the types VTK_TRIANGLE, VTK_LINE, and VTK_HEXAHEDRON. THIS
        METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND
        THE DATASET IS NOT MODIFIED
        \pre types_exist: types!=0
        """
        pass

    def GetCenter(self): # real signature unknown; restored from __doc__
        """
        GetCenter(self) -> Pointer
        C++: virtual double *GetCenter()
        GetCenter(self, center:[float, float, float]) -> None
        C++: virtual void GetCenter(double center[3])
        
        Get the center of the bounding box in global coordinates. The
        return value is VOLATILE.
        \post result_exists: result!=0
        """
        pass

    def GetData(self, info): # real signature unknown; restored from __doc__
        """
        GetData(info:vtkInformation) -> vtkGenericDataSet
        C++: static vtkGenericDataSet *GetData(vtkInformation *info)
        GetData(v:vtkInformationVector, i:int=0) -> vtkGenericDataSet
        C++: static vtkGenericDataSet *GetData(vtkInformationVector *v,
            int i=0)
        
        Retrieve an instance of this class from an information object.
        """
        return vtkGenericDataSet

    def GetDataObjectType(self): # real signature unknown; restored from __doc__
        """
        GetDataObjectType(self) -> int
        C++: int GetDataObjectType() override;
        
        Return the type of data object.
        """
        return 0

    def GetEstimatedSize(self): # real signature unknown; restored from __doc__
        """
        GetEstimatedSize(self) -> int
        C++: virtual vtkIdType GetEstimatedSize()
        
        Estimated size needed after tessellation (or special operation)
        """
        return 0

    def GetLength(self): # real signature unknown; restored from __doc__
        """
        GetLength(self) -> float
        C++: virtual double GetLength()
        
        Return the length of the diagonal of the bounding box.
        \post positive_result: result>=0
        """
        return 0.0

    def GetMTime(self): # real signature unknown; restored from __doc__
        """
        GetMTime(self) -> int
        C++: vtkMTimeType GetMTime() override;
        
        Datasets are composite objects and need to check each part for
        their modified time.
        """
        return 0

    def GetNumberOfCells(self, dim=-1): # real signature unknown; restored from __doc__
        """
        GetNumberOfCells(self, dim:int=-1) -> int
        C++: virtual vtkIdType GetNumberOfCells(int dim=-1)
        
        Return the number of cells that explicitly define the dataset.
        See NewCellIterator() for more details.
        \pre valid_dim_range: (dim>=-1) && (dim<=3)
        \post positive_result: result>=0
        """
        return 0

    def GetNumberOfElements(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfElements(self, type:int) -> int
        C++: vtkIdType GetNumberOfElements(int type) override;
        
        Get the number of elements for a specific attribute type (POINT,
        CELL, etc.).
        """
        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 GetNumberOfPoints(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfPoints(self) -> int
        C++: virtual vtkIdType GetNumberOfPoints()
        
        Return the number of points composing the dataset. See
        NewPointIterator() for more details.
        \post positive_result: result>=0
        """
        return 0

    def GetTessellator(self): # real signature unknown; restored from __doc__
        """
        GetTessellator(self) -> vtkGenericCellTessellator
        C++: virtual vtkGenericCellTessellator *GetTessellator()
        """
        return vtkGenericCellTessellator

    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 NewBoundaryIterator(self, dim=-1, exteriorOnly=0): # real signature unknown; restored from __doc__
        """
        NewBoundaryIterator(self, dim:int=-1, exteriorOnly:int=0)
            -> vtkGenericCellIterator
        C++: virtual vtkGenericCellIterator *NewBoundaryIterator(
            int dim=-1, int exteriorOnly=0)
        
        Return an iterator to traverse cell boundaries of dimension `dim'
        (or all dimensions if -1) of the dataset.  If `exteriorOnly' is
        true, only the exterior cell boundaries of the dataset will be
        returned, otherwise it will return exterior and interior cell
        boundaries. The user is responsible for deleting the iterator.
        \pre valid_dim_range: (dim>=-1) && (dim<=2)
        \post result_exists: result!=0
        """
        return vtkGenericCellIterator

    def NewCellIterator(self, dim=-1): # real signature unknown; restored from __doc__
        """
        NewCellIterator(self, dim:int=-1) -> vtkGenericCellIterator
        C++: virtual vtkGenericCellIterator *NewCellIterator(int dim=-1)
        
        Return an iterator to traverse cells of dimension `dim' (or all
        dimensions if -1) that explicitly define the dataset. For
        instance, it will return only tetrahedra if the mesh is defined
        by tetrahedra. If the mesh is composed of two parts, one with
        tetrahedra and another part with triangles, it will return both,
        but will not return the boundary edges and vertices of these
        cells. The user is responsible for deleting the iterator.
        \pre valid_dim_range: (dim>=-1) && (dim<=3)
        \post result_exists: result!=0
        """
        return vtkGenericCellIterator

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkGenericDataSet
        C++: vtkGenericDataSet *NewInstance()
        """
        return vtkGenericDataSet

    def NewPointIterator(self): # real signature unknown; restored from __doc__
        """
        NewPointIterator(self) -> vtkGenericPointIterator
        C++: virtual vtkGenericPointIterator *NewPointIterator()
        
        Return an iterator to traverse the points composing the dataset;
        they can be points that define a cell (corner points) or isolated
        points. The user is responsible for deleting the iterator.
        \post result_exists: result!=0
        """
        return vtkGenericPointIterator

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkGenericDataSet
        C++: static vtkGenericDataSet *SafeDownCast(vtkObjectBase *o)
        """
        return vtkGenericDataSet

    def SetTessellator(self, tessellator): # real signature unknown; restored from __doc__
        """
        SetTessellator(self, tessellator:vtkGenericCellTessellator)
            -> None
        C++: virtual void SetTessellator(
            vtkGenericCellTessellator *tessellator)
        
        Set/Get a cell tessellator if cells must be tessellated during
        processing.
        \pre tessellator_exists: tessellator!=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__\': \'vtkGenericDataSet\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetNumberOfPoints\': <method \'GetNumberOfPoints\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetNumberOfCells\': <method \'GetNumberOfCells\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetNumberOfElements\': <method \'GetNumberOfElements\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetCellDimension\': <method \'GetCellDimension\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetCellTypes\': <method \'GetCellTypes\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'NewCellIterator\': <method \'NewCellIterator\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'NewBoundaryIterator\': <method \'NewBoundaryIterator\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'NewPointIterator\': <method \'NewPointIterator\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'FindPoint\': <method \'FindPoint\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetMTime\': <method \'GetMTime\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'ComputeBounds\': <method \'ComputeBounds\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetBounds\': <method \'GetBounds\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetCenter\': <method \'GetCenter\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetLength\': <method \'GetLength\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetAttributes\': <method \'GetAttributes\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'SetTessellator\': <method \'SetTessellator\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetTessellator\': <method \'GetTessellator\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetActualMemorySize\': <method \'GetActualMemorySize\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetDataObjectType\': <method \'GetDataObjectType\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetEstimatedSize\': <method \'GetEstimatedSize\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'GetData\': <method \'GetData\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D624370>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonDataModel.vtkGenericDataSet\' objects>, \'__doc__\': \'vtkGenericDataSet - defines dataset interface\\n\\nSuperclass: vtkDataObject\\n\\nIn VTK, spatial-temporal data is defined in terms of a dataset. The\\ndataset consists of geometry (e.g., points), topology (e.g., cells),\\nand attributes (e.g., scalars, vectors, etc.) vtkGenericDataSet is an\\nabstract class defining this abstraction.\\n\\nSince vtkGenericDataSet provides a general interface to manipulate\\ndata, algorithms that process it tend to be slower than those\\nspecialized for a particular data type. For this reason, there are\\nconcrete, non-abstract subclasses that represent and provide access\\nto data more efficiently. Note that filters to process this dataset\\ntype are currently found in the VTK/GenericFiltering/ subdirectory.\\n\\nUnlike the vtkDataSet class, vtkGenericDataSet provides a more\\nflexible interface including support for iterators. vtkGenericDataSet\\nis also designed to interface VTK to external simulation packages\\nwithout the penalty of copying memory (see\\nVTK/GenericFiltering/README.html) for more information. Thus\\nvtkGenericDataSet plays a central role in the adaptor framework.\\n\\nPlease note that this class introduces the concepts of "boundary\\ncells". This refers to the boundaries of a cell (e.g., face of a\\ntetrahedron) which may in turn be represented as a cell. Boundary\\ncells are derivative topological features of cells, and are therefore\\nnever explicitly represented in the dataset. Often in visualization\\nalgorithms, looping over boundaries (edges or faces) is employed,\\nwhile the actual dataset cells may not traversed. Thus there are\\nmethods to loop over these boundary cells.\\n\\nFinally, as a point of clarification, points are not the same as\\nvertices. Vertices refer to points, and points specify a position is\\nspace. Vertices are a type of 0-D cell. Also, the concept of a\\nDOFNode, which is where coefficients for higher-order cells are kept,\\nis a new concept introduced by the adaptor framework (see\\nvtkGenericAdaptorCell for more information).\\n\\n@sa\\nvtkGenericAdaptorCell vtkDataSet\\n\\n\'})'
    __vtkname__ = 'vtkGenericDataSet'


