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

Common/vtkVertex.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkVertex.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 =========================================================================*/
00044 #ifndef __vtkVertex_h
00045 #define __vtkVertex_h
00046 
00047 #include "vtkCell.h"
00048 
00049 class VTK_COMMON_EXPORT vtkVertex : public vtkCell
00050 {
00051 public:
00052   static vtkVertex *New();
00053   vtkTypeRevisionMacro(vtkVertex,vtkCell);
00054   
00059   int GetCellType() {return VTK_VERTEX;};
00060   int GetCellDimension() {return 0;};
00061   int GetNumberOfEdges() {return 0;};
00062   int GetNumberOfFaces() {return 0;};
00063   vtkCell *GetEdge(int) {return 0;};
00064   vtkCell *GetFace(int) {return 0;};
00065   void Clip(float value, vtkDataArray *cellScalars, 
00066             vtkPointLocator *locator, vtkCellArray *pts,
00067             vtkPointData *inPd, vtkPointData *outPd,
00068             vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd,
00069             int insideOut);
00070   int EvaluatePosition(float x[3], float* closestPoint, 
00071                        int& subId, float pcoords[3], 
00072                        float& dist2, float *weights);
00073   void EvaluateLocation(int& subId, float pcoords[3], float x[3],
00074                         float *weights);
00076 
00082   int CellBoundary(int subId, float pcoords[3], vtkIdList *pts);
00083 
00085 
00089   void Contour(float value, vtkDataArray *cellScalars, 
00090                vtkPointLocator *locator, vtkCellArray *verts1, 
00091                vtkCellArray *lines, vtkCellArray *verts2, 
00092                vtkPointData *inPd, vtkPointData *outPd,
00093                vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd);
00095 
00097 
00100   int IntersectWithLine(float p1[3], float p2[3], float tol, float& t,
00101                         float x[3], float pcoords[3], int& subId);
00103   
00106   int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts);
00107 
00109 
00111   void Derivatives(int subId, float pcoords[3], float *values, 
00112                    int dim, float *derivs);
00114 
00116   static void InterpolationFunctions(float pcoords[3], float weights[1]);
00117 
00118 protected:
00119   vtkVertex();
00120   ~vtkVertex() {};
00121   
00122 private:
00123   vtkVertex(const vtkVertex&);  // Not implemented.
00124   void operator=(const vtkVertex&);  // Not implemented.
00125 };
00126 
00127 #endif
00128 
00129