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

vtkRectilinearGrid Class Reference

a datset that is topologically regular with variable spacing in the three coordinate directions. More...

#include <vtkRectilinearGrid.h>

Inheritance diagram for vtkRectilinearGrid:

Inheritance graph
[legend]
Collaboration diagram for vtkRectilinearGrid:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
vtkDataObjectMakeObject ()
int GetDataObjectType ()
void CopyStructure (vtkDataSet *ds)
void Initialize ()
int GetNumberOfCells ()
int GetNumberOfPoints ()
float * GetPoint (int ptId)
void GetPoint (int id, float x[3])
vtkCellGetCell (int cellId)
void GetCell (int cellId, vtkGenericCell *cell)
void GetCellBounds (int cellId, float bounds[6])
int FindPoint (float x, float y, float z)
int FindPoint (float x[3])
int FindCell (float x[3], vtkCell *cell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
int FindCell (float x[3], vtkCell *cell, vtkGenericCell *gencell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
vtkCellFindAndGetCell (float x[3], vtkCell *cell, int cellId, float tol2, int &subId, float pcoords[3], float *weights)
int GetCellType (int cellId)
void GetCellPoints (int cellId, vtkIdList *ptIds)
void GetPointCells (int ptId, vtkIdList *cellIds)
void ComputeBounds ()
int GetMaxCellSize ()
void GetCellNeighbors (int cellId, vtkIdList *ptIds, vtkIdList *cellIds)
void SetDimensions (int i, int j, int k)
void SetDimensions (int dim[3])
virtual int * GetDimensions ()
virtual void GetDimensions (int data[3])
int GetDataDimension ()
int ComputeStructuredCoordinates (float x[3], int ijk[3], float pcoords[3])
int ComputePointId (int ijk[3])
int ComputeCellId (int ijk[3])
virtual void SetXCoordinates (vtkScalars *)
virtual vtkScalarsGetXCoordinates ()
virtual void SetYCoordinates (vtkScalars *)
virtual vtkScalarsGetYCoordinates ()
virtual void SetZCoordinates (vtkScalars *)
virtual vtkScalarsGetZCoordinates ()
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
void SetUpdateExtent (int piece, int numPieces)
void SetUpdateExtent (int x1, int x2, int y1, int y2, int z1, int z2)
void SetUpdateExtent (int ext[6])
void SetExtent (int extent[6])
void SetExtent (int x1, int x2, int y1, int y2, int z1, int z2)
virtual int * GetExtent ()
virtual void GetExtent (int &, int &, int &, int &, int &, int &)
virtual void GetExtent (int[6])
unsigned long GetActualMemorySize ()
void ShallowCopy (vtkDataObject *src)
void DeepCopy (vtkDataObject *src)
void GetCellPoints (int cellId, vtkIdList &ptIds)
void GetPointCells (int ptId, vtkIdList &cellIds)

Static Public Methods

vtkRectilinearGrid * New ()
int IsTypeOf (const char *type)
vtkRectilinearGrid * SafeDownCast (vtkObject *o)

Protected Methods

 vtkRectilinearGrid ()
 ~vtkRectilinearGrid ()
 vtkRectilinearGrid (const vtkRectilinearGrid &)
void operator= (const vtkRectilinearGrid &)
int GetExtentType ()

Protected Attributes

vtkVertexVertex
vtkLineLine
vtkPixelPixel
vtkVoxelVoxel
int Dimensions [3]
int DataDescription
vtkScalarsXCoordinates
vtkScalarsYCoordinates
vtkScalarsZCoordinates
float PointReturn [3]

Detailed Description

a datset that is topologically regular with variable spacing in the three coordinate directions.

Date:
2000/12/10 20:08:17
Revision:
1.44

vtkRectilinearGrid is a data object that is a concrete implementation of vtkDataSet. vtkRectilinearGrid represents a geometric structure that is topologically regular with variable spacing in the three coordinate directions x-y-z.

To define a vtkRectilinearGrid, you must specify the dimensions of the data and provide three arrays of values specifying the coordinates along the x-y-z axes. The coordinate arrays are specified using three vtkScalars objects (one for x, one for y, one for z).

Warning:
Make sure that the dimensions of the grid match the number of coordinates in the x-y-z directions. If not, unpredictable results (including program failure) may result. Also, you must supply coordinates in all three directions, even if the dataset topology is 2D, 1D, or 0D.
Examples:
vtkRectilinearGrid (examples)


Member Function Documentation

void vtkRectilinearGrid::ComputeBounds   [virtual]
 

Compute the data bounding box from data points. THIS METHOD IS NOT THREAD SAFE.

Reimplemented from vtkDataSet.

int vtkRectilinearGrid::ComputeCellId int    ijk[3] [inline]
 

Given a location in structured coordinates (i-j-k), return the cell id.

int vtkRectilinearGrid::ComputePointId int    ijk[3] [inline]
 

Given a location in structured coordinates (i-j-k), return the point id.

int vtkRectilinearGrid::ComputeStructuredCoordinates float    x[3],
int    ijk[3],
float    pcoords[3]
 

Convenience function computes the structured coordinates for a point x[3]. The cell is specified by the array ijk[3], and the parametric coordinates in the cell are specified with pcoords[3]. The function returns a 0 if the point x is outside of the grid, and a 1 if inside the grid.

void vtkRectilinearGrid::CopyStructure vtkDataSet   ds [virtual]
 

Copy the geometric and topological structure of an input rectilinear grid object.

Implements vtkDataSet.

vtkCell* vtkRectilinearGrid::FindAndGetCell float    x[3],
vtkCell   cell,
int    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 from vtkDataSet.

int vtkRectilinearGrid::FindCell float    x[3],
vtkCell   cell,
vtkGenericCell   gencell,
int    cellId,
float    tol2,
int &    subId,
float    pcoords[3],
float *    weights
[virtual]
 

This is a version of the above method that can be used with multithreaded applications. A vtkGenericCell must be passes 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

Implements vtkDataSet.

int vtkRectilinearGrid::FindCell float    x[3],
vtkCell   cell,
int    cellId,
float    tol2,
int &    subId,
float    pcoords[3],
float *    weights
[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.

Implements vtkDataSet.

int vtkRectilinearGrid::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 from vtkDataSet.

unsigned long vtkRectilinearGrid::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 vtkDataSet.

void vtkRectilinearGrid::GetCell int    cellId,
vtkGenericCell   cell
[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

Implements vtkDataSet.

vtkCell* vtkRectilinearGrid::GetCell int    cellId [virtual]
 

Get cell with cellId such that: 0 <= cellId < NumberOfCells. THIS METHOD IS NOT THREAD SAFE.

Implements vtkDataSet.

void vtkRectilinearGrid::GetCellBounds int    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 from vtkDataSet.

void vtkRectilinearGrid::GetCellNeighbors int    cellId,
vtkIdList   ptIds,
vtkIdList   cellIds
[virtual]
 

Topological inquiry to get all cells using list of points exclusive of cell specified (e.g., cellId). THIS METHOD IS THREAD SAFE IF FIRST CALLED FROM A SINGLE THREAD AND THE DATASET IS NOT MODIFIED

Reimplemented from vtkDataSet.

void vtkRectilinearGrid::GetCellPoints int    cellId,
vtkIdList   ptIds
[inline]
 

For legacy compatibility. Do not use.

Reimplemented from vtkDataSet.

void vtkRectilinearGrid::GetCellPoints int    cellId,
vtkIdList   ptIds
[inline, 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

Implements vtkDataSet.

int vtkRectilinearGrid::GetCellType int    cellId [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

Implements vtkDataSet.

virtual const char* vtkRectilinearGrid::GetClassName   [virtual]
 

Return the class name as a string. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSet.

int vtkRectilinearGrid::GetDataDimension   [inline]
 

Return the dimensionality of the data.

int vtkRectilinearGrid::GetDataObjectType   [inline, virtual]
 

Return what type of dataset this is.

Reimplemented from vtkDataSet.

virtual int* vtkRectilinearGrid::GetDimensions   [virtual]
 

Get dimensions of this rectilinear grid dataset.

int vtkRectilinearGrid::GetMaxCellSize   [inline, 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

Implements vtkDataSet.

int vtkRectilinearGrid::GetNumberOfCells   [inline, virtual]
 

Standard vtkDataSet API methods. See vtkDataSet for more information.

Implements vtkDataSet.

int vtkRectilinearGrid::GetNumberOfPoints   [inline, virtual]
 

Determine the number of points composing the dataset. THIS METHOD IS THREAD SAFE

Implements vtkDataSet.

void vtkRectilinearGrid::GetPoint int    id,
float    x[3]
[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 from vtkDataSet.

float* vtkRectilinearGrid::GetPoint int    ptId [virtual]
 

Get point coordinates with ptId such that: 0 <= ptId < NumberOfPoints. THIS METHOD IS NOT THREAD SAFE.

Implements vtkDataSet.

void vtkRectilinearGrid::GetPointCells int    ptId,
vtkIdList   cellIds
[inline, 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

Implements vtkDataSet.

void vtkRectilinearGrid::Initialize   [virtual]
 

Restore object to initial state. Release memory back to system.

Reimplemented from vtkDataSet.

virtual int vtkRectilinearGrid::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSet.

int vtkRectilinearGrid::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 vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSet.

vtkDataObject* vtkRectilinearGrid::MakeObject   [inline, virtual]
 

Create a similar type object.

Reimplemented from vtkDataObject.

vtkRectilinearGrid* vtkRectilinearGrid::New   [static]
 

Create an object with Debug turned off, modified time initialized to zero, and reference counting on.

Reimplemented from vtkDataObject.

void vtkRectilinearGrid::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 vtkDataSet.

vtkRectilinearGrid* vtkRectilinearGrid::SafeDownCast vtkObject   o [static]
 

Will cast the supplied object to vtkObject* is this is a safe operation (i.e., a safe downcast); otherwise NULL is returned. This method is defined in all subclasses of vtkObject with the vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkDataSet.

void vtkRectilinearGrid::SetDimensions int    i,
int    j,
int    k
 

Set dimensions of rectilinear grid dataset. This also sets the extent.

void vtkRectilinearGrid::SetExtent int    extent[6]
 

Different ways to set the extent of the data array. The extent should be set before the "Scalars" are set or allocated. The Extent is stored in the order (X, Y, Z).

void vtkRectilinearGrid::SetUpdateExtent int    x1,
int    x2,
int    y1,
int    y2,
int    z1,
int    z2
[inline, virtual]
 

Call superclasses method to avoid hiding

Reimplemented from vtkDataObject.

void vtkRectilinearGrid::SetUpdateExtent int    piece,
int    numPieces,
int    ghostLevel
 

Required for the lowest common denominator for setting the UpdateExtent (i.e. vtkDataSetToStructuredPointsFilter). This assumes that WholeExtent is valid (UpdateInformation has been called).

virtual void vtkRectilinearGrid::SetXCoordinates vtkScalars   [virtual]
 

Specify the grid coordinates in the x-direction.

virtual void vtkRectilinearGrid::SetYCoordinates vtkScalars   [virtual]
 

Specify the grid coordinates in the y-direction.

virtual void vtkRectilinearGrid::SetZCoordinates vtkScalars   [virtual]
 

Specify the grid coordinates in the z-direction.

void vtkRectilinearGrid::ShallowCopy vtkDataObject   src [virtual]
 

Shallow and Deep copy.

Reimplemented from vtkDataSet.


The documentation for this class was generated from the following file:
Generated on Tue Mar 19 13:31:59 2002 for VTK by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002