forked from Kitware/VTK
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathvtkExplicitCell.h
74 lines (57 loc) · 2.68 KB
/
vtkExplicitCell.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*=========================================================================
Program: Visualization Toolkit
Module: vtkExplicitCell.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkExplicitCell - abstract superclass for cells requiring an explicit representation
// .SECTION Description
// vtkExplicitCell is an abstract superclass for cells that cannot be
// represented implicitly. An implicit representation requires only a
// cell type and connectivity list (e.g., triangle). Explicit cells
// require information beyond this; e.g., a NURBS surface or cells that
// require explicit face/edge descriptions. Most cells in VTK are
// implicitly represented.
#ifndef __vtkExplicitCell_h
#define __vtkExplicitCell_h
#include "vtkNonLinearCell.h"
class vtkDataSet;
class VTK_FILTERING_EXPORT vtkExplicitCell : public vtkNonLinearCell
{
public:
vtkTypeMacro(vtkExplicitCell,vtkNonLinearCell);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Explicit cells require additional representational information
// beyond the usual cell type and connectivity list information.
// Most cells in VTK are implicit cells. The vtkCell::IsImplicitCell()
// virtual function is overloaded to reflect this requirement.
virtual int IsExplicitCell() {return 1;}
// Description:
// Set/Get the cell id. This is necessary for explicit cells because they
// often need to keep extra information (typically contained in the
// cell data of a point set). This information might be things like
// knot points/weights, boundaries, etc.
vtkSetMacro(CellId,vtkIdType);
vtkGetMacro(CellId,vtkIdType);
// Description:
// Set/Get the mesh that owns this cell. This is necessary for explicit
// cells because they often need to keep extra information (typically
// contained in the cell data of a point set). This information might be
// things like knot points/weights, boundaries, etc.
virtual void SetDataSet(vtkDataSet*);
vtkGetObjectMacro(DataSet,vtkDataSet);
protected:
vtkExplicitCell();
~vtkExplicitCell() {}
vtkIdType CellId; //used to index into other arrays
vtkDataSet *DataSet; //dataset from which this cell came
private:
vtkExplicitCell(const vtkExplicitCell&); // Not implemented.
void operator=(const vtkExplicitCell&); // Not implemented.
};
#endif