Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkRectilinearGrid Class Reference

#include <vtkRectilinearGrid.h>

Inheritance diagram for vtkRectilinearGrid:

Inheritance graph
[legend]
Collaboration diagram for vtkRectilinearGrid:

Collaboration graph
[legend]
List of all members.

Detailed Description

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

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 vtkDataArray 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)
Tests:
vtkRectilinearGrid (Tests)

Definition at line 53 of file vtkRectilinearGrid.h.

Public Types

typedef vtkDataSet Superclass

Public Member Functions

virtual const char * GetClassName ()
virtual int IsA (const char *type)
void PrintSelf (ostream &os, vtkIndent indent)
int GetDataObjectType ()
void CopyStructure (vtkDataSet *ds)
void Initialize ()
vtkIdType GetNumberOfCells ()
vtkIdType GetNumberOfPoints ()
double * GetPoint (vtkIdType ptId)
void GetPoint (vtkIdType id, double x[3])
vtkCell * GetCell (vtkIdType cellId)
void GetCell (vtkIdType cellId, vtkGenericCell *cell)
void GetCellBounds (vtkIdType cellId, double bounds[6])
int FindPoint (double x, double y, double z)
vtkIdType FindPoint (double x[3])
vtkIdType FindCell (double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
vtkIdType FindCell (double x[3], vtkCell *cell, vtkGenericCell *gencell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
vtkCell * FindAndGetCell (double x[3], vtkCell *cell, vtkIdType cellId, double tol2, int &subId, double pcoords[3], double *weights)
int GetCellType (vtkIdType cellId)
void GetCellPoints (vtkIdType cellId, vtkIdList *ptIds)
void GetPointCells (vtkIdType ptId, vtkIdList *cellIds)
void ComputeBounds ()
int GetMaxCellSize ()
void GetCellNeighbors (vtkIdType 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 (double x[3], int ijk[3], double pcoords[3])
vtkIdType ComputePointId (int ijk[3])
vtkIdType ComputeCellId (int ijk[3])
virtual void SetXCoordinates (vtkDataArray *)
virtual vtkDataArray * GetXCoordinates ()
virtual void SetYCoordinates (vtkDataArray *)
virtual vtkDataArray * GetYCoordinates ()
virtual void SetZCoordinates (vtkDataArray *)
virtual vtkDataArray * GetZCoordinates ()
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)
virtual void UpdateData ()
int GetExtentType ()

Static Public Member Functions

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

Protected Member Functions

 vtkRectilinearGrid ()
 ~vtkRectilinearGrid ()
virtual void Crop ()

Protected Attributes

vtkVertex * Vertex
vtkLine * Line
vtkPixel * Pixel
vtkVoxel * Voxel
int Dimensions [3]
int DataDescription
vtkDataArray * XCoordinates
vtkDataArray * YCoordinates
vtkDataArray * ZCoordinates
double PointReturn [3]


Member Typedef Documentation

typedef vtkDataSet vtkRectilinearGrid::Superclass
 

Reimplemented from vtkDataSet.

Definition at line 58 of file vtkRectilinearGrid.h.


Constructor & Destructor Documentation

vtkRectilinearGrid::vtkRectilinearGrid (   )  [protected]
 

vtkRectilinearGrid::~vtkRectilinearGrid (   )  [protected]
 


Member Function Documentation

static vtkRectilinearGrid* vtkRectilinearGrid::New (   )  [static]
 

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

Reimplemented from vtkDataObject.

virtual const char* vtkRectilinearGrid::GetClassName (   )  [virtual]
 

Reimplemented from vtkDataSet.

static 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 vtkTypeRevisionMacro found in vtkSetGet.h.

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 vtkTypeRevisionMacro found in vtkSetGet.h.

Reimplemented from vtkDataSet.

static vtkRectilinearGrid* vtkRectilinearGrid::SafeDownCast (  vtkObject *  o  )  [static]
 

Reimplemented from vtkDataSet.

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.

int vtkRectilinearGrid::GetDataObjectType (   )  [inline, virtual]
 

Return what type of dataset this is.

Reimplemented from vtkDataSet.

Definition at line 62 of file vtkRectilinearGrid.h.

References VTK_RECTILINEAR_GRID.

void vtkRectilinearGrid::CopyStructure (  vtkDataSet *  ds  )  [virtual]
 

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

Implements vtkDataSet.

void vtkRectilinearGrid::Initialize (   )  [virtual]
 

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

Reimplemented from vtkDataSet.

vtkIdType vtkRectilinearGrid::GetNumberOfCells (   )  [inline, virtual]
 

Standard vtkDataSet API methods. See vtkDataSet for more information.

Implements vtkDataSet.

Definition at line 238 of file vtkRectilinearGrid.h.

References Dimensions.

vtkIdType vtkRectilinearGrid::GetNumberOfPoints (   )  [inline, virtual]
 

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

Implements vtkDataSet.

Definition at line 258 of file vtkRectilinearGrid.h.

References Dimensions.

double* vtkRectilinearGrid::GetPoint (  vtkIdType  ptId  )  [virtual]
 

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

Implements vtkDataSet.

void vtkRectilinearGrid::GetPoint (  vtkIdType  id,
double  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.

vtkCell* vtkRectilinearGrid::GetCell (  vtkIdType  cellId  )  [virtual]
 

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

Implements vtkDataSet.

void vtkRectilinearGrid::GetCell (  vtkIdType  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.

void vtkRectilinearGrid::GetCellBounds (  vtkIdType  cellId,
double  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.

int vtkRectilinearGrid::FindPoint (  double  x,
double  y,
double  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.

Definition at line 80 of file vtkRectilinearGrid.h.

References vtkDataSet::FindPoint().

vtkIdType vtkRectilinearGrid::FindPoint (  double  x[3]  )  [virtual]
 

Implements vtkDataSet.

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

vtkIdType vtkRectilinearGrid::FindCell (  double  x[3],
vtkCell *  cell,
vtkGenericCell *  gencell,
vtkIdType  cellId,
double  tol2,
int &  subId,
double  pcoords[3],
double *  weights
)  [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

Implements vtkDataSet.

vtkCell* vtkRectilinearGrid::FindAndGetCell (  double  x[3],
vtkCell *  cell,
vtkIdType  cellId,
double  tol2,
int &  subId,
double  pcoords[3],
double *  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::GetCellType (  vtkIdType  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.

void vtkRectilinearGrid::GetCellPoints (  vtkIdType  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.

Definition at line 91 of file vtkRectilinearGrid.h.

References vtkStructuredData::GetCellPoints().

void vtkRectilinearGrid::GetPointCells (  vtkIdType  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.

Definition at line 94 of file vtkRectilinearGrid.h.

References vtkStructuredData::GetPointCells().

void vtkRectilinearGrid::ComputeBounds (   )  [virtual]
 

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

Reimplemented from vtkDataSet.

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.

Definition at line 97 of file vtkRectilinearGrid.h.

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

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

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

void vtkRectilinearGrid::SetDimensions (  int  dim[3]  ) 
 

virtual int* vtkRectilinearGrid::GetDimensions (   )  [virtual]
 

Get dimensions of this rectilinear grid dataset.

virtual void vtkRectilinearGrid::GetDimensions (  int  data[3]  )  [virtual]
 

int vtkRectilinearGrid::GetDataDimension (   )  [inline]
 

Return the dimensionality of the data.

Definition at line 263 of file vtkRectilinearGrid.h.

References vtkStructuredData::GetDataDimension().

int vtkRectilinearGrid::ComputeStructuredCoordinates (  double  x[3],
int  ijk[3],
double  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.

vtkIdType vtkRectilinearGrid::ComputePointId (  int  ijk[3]  )  [inline]
 

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

Definition at line 268 of file vtkRectilinearGrid.h.

References vtkStructuredData::ComputePointId().

vtkIdType vtkRectilinearGrid::ComputeCellId (  int  ijk[3]  )  [inline]
 

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

Definition at line 273 of file vtkRectilinearGrid.h.

References vtkStructuredData::ComputeCellId().

virtual void vtkRectilinearGrid::SetXCoordinates (  vtkDataArray *   )  [virtual]
 

Specify the grid coordinates in the x-direction.

virtual vtkDataArray* vtkRectilinearGrid::GetXCoordinates (   )  [virtual]
 

virtual void vtkRectilinearGrid::SetYCoordinates (  vtkDataArray *   )  [virtual]
 

Specify the grid coordinates in the y-direction.

virtual vtkDataArray* vtkRectilinearGrid::GetYCoordinates (   )  [virtual]
 

virtual void vtkRectilinearGrid::SetZCoordinates (  vtkDataArray *   )  [virtual]
 

Specify the grid coordinates in the z-direction.

virtual vtkDataArray* vtkRectilinearGrid::GetZCoordinates (   )  [virtual]
 

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).

void vtkRectilinearGrid::SetUpdateExtent (  int  piece,
int  numPieces
)  [inline]
 

Reimplemented from vtkDataObject.

Definition at line 155 of file vtkRectilinearGrid.h.

References vtkDataObject::SetUpdateExtent().

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.

Definition at line 161 of file vtkRectilinearGrid.h.

References vtkDataObject::SetUpdateExtent().

void vtkRectilinearGrid::SetUpdateExtent (  int  ext[6]  )  [inline, virtual]
 

Reimplemented from vtkDataObject.

Definition at line 163 of file vtkRectilinearGrid.h.

References vtkDataObject::SetUpdateExtent().

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::SetExtent (  int  x1,
int  x2,
int  y1,
int  y2,
int  z1,
int  z2
) 
 

virtual int* vtkRectilinearGrid::GetExtent (   )  [virtual]
 

virtual void vtkRectilinearGrid::GetExtent (  int &  ,
int &  ,
int &  ,
int &  ,
int &  ,
int & 
)  [virtual]
 

virtual void vtkRectilinearGrid::GetExtent (  int  [6]  )  [virtual]
 

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::ShallowCopy (  vtkDataObject *  src  )  [virtual]
 

Shallow and Deep copy.

Reimplemented from vtkDataSet.

void vtkRectilinearGrid::DeepCopy (  vtkDataObject *  src  )  [virtual]
 

Reimplemented from vtkDataSet.

virtual void vtkRectilinearGrid::UpdateData (   )  [virtual]
 

WARNING: INTERNAL METHOD - NOT FOR GENERAL USE. THIS METHOD IS PART OF THE PIPELINE UPDATE FUNCTIONALITY. Propagate the update back up the pipeline, and perform the actual work of updating on the way down. This subclass version of the method adds ghost level arrays if a request is made as pieces.

Reimplemented from vtkDataObject.

int vtkRectilinearGrid::GetExtentType (   )  [inline, virtual]
 

Structured extent. The extent type is a 3D extent

Reimplemented from vtkDataObject.

Definition at line 197 of file vtkRectilinearGrid.h.

References VTK_3D_EXTENT.

virtual void vtkRectilinearGrid::Crop (   )  [protected, virtual]
 

Reallocates and copies to set the Extent to the UpdateExtent. This is used internally when the exact extent is requested, and the source generated more than the update extent.

Reimplemented from vtkDataObject.


Member Data Documentation

vtkVertex* vtkRectilinearGrid::Vertex [protected]
 

Definition at line 204 of file vtkRectilinearGrid.h.

vtkLine* vtkRectilinearGrid::Line [protected]
 

Definition at line 205 of file vtkRectilinearGrid.h.

vtkPixel* vtkRectilinearGrid::Pixel [protected]
 

Definition at line 206 of file vtkRectilinearGrid.h.

vtkVoxel* vtkRectilinearGrid::Voxel [protected]
 

Definition at line 207 of file vtkRectilinearGrid.h.

int vtkRectilinearGrid::Dimensions[3] [protected]
 

Definition at line 214 of file vtkRectilinearGrid.h.

Referenced by GetNumberOfCells(), and GetNumberOfPoints().

int vtkRectilinearGrid::DataDescription [protected]
 

Definition at line 215 of file vtkRectilinearGrid.h.

vtkDataArray* vtkRectilinearGrid::XCoordinates [protected]
 

Definition at line 217 of file vtkRectilinearGrid.h.

vtkDataArray* vtkRectilinearGrid::YCoordinates [protected]
 

Definition at line 218 of file vtkRectilinearGrid.h.

vtkDataArray* vtkRectilinearGrid::ZCoordinates [protected]
 

Definition at line 219 of file vtkRectilinearGrid.h.

double vtkRectilinearGrid::PointReturn[3] [protected]
 

Definition at line 222 of file vtkRectilinearGrid.h.


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