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
56class VTKRENDERINGOPENGL_EXPORT vtkOpenGLPainterDeviceAdapter :
58{
59public:
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);
137
138protected:
141
142 double PointSize;
143 double RangeNear;
144 double RangeFar;
147private:
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.
static vtkOpenGLPainterDeviceAdapter * New()
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).
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