Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

Common/vtkPolyVertex.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkPolyVertex.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00045 #ifndef __vtkPolyVertex_h
00046 #define __vtkPolyVertex_h
00047 
00048 #include "vtkCell.h"
00049 
00050 class vtkVertex;
00051 
00052 class VTK_COMMON_EXPORT vtkPolyVertex : public vtkCell
00053 {
00054 public:
00055   static vtkPolyVertex *New();
00056   vtkTypeRevisionMacro(vtkPolyVertex,vtkCell);
00057 
00059 
00060   int GetCellType() {return VTK_POLY_VERTEX;};
00061   int GetCellDimension() {return 0;};
00062   int GetNumberOfEdges() {return 0;};
00063   int GetNumberOfFaces() {return 0;};
00064   vtkCell *GetEdge(int vtkNotUsed(edgeId)) {return 0;};
00065   vtkCell *GetFace(int vtkNotUsed(faceId)) {return 0;};
00066   int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00067   void Contour(float value, vtkDataArray *cellScalars, 
00068                vtkPointLocator *locator, vtkCellArray *verts, 
00069                vtkCellArray *lines, vtkCellArray *polys,
00070                vtkPointData *inPd, vtkPointData *outPd,
00071                vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00072   void Clip(float value, vtkDataArray *cellScalars, 
00073             vtkPointLocator *locator, vtkCellArray *verts,
00074             vtkPointData *inPd, vtkPointData *outPd,
00075             vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00076             int insideOut);
00077   int EvaluatePosition(float x[3], float* closestPoint, 
00078                        int& subId, float pcoords[3],
00079                        float& dist2, float *weights);
00080   void EvaluateLocation(int& subId, float pcoords[3], float x[3],
00081                         float *weights);
00082   int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00083                         float x[3], float pcoords[3], int& subId);
00084   int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00085   void Derivatives(int subId, float pcoords[3], float *values, 
00086                    int dim, float *derivs);
00088   
00090   int GetParametricCenter(float pcoords[3]);
00091 
00092   
00093 protected:
00094   vtkPolyVertex();
00095   ~vtkPolyVertex();
00096 
00097   vtkVertex *Vertex;
00098 
00099 private:
00100   vtkPolyVertex(const vtkPolyVertex&);  // Not implemented.
00101   void operator=(const vtkPolyVertex&);  // Not implemented.
00102 };
00103 
00104 #endif
00105 
00106