VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkEmptyCell.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00025 #ifndef __vtkEmptyCell_h 00026 #define __vtkEmptyCell_h 00027 00028 #include "vtkCommonDataModelModule.h" // For export macro 00029 #include "vtkCell.h" 00030 00031 class VTKCOMMONDATAMODEL_EXPORT vtkEmptyCell : public vtkCell 00032 { 00033 public: 00034 static vtkEmptyCell *New(); 00035 vtkTypeMacro(vtkEmptyCell,vtkCell); 00036 void PrintSelf(ostream& os, vtkIndent indent); 00037 00039 00040 int GetCellType() {return VTK_EMPTY_CELL;}; 00041 int GetCellDimension() {return 0;}; 00042 int GetNumberOfEdges() {return 0;}; 00043 int GetNumberOfFaces() {return 0;}; 00044 vtkCell *GetEdge(int) {return 0;}; 00045 vtkCell *GetFace(int) {return 0;}; 00046 int CellBoundary(int subId, double pcoords[3], vtkIdList *pts); 00047 void Contour(double value, vtkDataArray *cellScalars, 00048 vtkIncrementalPointLocator *locator, vtkCellArray *verts1, 00049 vtkCellArray *lines, vtkCellArray *verts2, 00050 vtkPointData *inPd, vtkPointData *outPd, 00051 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd); 00052 void Clip(double value, vtkDataArray *cellScalars, 00053 vtkIncrementalPointLocator *locator, vtkCellArray *pts, 00054 vtkPointData *inPd, vtkPointData *outPd, 00055 vtkCellData *inCd, vtkIdType cellId, vtkCellData *outCd, 00056 int insideOut); 00058 00059 int EvaluatePosition(double x[3], double* closestPoint, 00060 int& subId, double pcoords[3], 00061 double& dist2, double *weights); 00062 void EvaluateLocation(int& subId, double pcoords[3], double x[3], 00063 double *weights); 00064 int IntersectWithLine(double p1[3], double p2[3], double tol, double& t, 00065 double x[3], double pcoords[3], int& subId); 00066 int Triangulate(int index, vtkIdList *ptIds, vtkPoints *pts); 00067 void Derivatives(int subId, double pcoords[3], double *values, 00068 int dim, double *derivs); 00069 00071 00073 virtual void InterpolateFunctions(double pcoords[3], double *weights); 00074 virtual void InterpolateDerivs(double pcoords[3], double *derivs); 00076 00077 protected: 00078 vtkEmptyCell() {}; 00079 ~vtkEmptyCell() {}; 00080 00081 private: 00082 vtkEmptyCell(const vtkEmptyCell&); // Not implemented. 00083 void operator=(const vtkEmptyCell&); // Not implemented. 00084 }; 00085 00086 #endif 00087 00088