VTK
vtkOpenGLPainterDeviceAdapter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkOpenGLPainterDeviceAdapter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*
16  * Copyright 2004 Sandia Corporation.
17  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
18  * license for use of this work by or on behalf of the
19  * U.S. Government. Redistribution and use in source and binary forms, with
20  * or without modification, are permitted provided that this Notice and any
21  * statement of authorship are reproduced on all copies.
22  */
23 
43 #ifndef vtkOpenGLPainterDeviceAdapter_h
44 #define vtkOpenGLPainterDeviceAdapter_h
45 
46 #include "vtkRenderingOpenGLModule.h" // For export macro
48 
49 // To switch off deprecated warning about
50 // vtkPainterDeviceAdapter::MakeVertexEmphasisWithStencilCheck
51 #if defined(_MSC_VER)
52 #pragma warning(push)
53 #pragma warning(disable:4996)
54 #endif
55 
56 class VTKRENDERINGOPENGL_EXPORT vtkOpenGLPainterDeviceAdapter :
58 {
59 public:
62  virtual void PrintSelf(ostream &os, vtkIndent indent);
63 
67  virtual void BeginPrimitive(int mode);
68 
72  virtual void EndPrimitive();
73 
78  virtual int IsAttributesSupported(int attribute);
79 
83  virtual void SendAttribute(int index, int components, int type,
84  const void *attribute, vtkIdType offset=0);
85 
89  virtual void SendMultiTextureCoords(int numcomp, int type, const void *attribute,
90  int idx, vtkIdType offset);
91 
96  virtual void SetAttributePointer(int index, int numcomponents, int type,
97  int stride, const void *pointer);
98 
100 
103  virtual void EnableAttributeArray(int index);
104  virtual void DisableAttributeArray(int index);
106 
110  virtual void DrawArrays(int mode, vtkIdType first, vtkIdType count);
111 
115  virtual void DrawElements(int mode, vtkIdType count, int type, void *indices);
116 
120  virtual int Compatible(vtkRenderer *renderer);
121 
127  virtual void MakeVertexEmphasis(bool mode);
128 
130 
133  virtual void Stencil(int on);
134  virtual void WriteStencil(vtkIdType value);
135  virtual void TestStencil(vtkIdType value);
137 
138 protected:
141 
142  double PointSize;
143  double RangeNear;
144  double RangeFar;
147 private:
149  void operator=(const vtkOpenGLPainterDeviceAdapter &) VTK_DELETE_FUNCTION;
150 };
151 
152 #if defined(_MSC_VER)
153 #pragma warning(pop)
154 #endif
155 
156 #endif
a simple class to control print indentation
Definition: vtkIndent.h:40
An adapter between a vtkPainter and a rendering device.
virtual void SendMultiTextureCoords(int numcomp, int type, const void *attribute, int idx, vtkIdType offset)
Calls glMultiTex.
virtual void BeginPrimitive(int mode)
Converts mode from VTK_* to GL_* and calls glBegin.
virtual void SendAttribute(int index, int components, int type, const void *attribute, vtkIdType offset=0)
Calls one of glVertex*, glNormal*, glColor*, or glTexCoord*.
virtual void DrawElements(int mode, vtkIdType count, int type, void *indices)
Calls glDrawElements.
virtual void Stencil(int on)
Control use of the stencil buffer (for vertex selection).
static vtkOpenGLPainterDeviceAdapter * New()
virtual void MakeVertexEmphasis(bool mode)
Turns emphasis of vertices on or off for vertex selection.
virtual int Compatible(vtkRenderer *renderer)
Returns true if renderer is a vtkOpenGLRenderer.
virtual void TestStencil(vtkIdType value)
virtual int IsAttributesSupported(int attribute)
Returns if the given attribute type is supported by the device.
virtual void EndPrimitive()
Calls glEnd.
virtual void DisableAttributeArray(int index)
virtual void SetAttributePointer(int index, int numcomponents, int type, int stride, const void *pointer)
Calls one of glVertexPointer, glNormalPointer, glColorPointer, or glTexCoordPointer.
virtual void WriteStencil(vtkIdType value)
virtual void EnableAttributeArray(int index)
Calls glEnableClientState or glDisableClientState.
virtual void DrawArrays(int mode, vtkIdType first, vtkIdType count)
Calls glDrawArrays.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
An adapter between a vtkPainter and a rendering device.
abstract specification for renderers
Definition: vtkRenderer.h:64
@ on
Definition: vtkX3D.h:439
@ mode
Definition: vtkX3D.h:247
@ value
Definition: vtkX3D.h:220
@ type
Definition: vtkX3D.h:516
@ index
Definition: vtkX3D.h:246
@ offset
Definition: vtkX3D.h:438
int vtkIdType
Definition: vtkType.h:287