00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00039 #ifndef __vtkStandardPolyDataPainter_h
00040 #define __vtkStandardPolyDataPainter_h
00041
00042 #include "vtkPolyDataPainter.h"
00043
00044 class vtkCellArray;
00045 class vtkPointData;
00046 class vtkPoints;
00047 class vtkShaderDeviceAdapter;
00048 class VTK_RENDERING_EXPORT vtkStandardPolyDataPainter : public vtkPolyDataPainter
00049 {
00050 public:
00051 vtkTypeRevisionMacro(vtkStandardPolyDataPainter, vtkPolyDataPainter);
00052 virtual void PrintSelf(ostream &os, vtkIndent indent);
00053 static vtkStandardPolyDataPainter *New();
00054
00055
00056 protected:
00057 vtkStandardPolyDataPainter();
00058 ~vtkStandardPolyDataPainter();
00059
00061
00063 virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
00064 unsigned long typeflags);
00066
00067 void DrawCells(int mode, vtkCellArray *connectivity,
00068 vtkIdType startCellId,
00069 vtkShaderDeviceAdapter* shaderDevice,
00070 vtkRenderer *renderer,
00071 int buildnormals, int interpolation);
00072
00075 virtual void ProcessInformation(vtkInformation*);
00076
00077 void UpdateGenericAttributesCache(vtkShaderDeviceAdapter*);
00078 vtkIdType TotalCells;
00079 private:
00080 vtkStandardPolyDataPainter(const vtkStandardPolyDataPainter&);
00081 void operator=(const vtkStandardPolyDataPainter&);
00082
00083 class vtkInternal;
00084 vtkInternal* Internal;
00085
00086 };
00087
00088 #endif //__vtkStandardPolyDataPainter_h