VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
vtkPolyVertex.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPolyVertex.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 =========================================================================*/
28 #ifndef __vtkPolyVertex_h
29 #define __vtkPolyVertex_h
30 
31 #include "vtkCommonDataModelModule.h" // For export macro
32 #include "vtkCell.h"
33 
34 class vtkVertex;
36 
37 class VTKCOMMONDATAMODEL_EXPORT vtkPolyVertex : public vtkCell
38 {
39 public:
40  static vtkPolyVertex *New();
41  vtkTypeMacro(vtkPolyVertex,vtkCell);
42  void PrintSelf(ostream& os, vtkIndent indent);
43 
45 
46  int GetCellType() {return VTK_POLY_VERTEX;};
47  int GetCellDimension() {return 0;};
48  int GetNumberOfEdges() {return 0;};
49  int GetNumberOfFaces() {return 0;};
50  vtkCell *GetEdge(int vtkNotUsed(edgeId)) {return 0;};
51  vtkCell *GetFace(int vtkNotUsed(faceId)) {return 0;};
52  int CellBoundary(int subId, double pcoords[3], vtkIdList *pts);
53  void Contour(double value, vtkDataArray *cellScalars,
54  vtkIncrementalPointLocator *locator, vtkCellArray *verts,
55  vtkCellArray *lines, vtkCellArray *polys,
56  vtkPointData *inPd, vtkPointData *outPd,
57  vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
58  void Clip(double value, vtkDataArray *cellScalars,
59  vtkIncrementalPointLocator *locator, vtkCellArray *verts,
60  vtkPointData *inPd, vtkPointData *outPd,
61  vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
62  int insideOut);
63  int EvaluatePosition(double x[3], double* closestPoint,
64  int& subId, double pcoords[3],
65  double& dist2, double *weights);
66  void EvaluateLocation(int& subId, double pcoords[3], double x[3],
67  double *weights);
68  int IntersectWithLine(double p1[3], double p2[3], double tol, double& t,
69  double x[3], double pcoords[3], int& subId);
70  int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
71  void Derivatives(int subId, double pcoords[3], double *values,
72  int dim, double *derivs);
73  int IsPrimaryCell() {return 0;}
75 
77  int GetParametricCenter(double pcoords[3]);
78 
80 
82  virtual void InterpolateFunctions(double pcoords[3], double *weights);
83  virtual void InterpolateDerivs(double pcoords[3], double *derivs);
85 
86 protected:
87  vtkPolyVertex();
88  ~vtkPolyVertex();
89 
90  vtkVertex *Vertex;
91 
92 private:
93  vtkPolyVertex(const vtkPolyVertex&); // Not implemented.
94  void operator=(const vtkPolyVertex&); // Not implemented.
95 };
96 
97 #endif
98 
99 
vtkCell * GetFace(int vtkNotUsed(faceId))
Definition: vtkPolyVertex.h:51
int GetNumberOfEdges()
Definition: vtkPolyVertex.h:48
Abstract class in support of both point location and point insertion.
vtkCell * GetEdge(int vtkNotUsed(edgeId))
Definition: vtkPolyVertex.h:50
int IsPrimaryCell()
Definition: vtkPolyVertex.h:73
int vtkIdType
Definition: vtkType.h:268
int GetCellDimension()
Definition: vtkPolyVertex.h:47
cell represents a set of 0D vertices
Definition: vtkPolyVertex.h:37
int GetNumberOfFaces()
Definition: vtkPolyVertex.h:49
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkVertex * Vertex
Definition: vtkPolyVertex.h:90
list of point or cell ids
Definition: vtkIdList.h:35
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
represent and manipulate 3D points
Definition: vtkPoints.h:39