dox/Common/vtkNonLinearCell.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00039
#ifndef __vtkNonLinearCell_h
00040
#define __vtkNonLinearCell_h
00041
00042
#include "vtkCell.h"
00043
00044
#include "vtkPointLocator.h"
00045
#include "vtkPoints.h"
00046
00047
class vtkPolyData;
00048
class vtkDataSet;
00049
class vtkUnstructuredGrid;
00050
00051 class VTK_COMMON_EXPORT vtkNonLinearCell :
public vtkCell
00052 {
00053
public:
00054 vtkTypeRevisionMacro(vtkNonLinearCell,
vtkCell);
00055
void PrintSelf(ostream& os,
vtkIndent indent);
00056
00058
00060 vtkSetClampMacro(Error,
float,0.001f,1.0f);
00061 vtkGetMacro(Error,
float);
00063
00067 virtual int IsLinear() {
return 0;}
00068
00070
00080
virtual void Tesselate(
vtkIdType cellId,
00081
vtkDataSet *input,
vtkPolyData *output,
00082
vtkPointLocator *locator=NULL);
00084
00086
00096
virtual void Tesselate(
vtkIdType cellId,
00097
vtkDataSet *input,
vtkUnstructuredGrid *output,
00098
vtkPointLocator *locator=NULL);
00100
00101
00102
protected:
00103 vtkNonLinearCell();
00104 ~vtkNonLinearCell() {}
00105
00106 float Error;
00107
00108
00109 vtkIdType InsertPoint(
vtkPointLocator *locator,
vtkPoints *pts,
float *x)
00110 {
00111
if ( locator != NULL )
00112 {
00113
vtkIdType p;
00114 locator->
InsertUniquePoint(x,p);
00115
return p;
00116 }
00117
else
00118 {
00119
return pts->
InsertNextPoint(x);
00120 }
00121 }
00122
00123
private:
00124 vtkNonLinearCell(
const vtkNonLinearCell&);
00125
void operator=(
const vtkNonLinearCell&);
00126 };
00127
00128
#endif
00129
00130