/usr/include/vtk-6.3/vtkGenericCell.h is in libvtk6-dev 6.3.0+dfsg1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkGenericCell.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 vtkGenericCell - provides thread-safe access to cells
// .SECTION Description
// vtkGenericCell is a class that provides access to concrete types of cells.
// It's main purpose is to allow thread-safe access to cells, supporting
// the vtkDataSet::GetCell(vtkGenericCell *) method. vtkGenericCell acts
// like any type of cell, it just dereferences an internal representation.
// The SetCellType() methods use \#define constants; these are defined in
// the file vtkCellType.h.
// .SECTION See Also
// vtkCell vtkDataSet
#ifndef vtkGenericCell_h
#define vtkGenericCell_h
#include "vtkCommonDataModelModule.h" // For export macro
#include "vtkCell.h"
class VTKCOMMONDATAMODEL_EXPORT vtkGenericCell : public vtkCell
{
public:
// Description:
// Create handle to any type of cell; by default a vtkEmptyCell.
static vtkGenericCell *New();
vtkTypeMacro(vtkGenericCell,vtkCell);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Set the points object to use for this cell. This updates the internal cell
// storage as well as the public member variable Points.
void SetPoints(vtkPoints *points);
// Description:
// Set the point ids to use for this cell. This updates the internal cell
// storage as well as the public member variable PointIds.
void SetPointIds(vtkIdList *pointIds);
// Description:
// See the vtkCell API for descriptions of these methods.
void ShallowCopy(vtkCell *c);
void DeepCopy(vtkCell *c);
int GetCellType();
int GetCellDimension();
int IsLinear();
int RequiresInitialization();
void Initialize();
int RequiresExplicitFaceRepresentation();
void SetFaces(vtkIdType *faces);
vtkIdType *GetFaces();
int GetNumberOfEdges();
int GetNumberOfFaces();
vtkCell *GetEdge(int edgeId);
vtkCell *GetFace(int faceId);
int CellBoundary(int subId, double pcoords[3], vtkIdList *pts);
int EvaluatePosition(double x[3], double* closestPoint,
int& subId, double pcoords[3],
double& dist2, double *weights);
void EvaluateLocation(int& subId, double pcoords[3],
double x[3], double *weights);
void Contour(double value, vtkDataArray *cellScalars,
vtkIncrementalPointLocator *locator, vtkCellArray *verts,
vtkCellArray *lines, vtkCellArray *polys,
vtkPointData *inPd, vtkPointData *outPd,
vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
void Clip(double value, vtkDataArray *cellScalars,
vtkIncrementalPointLocator *locator, vtkCellArray *connectivity,
vtkPointData *inPd, vtkPointData *outPd,
vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
int insideOut);
int IntersectWithLine(double p1[3], double p2[3], double tol, double& t,
double x[3], double pcoords[3], int& subId);
int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
void Derivatives(int subId, double pcoords[3], double *values,
int dim, double *derivs);
int GetParametricCenter(double pcoords[3]);
double *GetParametricCoords();
int IsPrimaryCell();
// Description:
// Compute the interpolation functions/derivatives
// (aka shape functions/derivatives)
virtual void InterpolateFunctions(double pcoords[3], double *weights);
virtual void InterpolateDerivs(double pcoords[3], double *derivs);
// Description:
// This method is used to support the vtkDataSet::GetCell(vtkGenericCell *)
// method. It allows vtkGenericCell to act like any cell type by
// dereferencing an internal instance of a concrete cell type. When
// you set the cell type, you are resetting a pointer to an internal
// cell which is then used for computation.
void SetCellType(int cellType);
void SetCellTypeToEmptyCell() {this->SetCellType(VTK_EMPTY_CELL);}
void SetCellTypeToVertex() {this->SetCellType(VTK_VERTEX);}
void SetCellTypeToPolyVertex() {this->SetCellType(VTK_POLY_VERTEX);}
void SetCellTypeToLine() {this->SetCellType(VTK_LINE);}
void SetCellTypeToPolyLine() {this->SetCellType(VTK_POLY_LINE);}
void SetCellTypeToTriangle() {this->SetCellType(VTK_TRIANGLE);}
void SetCellTypeToTriangleStrip() {this->SetCellType(VTK_TRIANGLE_STRIP);}
void SetCellTypeToPolygon() {this->SetCellType(VTK_POLYGON);}
void SetCellTypeToPixel() {this->SetCellType(VTK_PIXEL);}
void SetCellTypeToQuad() {this->SetCellType(VTK_QUAD);}
void SetCellTypeToTetra() {this->SetCellType(VTK_TETRA);}
void SetCellTypeToVoxel() {this->SetCellType(VTK_VOXEL);}
void SetCellTypeToHexahedron() {this->SetCellType(VTK_HEXAHEDRON);}
void SetCellTypeToWedge() {this->SetCellType(VTK_WEDGE);}
void SetCellTypeToPyramid() {this->SetCellType(VTK_PYRAMID);}
void SetCellTypeToPentagonalPrism() {this->SetCellType(VTK_PENTAGONAL_PRISM);}
void SetCellTypeToHexagonalPrism() {this->SetCellType(VTK_HEXAGONAL_PRISM);}
void SetCellTypeToPolyhedron() {this->SetCellType(VTK_POLYHEDRON);}
void SetCellTypeToConvexPointSet() {this->SetCellType(VTK_CONVEX_POINT_SET);}
void SetCellTypeToQuadraticEdge() {this->SetCellType(VTK_QUADRATIC_EDGE);}
void SetCellTypeToCubicLine() {this->SetCellType(VTK_CUBIC_LINE);}
void SetCellTypeToQuadraticTriangle() {this->SetCellType(VTK_QUADRATIC_TRIANGLE);}
void SetCellTypeToBiQuadraticTriangle() {this->SetCellType(VTK_BIQUADRATIC_TRIANGLE);}
void SetCellTypeToQuadraticQuad() {this->SetCellType(VTK_QUADRATIC_QUAD);}
void SetCellTypeToQuadraticPolygon() {this->SetCellType(VTK_QUADRATIC_POLYGON);}
void SetCellTypeToQuadraticTetra() {this->SetCellType(VTK_QUADRATIC_TETRA);}
void SetCellTypeToQuadraticHexahedron() {this->SetCellType(VTK_QUADRATIC_HEXAHEDRON);}
void SetCellTypeToQuadraticWedge() {this->SetCellType(VTK_QUADRATIC_WEDGE);}
void SetCellTypeToQuadraticPyramid() {this->SetCellType(VTK_QUADRATIC_PYRAMID);}
void SetCellTypeToQuadraticLinearQuad() {this->SetCellType(VTK_QUADRATIC_LINEAR_QUAD);}
void SetCellTypeToBiQuadraticQuad() {this->SetCellType(VTK_BIQUADRATIC_QUAD);}
void SetCellTypeToQuadraticLinearWedge() {this->SetCellType(VTK_QUADRATIC_LINEAR_WEDGE);}
void SetCellTypeToBiQuadraticQuadraticWedge() {
this->SetCellType(VTK_BIQUADRATIC_QUADRATIC_WEDGE);}
void SetCellTypeToTriQuadraticHexahedron() {
this->SetCellType(VTK_TRIQUADRATIC_HEXAHEDRON);}
void SetCellTypeToBiQuadraticQuadraticHexahedron() {
this->SetCellType(VTK_BIQUADRATIC_QUADRATIC_HEXAHEDRON);}
// Description:
// Instantiate a new vtkCell based on it's cell type value
static vtkCell* InstantiateCell(int cellType);
protected:
vtkGenericCell();
~vtkGenericCell();
vtkCell *Cell;
private:
vtkGenericCell(const vtkGenericCell&); // Not implemented.
void operator=(const vtkGenericCell&); // Not implemented.
};
#endif
|