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 =========================================================================*/
56 #ifndef vtkGenericDataSet_h
57 #define vtkGenericDataSet_h
58 
59 #include "vtkCommonDataModelModule.h" // For export macro
60 #include "vtkDataObject.h"
61 
62 class vtkCellTypes;
67 
69 {
70 public:
72 
74  void PrintSelf(ostream& os, vtkIndent indent);
76 
80 
84  virtual vtkIdType GetNumberOfCells(int dim=-1) = 0;
85 
90  virtual int GetCellDimension() = 0;
91 
100 
109  virtual vtkGenericCellIterator *NewCellIterator(int dim=-1) = 0;
110 
112 
119  int exteriorOnly=0) = 0;
121 
127 
129 
138  virtual int FindCell(double x[3],
139  vtkGenericCellIterator* &cell,
140  double tol2,
141  int &subId,
142  double pcoords[3]) = 0;
144 
146 
148  virtual void FindPoint(double x[3],
151 
154  virtual unsigned long int GetMTime();
155 
157  virtual void ComputeBounds()=0;
158 
162  virtual double *GetBounds();
163 
166  virtual void GetBounds(double bounds[6]);
167 
170  virtual double *GetCenter();
171 
173  virtual void GetCenter(double center[3]);
174 
177  virtual double GetLength();
178 
180 
183 
185 
194  { return this->Superclass::GetAttributes(type); }
196 
198 
200  virtual void SetTessellator(vtkGenericCellTessellator *tessellator);
203 
207  virtual unsigned long GetActualMemorySize();
208 
211 
214 
215  //BTX
217 
220  //ETX
222 
223 protected:
227 
229 
231 
232  //Main helper class to tesselate a higher order cell into linear ones.
234 
235  double Bounds[6]; // (xmin,xmax, ymin,ymax, zmin,zmax) geometric bounds
236  double Center[3]; // Center of the geometric bounding box
237  vtkTimeStamp ComputeTime; // Time at which bounds, center, etc. computed
238 
239 private:
240  vtkGenericDataSet(const vtkGenericDataSet&); // Not implemented.
241  void operator=(const vtkGenericDataSet&); // Not implemented.
242 };
243 
244 #endif
vtkGenericPointIterator
iterator used to traverse points
Definition: vtkGenericPointIterator.h:42
vtkGenericDataSet::GetLength
virtual double GetLength()
vtkGenericDataSet::GetNumberOfPoints
virtual vtkIdType GetNumberOfPoints()=0
vtkGetObjectMacro
#define vtkGetObjectMacro(name, type)
Definition: vtkSetGet.h:232
vtkGenericDataSet::ComputeTime
vtkTimeStamp ComputeTime
Definition: vtkGenericDataSet.h:237
vtkGenericDataSet::FindPoint
virtual void FindPoint(double x[3], vtkGenericPointIterator *p)=0
vtkGenericDataSet::GetBounds
virtual void GetBounds(double bounds[6])
vtkGenericDataSet::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkCellTypes
object provides direct access to cells in vtkCellArray and type information
Definition: vtkCellTypes.h:52
vtkGenericDataSet::vtkGenericDataSet
vtkGenericDataSet()
vtkGenericDataSet::Tessellator
vtkGenericCellTessellator * Tessellator
Definition: vtkGenericDataSet.h:233
vtkGenericDataSet::GetCenter
virtual void GetCenter(double center[3])
vtkGenericDataSet::Attributes
vtkGenericAttributeCollection * Attributes
Definition: vtkGenericDataSet.h:230
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkCommonDataModelModule.h
vtkDataSetAttributes
represent and manipulate attribute data in a dataset
Definition: vtkDataSetAttributes.h:58
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkTimeStamp
record modification and/or execution time
Definition: vtkTimeStamp.h:35
vtkgl::types
GLsizei GLenum GLenum * types
Definition: vtkgl.h:14417
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkGenericDataSet::NewBoundaryIterator
virtual vtkGenericCellIterator * NewBoundaryIterator(int dim=-1, int exteriorOnly=0)=0
vtkgl::v
const GLdouble * v
Definition: vtkgl.h:11595
vtkgl::x
GLint GLint GLint GLint GLint x
Definition: vtkgl.h:11318
vtkX3D::center
@ center
Definition: vtkX3D.h:230
vtkGenericCellIterator
iterator used to traverse cells
Definition: vtkGenericCellIterator.h:44
vtkGenericDataSet::GetCenter
virtual double * GetCenter()
vtkGenericDataSet
defines dataset interface
Definition: vtkGenericDataSet.h:69
vtkGenericDataSet::FindCell
virtual int FindCell(double x[3], vtkGenericCellIterator *&cell, double tol2, int &subId, double pcoords[3])=0
vtkGenericDataSet::~vtkGenericDataSet
virtual ~vtkGenericDataSet()
vtkGenericDataSet::GetMTime
virtual unsigned long int GetMTime()
vtkGenericCellTessellator
helper class to perform cell tessellation
Definition: vtkGenericCellTessellator.h:58
vtkGenericDataSet::NewPointIterator
virtual vtkGenericPointIterator * NewPointIterator()=0
vtkGenericDataSet::GetData
static vtkGenericDataSet * GetData(vtkInformation *info)
vtkGenericDataSet::GetActualMemorySize
virtual unsigned long GetActualMemorySize()
vtkGenericDataSet::GetEstimatedSize
virtual vtkIdType GetEstimatedSize()=0
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkGenericDataSet::GetAttributes
virtual vtkDataSetAttributes * GetAttributes(int type)
Definition: vtkGenericDataSet.h:193
vtkGenericDataSet::GetCellDimension
virtual int GetCellDimension()=0
vtkGenericDataSet::ComputeBounds
virtual void ComputeBounds()=0
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkGenericDataSet::GetCellTypes
virtual void GetCellTypes(vtkCellTypes *types)
vtkGenericDataSet::SetTessellator
virtual void SetTessellator(vtkGenericCellTessellator *tessellator)
vtkDataObject.h
vtkGenericDataSet::GetData
static vtkGenericDataSet * GetData(vtkInformationVector *v, int i=0)
vtkGenericAttributeCollection
a collection of attributes
Definition: vtkGenericAttributeCollection.h:36
vtkgl::p
GLfloat GLfloat p
Definition: vtkgl.h:15717
VTKCOMMONDATAMODEL_EXPORT
#define VTKCOMMONDATAMODEL_EXPORT
Definition: vtkCommonDataModelModule.h:15
vtkGenericDataSet::GetNumberOfCells
virtual vtkIdType GetNumberOfCells(int dim=-1)=0
vtkGenericDataSet::GetDataObjectType
int GetDataObjectType()
vtkDataObject
general representation of visualization data
Definition: vtkDataObject.h:65
vtkGenericDataSet::NewCellIterator
virtual vtkGenericCellIterator * NewCellIterator(int dim=-1)=0
vtkgl::type
GLuint GLuint GLsizei GLenum type
Definition: vtkgl.h:11315
vtkGenericDataSet::GetBounds
virtual double * GetBounds()