1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkPolyVertex.h,v $
6 Date: $Date: 2002/12/26 18:24:21 $
7 Version: $Revision: 1.60 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkPolyVertex - cell represents a set of 0D vertices
19 // .SECTION Description
20 // vtkPolyVertex is a concrete implementation of vtkCell to represent a
21 // set of 3D vertices.
23 #ifndef __vtkPolyVertex_h
24 #define __vtkPolyVertex_h
30 class VTK_COMMON_EXPORT vtkPolyVertex : public vtkCell
33 static vtkPolyVertex *New();
34 vtkTypeRevisionMacro(vtkPolyVertex,vtkCell);
37 // See the vtkCell API for descriptions of these methods.
38 int GetCellType() {return VTK_POLY_VERTEX;};
39 int GetCellDimension() {return 0;};
40 int GetNumberOfEdges() {return 0;};
41 int GetNumberOfFaces() {return 0;};
42 vtkCell *GetEdge(int vtkNotUsed(edgeId)) {return 0;};
43 vtkCell *GetFace(int vtkNotUsed(faceId)) {return 0;};
44 int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
45 void Contour(float value, vtkDataArray *cellScalars,
46 vtkPointLocator *locator, vtkCellArray *verts,
47 vtkCellArray *lines, vtkCellArray *polys,
48 vtkPointData *inPd, vtkPointData *outPd,
49 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
50 void Clip(float value, vtkDataArray *cellScalars,
51 vtkPointLocator *locator, vtkCellArray *verts,
52 vtkPointData *inPd, vtkPointData *outPd,
53 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
55 int EvaluatePosition(float x[3], float* closestPoint,
56 int& subId, float pcoords[3],
57 float& dist2, float *weights);
58 void EvaluateLocation(int& subId, float pcoords[3], float x[3],
60 int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
61 float x[3], float pcoords[3], int& subId);
62 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
63 void Derivatives(int subId, float pcoords[3], float *values,
64 int dim, float *derivs);
67 // Return the center of the point cloud in parametric coordinates.
68 int GetParametricCenter(float pcoords[3]);
78 vtkPolyVertex(const vtkPolyVertex&); // Not implemented.
79 void operator=(const vtkPolyVertex&); // Not implemented.