00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00052 #ifndef __vtkStructuredData_h
00053 #define __vtkStructuredData_h
00054
00055 #include "vtkObject.h"
00056 #include "vtkIdList.h"
00057
00058 #define VTK_UNCHANGED 0
00059 #define VTK_SINGLE_POINT 1
00060 #define VTK_X_LINE 2
00061 #define VTK_Y_LINE 3
00062 #define VTK_Z_LINE 4
00063 #define VTK_XY_PLANE 5
00064 #define VTK_YZ_PLANE 6
00065 #define VTK_XZ_PLANE 7
00066 #define VTK_XYZ_GRID 8
00067
00068 class VTK_EXPORT vtkStructuredData : public vtkObject
00069 {
00070 public:
00071 static vtkStructuredData *New();
00072 vtkTypeMacro(vtkStructuredData,vtkObject);
00073
00079 static int SetDimensions(int inDim[3], int dim[3]);
00080 static int SetExtent(int inExt[3], int ext[3]);
00081
00083 static int GetDataDimension(int dataDescription);
00084
00086 static void GetCellPoints(int cellId, vtkIdList *ptIds,
00087 int dataDescription, int dim[3]);
00088
00090 static void GetPointCells(int ptId, vtkIdList *cellIds, int dim[3]);
00091
00094 static void GetCellNeigbors(int cellId, vtkIdList *ptIds,
00095 vtkIdList *cellIds, int dim[3]);
00096
00099 static int ComputePointId(int dim[3], int ijk[3]) {
00100 return ijk[2]*dim[0]*dim[1] + ijk[1]*dim[0] + ijk[0];}
00101
00104 static int ComputeCellId(int dim[3], int ijk[3]) {
00105 return ijk[2]*(dim[0]-1)*(dim[1]-1) + ijk[1]*(dim[0]-1) + ijk[0];};
00106
00107 #ifndef VTK_REMOVE_LEGACY_CODE
00108
00109 void GetCellPoints(int cellId, vtkIdList &ptIds, int dataDescription, int dim[3])
00110 {VTK_LEGACY_METHOD(GetCellPoints,"3.2"); this->GetCellPoints(cellId, &ptIds, dataDescription, dim);}
00111 void GetPointCells(int ptId, vtkIdList &cellIds, int dim[3])
00112 {VTK_LEGACY_METHOD(GetPointCells,"3.2"); this->GetPointCells(ptId, &cellIds, dim);}
00113 #endif
00114
00115 protected:
00116 vtkStructuredData() {};
00117 ~vtkStructuredData() {};
00118 vtkStructuredData(const vtkStructuredData&) {};
00119 void operator=(const vtkStructuredData&) {};
00120
00121 };
00122
00123
00124 #endif
00125