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 vtkDataArray;
00046 class vtkPointData;
00047 class vtkPoints;
00048 class vtkShaderDeviceAdapter;
00049 class vtkGLSLShaderDeviceAdapter2;
00050
00051 class VTK_RENDERING_EXPORT vtkStandardPolyDataPainter : public vtkPolyDataPainter
00052 {
00053 public:
00054 vtkTypeMacro(vtkStandardPolyDataPainter, vtkPolyDataPainter);
00055 virtual void PrintSelf(ostream &os, vtkIndent indent);
00056 static vtkStandardPolyDataPainter *New();
00057
00058 void AddMultiTextureCoordsArray(vtkDataArray * array);
00059
00060 protected:
00061 vtkStandardPolyDataPainter();
00062 ~vtkStandardPolyDataPainter();
00063
00065
00067 virtual void RenderInternal(vtkRenderer* renderer, vtkActor* actor,
00068 unsigned long typeflags, bool forceCompileOnly);
00070
00071 void DrawCells(int mode, vtkCellArray *connectivity,
00072 vtkIdType startCellId,
00073 vtkShaderDeviceAdapter *shaderDevice,
00074 vtkGLSLShaderDeviceAdapter2 *shaderDevice2,
00075 vtkRenderer *renderer,
00076 int buildnormals, int interpolation);
00077
00080 virtual void ProcessInformation(vtkInformation*);
00081
00082 void UpdateGenericAttributesCache(vtkShaderDeviceAdapter *shaderDevice,
00083 vtkGLSLShaderDeviceAdapter2 *shaderDevice2);
00084
00085 vtkIdType TotalCells;
00086 private:
00087 vtkStandardPolyDataPainter(const vtkStandardPolyDataPainter&);
00088 void operator=(const vtkStandardPolyDataPainter&);
00089
00090 class vtkInternal;
00091 vtkInternal* Internal;
00092
00093 };
00094
00095 #endif //__vtkStandardPolyDataPainter_h