00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00028 #ifndef __vtkUniformGrid_h
00029 #define __vtkUniformGrid_h
00030
00031 #include "vtkImageData.h"
00032
00033 class vtkEmptyCell;
00034 class vtkStructuredVisibilityConstraint;
00035 class vtkUnsignedCharArray;
00036
00037 class VTK_FILTERING_EXPORT vtkUniformGrid : public vtkImageData
00038 {
00039 public:
00040 static vtkUniformGrid *New();
00041
00042 vtkTypeRevisionMacro(vtkUniformGrid,vtkImageData);
00043 void PrintSelf(ostream& os, vtkIndent indent);
00044
00047 virtual void CopyStructure(vtkDataSet *ds);
00048
00050 virtual int GetDataObjectType() {return VTK_UNIFORM_GRID;};
00051
00053
00054 virtual vtkCell *GetCell(vtkIdType cellId);
00055 virtual void GetCell(vtkIdType cellId, vtkGenericCell *cell);
00056 virtual vtkIdType FindCell(
00057 double x[3], vtkCell *cell, vtkIdType cellId, double tol2,
00058 int& subId, double pcoords[3], double *weights);
00059 virtual vtkIdType FindCell(
00060 double x[3], vtkCell *cell, vtkGenericCell *gencell,
00061 vtkIdType cellId, double tol2, int& subId,
00062 double pcoords[3], double *weights);
00063 virtual vtkCell *FindAndGetCell(
00064 double x[3], vtkCell *cell, vtkIdType cellId,
00065 double tol2, int& subId, double pcoords[3],
00066 double *weights);
00067 virtual int GetCellType(vtkIdType cellId);
00068 virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)
00069 {vtkStructuredData::GetCellPoints(cellId,ptIds,this->DataDescription,
00070 this->GetDimensions());}
00071 virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)
00072 {vtkStructuredData::GetPointCells(ptId,cellIds,this->GetDimensions());}
00073 virtual void Initialize();
00074 virtual int GetMaxCellSize() {return 8;};
00075 virtual void GetScalarRange(double range[2]);
00077
00079
00080 virtual void ShallowCopy(vtkDataObject *src);
00081 virtual void DeepCopy(vtkDataObject *src);
00083
00085
00089 virtual void BlankPoint(vtkIdType ptId);
00090 virtual void UnBlankPoint(vtkIdType ptId);
00092
00094
00097 virtual void BlankCell(vtkIdType ptId);
00098 virtual void UnBlankCell(vtkIdType ptId);
00100
00102 virtual vtkUnsignedCharArray *GetPointVisibilityArray();
00103
00107 virtual void SetPointVisibilityArray(vtkUnsignedCharArray *pointVisibility);
00108
00110 virtual vtkUnsignedCharArray *GetCellVisibilityArray();
00111
00115 virtual void SetCellVisibilityArray(vtkUnsignedCharArray *pointVisibility);
00116
00119 virtual unsigned char IsPointVisible(vtkIdType ptId);
00120
00123 virtual unsigned char IsCellVisible(vtkIdType cellId);
00124
00127 virtual unsigned char GetPointBlanking();
00128
00131 virtual unsigned char GetCellBlanking();
00132
00133 virtual vtkImageData* NewImageDataCopy();
00134
00135
00137
00138 static vtkUniformGrid* GetData(vtkInformation* info);
00139 static vtkUniformGrid* GetData(vtkInformationVector* v, int i=0);
00140
00142
00143 protected:
00144 vtkUniformGrid();
00145 ~vtkUniformGrid();
00146
00147 vtkStructuredVisibilityConstraint* PointVisibility;
00148
00149 void SetPointVisibility(vtkStructuredVisibilityConstraint *pointVisibility);
00150 vtkGetObjectMacro(PointVisibility, vtkStructuredVisibilityConstraint);
00151
00152 vtkStructuredVisibilityConstraint* CellVisibility;
00153
00154 void SetCellVisibility(vtkStructuredVisibilityConstraint *cellVisibility);
00155 vtkGetObjectMacro(CellVisibility, vtkStructuredVisibilityConstraint);
00156
00157 vtkEmptyCell *EmptyCell;
00158
00159 private:
00160 vtkUniformGrid(const vtkUniformGrid&);
00161 void operator=(const vtkUniformGrid&);
00162 };
00163
00164
00165 #endif
00166
00167
00168