00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkPainterPolyDataMapper_h
00028 #define __vtkPainterPolyDataMapper_h
00029
00030 #include "vtkPolyDataMapper.h"
00031
00032 class vtkPainterPolyDataMapperObserver;
00033 class vtkPainter;
00034
00035 class VTK_RENDERING_EXPORT vtkPainterPolyDataMapper : public vtkPolyDataMapper
00036 {
00037 public:
00038 static vtkPainterPolyDataMapper* New();
00039 vtkTypeMacro(vtkPainterPolyDataMapper, vtkPolyDataMapper);
00040 void PrintSelf(ostream& os, vtkIndent indent);
00041
00043 virtual void RenderPiece(vtkRenderer *ren, vtkActor *act);
00044
00046
00050 vtkGetObjectMacro(Painter, vtkPainter);
00051 void SetPainter(vtkPainter*);
00053
00057 void ReleaseGraphicsResources(vtkWindow *);
00058
00060
00068 virtual void MapDataArrayToVertexAttribute(
00069 const char* vertexAttributeName,
00070 const char* dataArrayName, int fieldAssociation, int componentno=-1);
00072
00073 virtual void MapDataArrayToMultiTextureAttribute(
00074 int unit,
00075 const char* dataArrayName, int fieldAssociation, int componentno=-1);
00076
00078 virtual void RemoveVertexAttributeMapping(const char* vertexAttributeName);
00079
00081 virtual void RemoveAllVertexAttributeMappings();
00082
00084
00085 vtkGetObjectMacro(SelectionPainter, vtkPainter);
00086 void SetSelectionPainter(vtkPainter*);
00088
00090
00094 virtual bool GetSupportsSelection()
00095 { return (this->SelectionPainter != 0); }
00097
00098 protected:
00099 vtkPainterPolyDataMapper();
00100 ~vtkPainterPolyDataMapper();
00101
00106 virtual void ComputeBounds();
00107
00110 virtual void UpdatePainterInformation();
00111
00113 virtual void ReportReferences(vtkGarbageCollector *collector);
00114
00115 vtkInformation* PainterInformation;
00116 vtkTimeStamp PainterUpdateTime;
00117 vtkPainter* Painter;
00118
00119
00120 vtkPainter* SelectionPainter;
00121 vtkPainterPolyDataMapperObserver* Observer;
00122 private:
00123 vtkPainterPolyDataMapper(const vtkPainterPolyDataMapper&);
00124 void operator=(const vtkPainterPolyDataMapper&);
00125 };
00126
00127 #endif
00128