00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00032 #ifndef __vtkDefaultPainter_h
00033 #define __vtkDefaultPainter_h
00034
00035 #include "vtkPainter.h"
00036
00037 class vtkClipPlanesPainter;
00038 class vtkCoincidentTopologyResolutionPainter;
00039 class vtkCompositePainter;
00040 class vtkDisplayListPainter;
00041 class vtkLightingPainter;
00042 class vtkRepresentationPainter;
00043 class vtkScalarsToColorsPainter;
00044
00045 class VTK_RENDERING_EXPORT vtkDefaultPainter : public vtkPainter
00046 {
00047 public:
00048 static vtkDefaultPainter *New();
00049 vtkTypeMacro(vtkDefaultPainter, vtkPainter);
00050 virtual void PrintSelf(ostream &os, vtkIndent indent);
00051
00053
00054 void SetScalarsToColorsPainter(vtkScalarsToColorsPainter*);
00055 vtkGetObjectMacro(ScalarsToColorsPainter, vtkScalarsToColorsPainter);
00057
00059
00060 void SetClipPlanesPainter(vtkClipPlanesPainter*);
00061 vtkGetObjectMacro(ClipPlanesPainter, vtkClipPlanesPainter);
00063
00065
00066 void SetDisplayListPainter(vtkDisplayListPainter*);
00067 vtkGetObjectMacro(DisplayListPainter, vtkDisplayListPainter);
00069
00071
00072 void SetCompositePainter(vtkCompositePainter*);
00073 vtkGetObjectMacro(CompositePainter, vtkCompositePainter);
00075
00077
00078 void SetCoincidentTopologyResolutionPainter(
00079 vtkCoincidentTopologyResolutionPainter*);
00080 vtkGetObjectMacro(CoincidentTopologyResolutionPainter,
00081 vtkCoincidentTopologyResolutionPainter);
00083
00085
00086 void SetLightingPainter(vtkLightingPainter*);
00087 vtkGetObjectMacro(LightingPainter, vtkLightingPainter);
00089
00091
00092 void SetRepresentationPainter(vtkRepresentationPainter*);
00093 vtkGetObjectMacro(RepresentationPainter, vtkRepresentationPainter);
00095
00097
00100 virtual void SetDelegatePainter(vtkPainter*);
00101 virtual vtkPainter* GetDelegatePainter() { return this->DefaultPainterDelegate; }
00103
00105
00110 virtual void Render(vtkRenderer* renderer, vtkActor* actor,
00111 unsigned long typeflags, bool forceCompileOnly);
00113
00118 virtual void ReleaseGraphicsResources(vtkWindow *);
00119
00123 void UpdateBounds(double bounds[6]);
00124
00125 protected:
00126 vtkDefaultPainter();
00127 ~vtkDefaultPainter();
00128
00130 virtual void BuildPainterChain();
00131
00133 virtual void ReportReferences(vtkGarbageCollector *collector);
00134
00135 vtkScalarsToColorsPainter* ScalarsToColorsPainter;
00136 vtkClipPlanesPainter* ClipPlanesPainter;
00137 vtkDisplayListPainter* DisplayListPainter;
00138 vtkCompositePainter* CompositePainter;
00139 vtkCoincidentTopologyResolutionPainter* CoincidentTopologyResolutionPainter;
00140 vtkLightingPainter* LightingPainter;
00141 vtkRepresentationPainter* RepresentationPainter;
00142 vtkTimeStamp ChainBuildTime;
00143
00144 vtkPainter* DefaultPainterDelegate;
00145 void SetDefaultPainterDelegate(vtkPainter*);
00146
00147 private:
00148 vtkDefaultPainter(const vtkDefaultPainter &);
00149 void operator=(const vtkDefaultPainter &);
00150 };
00151
00152 #endif //_vtkDefaultPainter_h
00153