45 #ifndef __vtkDataSet_h
46 #define __vtkDataSet_h
48 #include "vtkDataObject.h"
56 class vtkSourceToDataSetFriendship;
62 void PrintSelf(ostream& os,
vtkIndent indent);
67 virtual void CopyStructure(
vtkDataSet *ds) = 0;
75 virtual vtkIdType GetNumberOfPoints() = 0;
83 virtual double *GetPoint(
vtkIdType ptId) = 0;
88 virtual void GetPoint(
vtkIdType id,
double x[3]);
92 virtual vtkCell *GetCell(
vtkIdType cellId) = 0;
98 virtual void GetCell(
vtkIdType cellId, vtkGenericCell *cell) = 0;
108 virtual void GetCellBounds(
vtkIdType cellId,
double bounds[6]);
113 virtual int GetCellType(
vtkIdType cellId) = 0;
122 virtual void GetCellTypes(vtkCellTypes *types);
151 xyz[0] = x; xyz[1] = y; xyz[2] = z;
152 return this->FindPoint (xyz);
154 virtual vtkIdType FindPoint(
double x[3]) = 0;
167 double tol2,
int& subId,
double pcoords[3],
168 double *weights) = 0;
177 virtual vtkIdType FindCell(
double x[3], vtkCell *cell,
178 vtkGenericCell *gencell,
vtkIdType cellId,
179 double tol2,
int& subId,
double pcoords[3],
180 double *weights) = 0;
190 virtual vtkCell *FindAndGetCell(
double x[3], vtkCell *cell,
vtkIdType cellId,
191 double tol2,
int& subId,
double pcoords[3],
197 unsigned long int GetMTime();
209 virtual void Squeeze();
213 virtual void ComputeBounds();
222 void GetBounds(
double bounds[6]);
229 void GetCenter(
double center[3]);
245 virtual void GetScalarRange(
double range[2]);
249 double *GetScalarRange();
254 virtual int GetMaxCellSize() = 0;
261 unsigned long GetActualMemorySize();
290 int CheckAttributes();
294 virtual void GenerateGhostLevelArray();
308 virtual vtkFieldData* GetAttributesAsFieldData(
int type);
312 virtual vtkIdType GetNumberOfElements(
int type);
321 virtual void ComputeScalarRange();
330 double ScalarRange[2];
338 friend class vtkSourceToDataSetFriendship;
339 friend class vtkImageAlgorithmToDataSetFriendship;
349 x[0] = pt[0]; x[1] = pt[1]; x[2] = pt[2];
abstract class to specify dataset behavior
record modification and/or execution time
represent and manipulate cell attribute data
vtkCellData * GetCellData()
vtkTimeStamp ScalarRangeComputeTime
vtkPointData * GetPointData()
a simple class to control print indentation
list of point or cell ids
virtual double * GetPoint(vtkIdType ptId)=0
helper class to get VTK data object types as string and instantiate them
vtkIdType FindPoint(double x, double y, double z)