00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00022 #ifndef __vtkUniformGrid_h
00023 #define __vtkUniformGrid_h
00024
00025 #include "vtkImageData.h"
00026
00027 class vtkEmptyCell;
00028 class vtkStructuredVisibilityConstraint;
00029 class vtkUnsignedCharArray;
00030
00031 class VTK_FILTERING_EXPORT vtkUniformGrid : public vtkImageData
00032 {
00033 public:
00034 static vtkUniformGrid *New();
00035
00036 vtkTypeRevisionMacro(vtkUniformGrid,vtkImageData);
00037 void PrintSelf(ostream& os, vtkIndent indent);
00038
00041 virtual void CopyStructure(vtkDataSet *ds);
00042
00044 virtual int GetDataObjectType() {return VTK_UNIFORM_GRID;};
00045
00047
00048 virtual vtkCell *GetCell(vtkIdType cellId);
00049 virtual void GetCell(vtkIdType cellId, vtkGenericCell *cell);
00050 virtual vtkIdType FindCell(
00051 double x[3], vtkCell *cell, vtkIdType cellId, double tol2,
00052 int& subId, double pcoords[3], double *weights);
00053 virtual vtkIdType FindCell(
00054 double x[3], vtkCell *cell, vtkGenericCell *gencell,
00055 vtkIdType cellId, double tol2, int& subId,
00056 double pcoords[3], double *weights);
00057 virtual vtkCell *FindAndGetCell(
00058 double x[3], vtkCell *cell, vtkIdType cellId,
00059 double tol2, int& subId, double pcoords[3],
00060 double *weights);
00061 virtual int GetCellType(vtkIdType cellId);
00062 virtual void GetCellPoints(vtkIdType cellId, vtkIdList *ptIds)
00063 {vtkStructuredData::GetCellPoints(cellId,ptIds,this->DataDescription,
00064 this->GetDimensions());}
00065 virtual void GetPointCells(vtkIdType ptId, vtkIdList *cellIds)
00066 {vtkStructuredData::GetPointCells(ptId,cellIds,this->GetDimensions());}
00067 virtual void Initialize();
00068 virtual int GetMaxCellSize() {return 8;};
00070
00072
00073 virtual void ShallowCopy(vtkDataObject *src);
00074 virtual void DeepCopy(vtkDataObject *src);
00076
00078
00082 virtual void BlankPoint(vtkIdType ptId);
00083 virtual void UnBlankPoint(vtkIdType ptId);
00085
00087
00090 virtual void BlankCell(vtkIdType ptId);
00091 virtual void UnBlankCell(vtkIdType ptId);
00093
00095 virtual vtkUnsignedCharArray *GetPointVisibilityArray();
00096
00100 virtual void SetPointVisibilityArray(vtkUnsignedCharArray *pointVisibility);
00101
00103 virtual vtkUnsignedCharArray *GetCellVisibilityArray();
00104
00108 virtual void SetCellVisibilityArray(vtkUnsignedCharArray *pointVisibility);
00109
00112 virtual unsigned char IsPointVisible(vtkIdType ptId);
00113
00116 virtual unsigned char IsCellVisible(vtkIdType cellId);
00117
00120 virtual unsigned char GetPointBlanking();
00121
00124 virtual unsigned char GetCellBlanking();
00125
00126 virtual vtkImageData* NewImageDataCopy();
00127
00128
00130
00131 static vtkUniformGrid* GetData(vtkInformation* info);
00132 static vtkUniformGrid* GetData(vtkInformationVector* v, int i=0);
00133
00135
00136 protected:
00137 vtkUniformGrid();
00138 ~vtkUniformGrid();
00139
00141 virtual void ComputeScalarRange();
00142
00143 vtkStructuredVisibilityConstraint* PointVisibility;
00144
00145 void SetPointVisibility(vtkStructuredVisibilityConstraint *pointVisibility);
00146 vtkGetObjectMacro(PointVisibility, vtkStructuredVisibilityConstraint);
00147
00148 vtkStructuredVisibilityConstraint* CellVisibility;
00149
00150 void SetCellVisibility(vtkStructuredVisibilityConstraint *cellVisibility);
00151 vtkGetObjectMacro(CellVisibility, vtkStructuredVisibilityConstraint);
00152
00153 vtkEmptyCell *EmptyCell;
00154
00155 private:
00156 vtkUniformGrid(const vtkUniformGrid&);
00157 void operator=(const vtkUniformGrid&);
00158 };
00159
00160
00161 #endif
00162
00163
00164