00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00042 #ifndef __vtkOpenGLPainterDeviceAdapter_h
00043 #define __vtkOpenGLPainterDeviceAdapter_h
00044 
00045 #include "vtkPainterDeviceAdapter.h"
00046 
00047 
00048 
00049 #if defined(_MSC_VER) && _MSC_VER >= 1300
00050 #pragma warning(push)
00051 #pragma warning(disable:4996)
00052 #endif
00053 
00054 class VTK_RENDERING_EXPORT vtkOpenGLPainterDeviceAdapter : 
00055   public vtkPainterDeviceAdapter
00056 {
00057 public:
00058   vtkTypeMacro(vtkOpenGLPainterDeviceAdapter, vtkPainterDeviceAdapter);
00059   static vtkOpenGLPainterDeviceAdapter *New();
00060   virtual void PrintSelf(ostream &os, vtkIndent indent);
00061 
00063   virtual void BeginPrimitive(int mode);
00064 
00066   virtual void EndPrimitive();
00067 
00070   virtual int IsAttributesSupported(int attribute);
00071 
00073 
00074   virtual void SendAttribute(int index, int components, int type,
00075                              const void *attribute, vtkIdType offset=0);
00077 
00079 
00080   virtual void SendMultiTextureCoords(int numcomp, int type, const void *attribute, 
00081                                       int idx, vtkIdType offset);
00083 
00085 
00087   virtual void SetAttributePointer(int index, int numcomponents, int type,
00088                                    int stride, const void *pointer);
00090 
00092 
00093   virtual void EnableAttributeArray(int index);
00094   virtual void DisableAttributeArray(int index);
00096 
00098   virtual void DrawArrays(int mode, vtkIdType first, vtkIdType count);
00099 
00102   virtual void DrawElements(int mode, vtkIdType count, int type, void *indices);
00103 
00105   virtual int Compatible(vtkRenderer *renderer);
00106 
00108   virtual void MakeLighting(int mode);
00109 
00111   virtual int QueryLighting();
00112 
00114   virtual void MakeMultisampling(int mode);
00115 
00117   virtual int QueryMultisampling();
00118 
00120   virtual void MakeBlending(int mode);
00121  
00123   virtual int QueryBlending();
00124 
00128   virtual void MakeVertexEmphasis(bool mode);
00129   
00131   VTK_LEGACY(virtual void MakeVertexEmphasisWithStencilCheck(int mode));
00132   
00134 
00135   virtual void Stencil(int on);
00136   virtual void WriteStencil(vtkIdType value);
00137   virtual void TestStencil(vtkIdType value);
00139 
00140 protected:
00141   vtkOpenGLPainterDeviceAdapter();
00142   ~vtkOpenGLPainterDeviceAdapter();
00143 
00144   double PointSize;
00145   double RangeNear;
00146   double RangeFar;
00147   int MaxStencil;
00148   bool Initialized;
00149 private:
00150   vtkOpenGLPainterDeviceAdapter(const vtkOpenGLPainterDeviceAdapter &);  
00151   void operator=(const vtkOpenGLPainterDeviceAdapter &);  
00152 };
00153 
00154 #if defined(_MSC_VER) && _MSC_VER >= 1300
00155 #pragma warning(pop)
00156 #endif
00157  
00158 #endif //_vtkOpenGLPainterDeviceAdapter_h