Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkDataSet Class Reference

`#include <vtkDataSet.h>`

Inheritance diagram for vtkDataSet:

[legend]
Collaboration diagram for vtkDataSet:

[legend]
List of all members.

## Detailed Description

abstract class to specify dataset behavior

Date:
  2002/12/26 18:24:21

Revision:
  1.113

vtkDataSet is an abstract class that specifies an interface for dataset objects. vtkDataSet also provides methods to provide informations about the data, such as center, bounding box, and representative length.

In vtk a dataset consists of a structure (geometry and topology) and attribute data. The structure is defined implicitly or explicitly as a collection of cells. The geometry of the structure is contained in point coordinates plus the cell interpolation functions. The topology of the dataset structure is defined by cell types and how the cells share their defining points.

Attribute data in vtk is either point data (data at points) or cell data (data at cells). Typically filters operate on point data, but some may operate on cell data, both cell and point data, either one, or none.

See also:
  vtkPointSet vtkStructuredPoints vtkStructuredGrid vtkUnstructuredGrid vtkRectilinearGrid vtkPolyData vtkPointData vtkCellData vtkDataObject vtkField

Created by:
  - Martin, Ken

CVS contributions (if > 5%):
  - Schroeder, Will (54%)
  - Martin, Ken (13%)
  - Law, Charles (12%)

