
 Usage

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).
To create an instance of class vtkGenericDataSet, simply
invoke its constructor as follows

    obj = vtkGenericDataSet



 Methods

The class vtkGenericDataSet has several methods that can be
used. They are listed below. Note that the documentation is
translated automatically from the VTK sources, and may not
be completely intelligible. When in doubt, consult the VTK
website. In the methods listed below, obj is an instance of
the vtkGenericDataSet class.

* string = obj.GetClassName () - Standard VTK type and print
  macros.
* int = obj.IsA (string name) - Standard VTK type and print
  macros.
* vtkGenericDataSet = obj.NewInstance () - Standard VTK type
  and print macros.
* vtkGenericDataSet = obj.SafeDownCast (vtkObject o) -
  Standard VTK type and print macros.
* vtkIdType = obj.GetNumberOfPoints () - Return the number
  of points composing the dataset. See NewPointIterator()
  for more details.


    Postcondition:
        positive_result: result>=0

* vtkIdType = obj.GetNumberOfCells (int dim) - Return the
  number of cells that explicitly define the dataset. See
  NewCellIterator() for more details.


    Precondition:
        valid_dim_range: (dim>=-1) &amp;&amp; (dim<=3)



    Postcondition:
        positive_result: result>=0

* int = obj.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.


    Postcondition:
        valid_range: (result>=-1) &amp;&amp; (result<=3)

* obj.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


    Precondition:
        types_exist: types!=0

* vtkGenericCellIterator = obj.NewCellIterator (int dim) -
  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.


    Precondition:
        valid_dim_range: (dim>=-1) &amp;&amp; (dim<=3)



    Postcondition:
        result_exists: result!=0

* vtkGenericCellIterator = obj.NewBoundaryIterator (int dim,
  int exteriorOnly) - 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.


    Precondition:
        valid_dim_range: (dim>=-1) &amp;&amp; (dim<=2)



    Postcondition:
        result_exists: result!=0

* vtkGenericPointIterator = obj.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.


    Postcondition:
        result_exists: result!=0

* obj.FindPoint (double x[3], vtkGenericPointIterator p) -
  Locate the closest point `p' to position `x' (global
  coordinates).


    Precondition:
        not_empty: GetNumberOfPoints()>0
        p_exists: p!=0

* long = obj.GetMTime () - Datasets are composite objects
  and need to check each part for their modified time.
* obj.ComputeBounds () - Compute the geometry bounding box.
* obj.GetBounds (double bounds[6]) - Return the geometry
  bounding box in global coordinates in the form (xmin,xmax,
  ymin,ymax, zmin,zmax) in the `bounds' array.
* obj.GetCenter (double center[3]) - Get the center of the
  bounding box in global coordinates.
* double = obj.GetLength () - Return the length of the
  diagonal of the bounding box.


    Postcondition:
        positive_result: result>=0

* vtkGenericAttributeCollection = obj.GetAttributes () - Get
  the collection of attributes associated with this dataset.
* vtkDataSetAttributes = obj.GetAttributes (int type) - Set/
  Get a cell tessellator if cells must be tessellated during
  processing.


    Precondition:
        tessellator_exists: tessellator!=0

* obj.SetTessellator (vtkGenericCellTessellator tessellator)
  - Set/Get a cell tessellator if cells must be tessellated
  during processing.


    Precondition:
        tessellator_exists: tessellator!=0

* vtkGenericCellTessellator = obj.GetTessellator () - Set/
  Get a cell tessellator if cells must be tessellated during
  processing.


    Precondition:
        tessellator_exists: tessellator!=0

* long = obj.GetActualMemorySize () - Actual size of the
  data in kilobytes; only valid after the pipeline has
  updated. It is guaranteed to be greater than or equal to
  the memory required to represent the data.
* int = obj.GetDataObjectType () - Return the type of data
  object.
* vtkIdType = obj.GetEstimatedSize () - Estimated size
  needed after tessellation (or special operation)


* FreeMat_Documentation
* Visualization_Toolkit_Filtering_Classes
* Generated on Thu Jul 25 2013 17:18:30 for FreeMat by
  doxygen_ 1.8.1.1

