VTK
vtkGenericDataSet.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkGenericDataSet.h
5
6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7 All rights reserved.
8 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9
10 This software is distributed WITHOUT ANY WARRANTY; without even
11 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12 PURPOSE. See the above copyright notice for more information.
13
14=========================================================================*/
57#ifndef vtkGenericDataSet_h
58#define vtkGenericDataSet_h
59
60#include "vtkCommonDataModelModule.h" // For export macro
61#include "vtkDataObject.h"
62
63class vtkCellTypes;
68
69class VTKCOMMONDATAMODEL_EXPORT vtkGenericDataSet : public vtkDataObject
70{
71public:
73
77 void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
79
86
93 virtual vtkIdType GetNumberOfCells(int dim=-1) = 0;
94
101 virtual int GetCellDimension() = 0;
102
113 virtual void GetCellTypes(vtkCellTypes *types);
114
126 virtual vtkGenericCellIterator *NewCellIterator(int dim=-1) = 0;
127
138 int exteriorOnly=0) = 0;
139
147
161 virtual int FindCell(double x[3],
163 double tol2,
164 int &subId,
165 double pcoords[3]) = 0;
166
172 virtual void FindPoint(double x[3],
174
179 vtkMTimeType GetMTime() VTK_OVERRIDE;
180
184 virtual void ComputeBounds()=0;
185
192 virtual double *GetBounds();
193
198 virtual void GetBounds(double bounds[6]);
199
205 virtual double *GetCenter();
206
210 virtual void GetCenter(double center[3]);
211
216 virtual double GetLength();
217
219
222 vtkGetObjectMacro(Attributes, vtkGenericAttributeCollection);
224
240 vtkDataSetAttributes* GetAttributes(int type) VTK_OVERRIDE
241 { return this->Superclass::GetAttributes(type); }
242
244
249 virtual void SetTessellator(vtkGenericCellTessellator *tessellator);
250 vtkGetObjectMacro(Tessellator,vtkGenericCellTessellator);
252
258 unsigned long GetActualMemorySize() VTK_OVERRIDE;
259
263 int GetDataObjectType() VTK_OVERRIDE;
264
268 virtual vtkIdType GetEstimatedSize() = 0;
269
271
275 static vtkGenericDataSet* GetData(vtkInformationVector* v, int i=0);
277
278protected:
284
285 ~vtkGenericDataSet() VTK_OVERRIDE;
286
288
289 //Main helper class to tesselate a higher order cell into linear ones.
291
292 double Bounds[6]; // (xmin,xmax, ymin,ymax, zmin,zmax) geometric bounds
293 double Center[3]; // Center of the geometric bounding box
294 vtkTimeStamp ComputeTime; // Time at which bounds, center, etc. computed
295
296private:
297 vtkGenericDataSet(const vtkGenericDataSet&) VTK_DELETE_FUNCTION;
298 void operator=(const vtkGenericDataSet&) VTK_DELETE_FUNCTION;
299};
300
301#endif
object provides direct access to cells in vtkCellArray and type information
Definition: vtkCellTypes.h:53
general representation of visualization data
Definition: vtkDataObject.h:65
represent and manipulate attribute data in a dataset
iterator used to traverse cells
helper class to perform cell tessellation
defines dataset interface
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetTessellator(vtkGenericCellTessellator *tessellator)
Set/Get a cell tessellator if cells must be tessellated during processing.
unsigned long GetActualMemorySize() override
Actual size of the data in kibibytes (1024 bytes); only valid after the pipeline has updated.
virtual vtkIdType GetNumberOfPoints()=0
Return the number of points composing the dataset.
virtual int GetCellDimension()=0
Return -1 if the dataset is explicitly defined by cells of varying dimensions or if there are no cell...
virtual vtkIdType GetNumberOfCells(int dim=-1)=0
Return the number of cells that explicitly define the dataset.
virtual vtkGenericPointIterator * NewPointIterator()=0
Return an iterator to traverse the points composing the dataset; they can be points that define a cel...
virtual vtkGenericCellIterator * NewBoundaryIterator(int dim=-1, int exteriorOnly=0)=0
Return an iterator to traverse cell boundaries of dimension ‘dim’ (or all dimensions if -1) of the da...
virtual void FindPoint(double x[3], vtkGenericPointIterator *p)=0
Locate the closest point ‘p’ to position ‘x’ (global coordinates).
virtual int FindCell(double x[3], vtkGenericCellIterator *&cell, double tol2, int &subId, double pcoords[3])=0
Locate the closest cell to position ‘x’ (global coordinates) with respect to a tolerance squared ‘tol...
virtual vtkGenericCellIterator * NewCellIterator(int dim=-1)=0
Return an iterator to traverse cells of dimension ‘dim’ (or all dimensions if -1) that explicitly def...
vtkMTimeType GetMTime() override
Datasets are composite objects and need to check each part for their modified time.
virtual void GetCellTypes(vtkCellTypes *types)
Get a list of types of cells in a dataset.
iterator used to traverse points
a simple class to control print indentation
Definition: vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
record modification and/or execution time
Definition: vtkTimeStamp.h:36
@ info
Definition: vtkX3D.h:376
@ center
Definition: vtkX3D.h:230
@ type
Definition: vtkX3D.h:516
int vtkIdType
Definition: vtkType.h:287
vtkTypeUInt64 vtkMTimeType
Definition: vtkType.h:248