CVS logs (CVSweb):
  - .`h` (`/Common/vtkDataSet.h)`
  - .`cxx` (`/Common/vtkDataSet.cxx)`

Examples:
  vtkDataSet (Examples)

Definition at line 70 of file vtkDataSet.h.

## Public Types

typedef vtkDataObject | Superclass
enum | FieldDataType { DATA_OBJECT_FIELD = 0, POINT_DATA_FIELD = 1, CELL_DATA_FIELD = 2 }

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
virtual void | CopyStructure (vtkDataSet *ds)=0
virtual vtkIdType | GetNumberOfPoints ()=0
virtual vtkIdType | GetNumberOfCells ()=0
virtual float * | GetPoint (vtkIdType ptId)=0
virtual void | GetPoint (vtkIdType id, float x[3])
virtual vtkCell * | GetCell (vtkIdType cellId)=0
virtual void | GetCell (vtkIdType cellId, vtkGenericCell *cell)=0
virtual void | GetCellBounds (vtkIdType cellId, float bounds[6])
virtual int | GetCellType (vtkIdType cellId)=0
virtual void | GetCellTypes (vtkCellTypes *types)
virtual void | GetCellPoints (vtkIdType cellId, vtkIdList *ptIds)=0
virtual void | GetPointCells (vtkIdType ptId, vtkIdList *cellIds)=0
unsigned long int | GetMTime ()
vtkCellData * | GetCellData ()
vtkPointData * | GetPointData ()
virtual void | Squeeze ()
virtual void | ComputeBounds ()
float * | GetBounds ()
void | GetBounds (float bounds[6])
float * | GetCenter ()
void | GetCenter (float center[3])
float | GetLength ()
void | Initialize ()
virtual void | GetScalarRange (float range[2])
float * | GetScalarRange ()
virtual int | GetMaxCellSize ()=0
unsigned long | GetActualMemorySize ()
int | CheckAttributes ()
virtual void | GetCellNeighbors (vtkIdType cellId, vtkIdList *ptIds, vtkIdList *cellIds)
vtkIdType | FindPoint (float x, float y, float z)
virtual vtkIdType | FindPoint (float x[3])=0
virtual vtkIdType | FindCell (float x[3], vtkCell *cell, vtkIdType cellId, float tol2, int &subId, float pcoords[3], float *weights)=0
virtual vtkIdType | FindCell (float x[3], vtkCell *cell, vtkGenericCell *gencell, vtkIdType cellId, float tol2, int &subId, float pcoords[3], float *weights)=0
virtual vtkCell * | FindAndGetCell (float x[3], vtkCell *cell, vtkIdType cellId, float tol2, int &subId, float pcoords[3], float *weights)
int | GetDataObjectType ()
void | ShallowCopy (vtkDataObject *src)
void | DeepCopy (vtkDataObject *src)

## Static Public Methods

int | IsTypeOf (const char *type)
vtkDataSet * | SafeDownCast (vtkObject *o)

## Protected Methods

| vtkDataSet ()
| ~vtkDataSet ()

## Protected Attributes

vtkCellData * | CellData
vtkPointData * | PointData
vtkTimeStamp | ComputeTime
float | Bounds [6]
float | ScalarRange [2]
float | Center [3]

## Member Typedef Documentation

typedef vtkDataObject vtkDataSet::Superclass

| Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, vtkUnstructuredGrid, and vtkImageCanvasSource2D. Definition at line 73 of file vtkDataSet.h.

## Member Enumeration Documentation

enum vtkDataSet::FieldDataType

Enumeration values:

  DATA_OBJECT_FIELD |
  POINT_DATA_FIELD |
  CELL_DATA_FIELD |

Definition at line 284 of file vtkDataSet.h.

## Constructor & Destructor Documentation

vtkDataSet::vtkDataSet | ( |  | ) | `[protected]`

vtkDataSet::~vtkDataSet | ( |  | ) | `[protected]`

## Member Function Documentation

virtual const char* vtkDataSet::GetClassName | ( |  | ) | `[virtual]`

| Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, vtkUnstructuredGrid, and vtkImageCanvasSource2D.

int vtkDataSet::IsTypeOf | ( | const char * | type | ) | `[static]`

| 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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, vtkUnstructuredGrid, and vtkImageCanvasSource2D.

virtual int vtkDataSet::IsA | ( | const char * | type | ) | `[virtual]`

| 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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, vtkUnstructuredGrid, and vtkImageCanvasSource2D.

vtkDataSet* vtkDataSet::SafeDownCast | ( | vtkObject * | o | ) | `[static]`

| Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, vtkUnstructuredGrid, and vtkImageCanvasSource2D.

void vtkDataSet::PrintSelf | ( | ostream & | os,
|  | vtkIndent | indent
| ) | `[virtual]`

Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkDataObject.

Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkUnstructuredGrid, and vtkImageCanvasSource2D.

virtual void vtkDataSet::CopyStructure | ( | vtkDataSet * | ds | ) | `[pure virtual]`

| Copy the geometric and topological structure of an object. Note that the invoking object and the object pointed to by the parameter ds must be of the same type. THIS METHOD IS NOT THREAD SAFE. Implemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual vtkIdType vtkDataSet::GetNumberOfPoints | ( |  | ) | `[pure virtual]`

| Determine the number of points composing the dataset. THIS METHOD IS THREAD SAFE Implemented in vtkImageData, vtkPointSet, vtkRectilinearGrid, and vtkStructuredGrid.

virtual vtkIdType vtkDataSet::GetNumberOfCells | ( |  | ) | `[pure virtual]`

| Determine the number of cells composing the dataset. THIS METHOD IS THREAD SAFE Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual float* vtkDataSet::GetPoint | ( | vtkIdType | ptId | ) | `[pure virtual]`

| Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints. THIS METHOD IS NOT THREAD SAFE. Implemented in vtkImageData, vtkPointSet, vtkRectilinearGrid, and vtkStructuredGrid. Referenced by GetPoint().

void vtkDataSet::GetPoint | ( | vtkIdType | id,
|  | float | x[3]
| ) | `[inline, virtual]`

| Copy point coordinates into user provided array x[3] for specified point id. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Reimplemented in vtkImageData, vtkPointSet, vtkRectilinearGrid, and vtkStructuredGrid. Definition at line 319 of file vtkDataSet.h. References GetPoint(), id, and vtkIdType.

virtual vtkCell* vtkDataSet::GetCell | ( | vtkIdType | cellId | ) | `[pure virtual]`

| Get cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS NOT THREAD SAFE. Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetCell | ( | vtkIdType | cellId,
|  | vtkGenericCell * | cell
| ) | `[pure virtual]`

| Get cell with cellId such that: 0 <= cellId < NumberOfCells. This is a thread-safe alternative to the previous GetCell() method. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetCellBounds | ( | vtkIdType | cellId,
|  | float | bounds[6]
| ) | `[virtual]`

Get the bounds of the cell with cellId such that: 0 <= cellId < NumberOfCells. A subclass may be able to determine the bounds of cell without using an expensive GetCell() method. A default implementation is provided that actually uses a GetCell() call. This is to ensure the method is available to all datasets. Subclasses should override this method to provide an efficient implementation. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual int vtkDataSet::GetCellType | ( | vtkIdType | cellId | ) | `[pure virtual]`

| Get type of cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetCellTypes | ( | vtkCellTypes * | types | ) | `[virtual]`

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

virtual void vtkDataSet::GetCellPoints | ( | vtkIdType | cellId,
|  | vtkIdList * | ptIds
| ) | `[pure virtual]`

| Topological inquiry to get points defining cell. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetPointCells | ( | vtkIdType | ptId,
|  | vtkIdList * | cellIds
| ) | `[pure virtual]`

| Topological inquiry to get cells using point. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetCellNeighbors | ( | vtkIdType | cellId,
|  | vtkIdList * | ptIds,
|  | vtkIdList * | cellIds
| ) | `[virtual]`

| Topological inquiry to get all cells using list of points exclusive of cell specified (e.g., cellId). Note that the list consists of only cells that use ALL the points provided. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Reimplemented in vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

vtkIdType vtkDataSet::FindPoint | ( | float | x,
|  | float | y,
|  | float | z
| ) | `[inline]`

Locate the closest point to the global coordinate x. Return the point id. If point id < 0; then no point found. (This may arise when point is outside of dataset.) THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented in vtkImageData, vtkPointSet, and vtkRectilinearGrid.

Definition at line 156 of file vtkDataSet.h.

References vtkIdType.

Referenced by vtkRectilinearGrid::FindPoint(), vtkPointSet::FindPoint(), and vtkImageData::FindPoint().

virtual vtkIdType vtkDataSet::FindPoint | ( | float | x[3] | ) | `[pure virtual]`

| Locate the closest point to the global coordinate x. Return the point id. If point id < 0; then no point found. (This may arise when point is outside of dataset.) THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPointSet, and vtkRectilinearGrid.

virtual vtkIdType vtkDataSet::FindCell | ( | float | x[3],
|  | vtkCell * | cell,
|  | vtkIdType | cellId,
|  | float | tol2,
|  | int & | subId,
|  | float | pcoords[3],
|  | float * | weights
| ) | `[pure virtual]`

Locate cell based on global coordinate x and tolerance squared. If cell and cellId is non-NULL, then search starts from this cell and looks at immediate neighbors. Returns cellId >= 0 if inside, < 0 otherwise. The parametric coordinates are provided in pcoords[3]. The interpolation weights are returned in weights[]. (The number of weights is equal to the number of points in the found cell). Tolerance is used to control how close the point is to be considered "in" the cell. THIS METHOD IS NOT THREAD SAFE.

Implemented in vtkImageData, vtkPointSet, and vtkRectilinearGrid.

virtual vtkIdType vtkDataSet::FindCell | ( | float | x[3],
|  | vtkCell * | cell,
|  | vtkGenericCell * | gencell,
|  | vtkIdType | cellId,
|  | float | tol2,
|  | int & | subId,
|  | float | pcoords[3],
|  | float * | weights
| ) | `[pure virtual]`

| This is a version of the above method that can be used with multithreaded applications. A vtkGenericCell must be passed in to be used in internal calls that might be made to GetCell() THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED Implemented in vtkImageData, vtkPointSet, and vtkRectilinearGrid.

virtual vtkCell* vtkDataSet::FindAndGetCell | ( | float | x[3],
|  | vtkCell * | cell,
|  | vtkIdType | cellId,
|  | float | tol2,
|  | int & | subId,
|  | float | pcoords[3],
|  | float * | weights
| ) | `[virtual]`

Locate the cell that contains a point and return the cell. Also returns the subcell id, parametric coordinates and weights for subsequent interpolation. This method combines the derived class methods int FindCell and vtkCell *GetCell. Derived classes may provide a more efficient implementation. See for example vtkStructuredPoints. THIS METHOD IS NOT THREAD SAFE.

Reimplemented in vtkImageData, and vtkRectilinearGrid.

unsigned long int vtkDataSet::GetMTime | ( |  | ) | `[virtual]`

| Datasets are composite objects and need to check each part for MTime THIS METHOD IS THREAD SAFE Reimplemented from vtkDataObject. Reimplemented in vtkPointSet.

vtkCellData* vtkDataSet::GetCellData | ( |  | ) | `[inline]`

| return pointer to this dataset's point data THIS METHOD IS THREAD SAFE Definition at line 209 of file vtkDataSet.h.

vtkPointData* vtkDataSet::GetPointData | ( |  | ) | `[inline]`

| return pointer to this dataset's point data THIS METHOD IS THREAD SAFE Definition at line 213 of file vtkDataSet.h.

virtual void vtkDataSet::Squeeze | ( |  | ) | `[virtual]`

| Reclaim any extra memory used to store data. THIS METHOD IS NOT THREAD SAFE. Reimplemented in vtkPointSet, vtkPolyData, and vtkUnstructuredGrid.

virtual void vtkDataSet::ComputeBounds | ( |  | ) | `[virtual]`

| Compute the data bounding box from data points. THIS METHOD IS NOT THREAD SAFE. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, and vtkRectilinearGrid.

float* vtkDataSet::GetBounds | ( |  | ) |

| Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax). THIS METHOD IS NOT THREAD SAFE.

void vtkDataSet::GetBounds | ( | float | bounds[6] | ) |

| Return a pointer to the geometry bounding box in the form (xmin,xmax, ymin,ymax, zmin,zmax). THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

float* vtkDataSet::GetCenter | ( |  | ) |

| Get the center of the bounding box. THIS METHOD IS NOT THREAD SAFE.

void vtkDataSet::GetCenter | ( | float | center[3] | ) |

| Get the center of the bounding box. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

float vtkDataSet::GetLength | ( |  | ) |

| Return the length of the diagonal of the bounding box. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

void vtkDataSet::Initialize | ( |  | ) | `[virtual]`

| Restore data object to initial state, THIS METHOD IS NOT THREAD SAFE. Reimplemented from vtkDataObject. Reimplemented in vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

virtual void vtkDataSet::GetScalarRange | ( | float | range[2] | ) | `[virtual]`

Convenience method to get the range of the scalar data (if there is any scalar data). Returns the (min/max) range of combined point and cell data. If there are no point or cell scalars the method will return (0,1). Note: Update needs to be called to create the scalars. THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented in vtkStructuredGrid.

float* vtkDataSet::GetScalarRange | ( |  | ) |

| Convenience method to get the range of the scalar data (if there is any scalar data). THIS METHOD IS NOT THREAD SAFE. Reimplemented in vtkStructuredGrid. Referenced by vtkStructuredGrid::GetScalarRange().

virtual int vtkDataSet::GetMaxCellSize | ( |  | ) | `[pure virtual]`

| Convenience method returns largest cell size in dataset. This is generally used to allocate memory for supporting data structures. THIS METHOD IS THREAD SAFE Implemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

unsigned long vtkDataSet::GetActualMemorySize | ( |  | ) | `[virtual]`

Return the actual size of the data in kilobytes. This number is valid only after the pipeline has updated. The memory size returned is guaranteed to be greater than or equal to the memory required to represent the data (e.g., extra space in arrays, etc. are not included in the return value). THIS METHOD IS THREAD SAFE.

Reimplemented from vtkDataObject.

Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

int vtkDataSet::GetDataObjectType | ( |  | ) | `[inline, virtual]`

| Return the type of data object. Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, vtkStructuredPoints, and vtkUnstructuredGrid. Definition at line 273 of file vtkDataSet.h. References VTK_DATA_SET.

void vtkDataSet::ShallowCopy | ( | vtkDataObject * | src | ) | `[virtual]`

| Shallow and Deep copy. Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

void vtkDataSet::DeepCopy | ( | vtkDataObject * | src | ) | `[virtual]`

| Shallow and Deep copy. Reimplemented from vtkDataObject. Reimplemented in vtkImageData, vtkPointSet, vtkPolyData, vtkRectilinearGrid, vtkStructuredGrid, and vtkUnstructuredGrid.

int vtkDataSet::CheckAttributes | ( |  | ) |

| This method checks to see if the cell and point attributes match the geometry. Many filters will crash if the number of tupples in an array is less than the number of points/cells. This method returns 1 if there is a mismatch, and 0 if everything is ok. It prints an error if an array is too short, and a warning if an array is too long.

## Member Data Documentation

vtkCellData* vtkDataSet::CellData`[protected]`

| Definition at line 305 of file vtkDataSet.h.

vtkPointData* vtkDataSet::PointData`[protected]`

| Definition at line 306 of file vtkDataSet.h.

vtkTimeStamp vtkDataSet::ComputeTime`[protected]`

| Definition at line 307 of file vtkDataSet.h.

float vtkDataSet::Bounds[6]`[protected]`

| Definition at line 308 of file vtkDataSet.h.

float vtkDataSet::ScalarRange[2]`[protected]`

| Definition at line 309 of file vtkDataSet.h.

float vtkDataSet::Center[3]`[protected]`

| Definition at line 310 of file vtkDataSet.h.

The documentation for this class was generated from the following file:

- Common/vtkDataSet.h