VTK
vtkOpenGLContextDevice3D.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkOpenGLContextDevice3D.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
25#ifndef vtkOpenGLContextDevice3D_h
26#define vtkOpenGLContextDevice3D_h
27
28#include "vtkRenderingContextOpenGLModule.h" // For export macro
29#include "vtkContextDevice3D.h"
30#include "vtkNew.h" // For ivars.
31
32class vtkBrush;
33class vtkPen;
34
35class VTKRENDERINGCONTEXTOPENGL_EXPORT vtkOpenGLContextDevice3D : public vtkContextDevice3D
36{
37public:
39 void PrintSelf(ostream &os, vtkIndent indent);
40
42
47 void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc);
48
53 void DrawLines(const float *verts, int n, const unsigned char *colors, int nc);
54
58 void DrawPoints(const float *verts, int n,
59 const unsigned char *colors, int nc);
60
64 void DrawTriangleMesh(const float *mesh, int n,
65 const unsigned char *colors, int nc);
66
72 void ApplyPen(vtkPen *pen);
73
79 void ApplyBrush(vtkBrush *brush);
80
85
90
95
99 void PushMatrix();
100
104 void PopMatrix();
105
110 void SetClipping(const vtkRecti &rect);
111
115 void EnableClipping(bool enable);
116
118
125 void EnableClippingPlane(int i, double *planeEquation);
128
129protected:
132
136 virtual void EnableDepthBuffer();
137
141 virtual void DisableDepthBuffer();
142
143private:
144 vtkOpenGLContextDevice3D(const vtkOpenGLContextDevice3D &) VTK_DELETE_FUNCTION;
145 void operator=(const vtkOpenGLContextDevice3D &) VTK_DELETE_FUNCTION;
146
148
151 class Private;
152 Private *Storage;
154
155 vtkNew<vtkBrush> Brush;
156 vtkNew<vtkPen> Pen;
157};
158
159#endif
provides a brush that fills shapes drawn by vtkContext2D.
Definition: vtkBrush.h:38
Abstract class for drawing 3D primitives.
a simple class to control print indentation
Definition: vtkIndent.h:40
represent and manipulate 4x4 transformation matrices
Definition: vtkMatrix4x4.h:42
OpenGL class drawing 3D primitives.
virtual void DisableDepthBuffer()
End drawing, turn off the depth buffer.
void GetMatrix(vtkMatrix4x4 *m)
Set the model view matrix for the display.
static vtkOpenGLContextDevice3D * New()
void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc)
Draw a polyline between the specified points.
void ApplyPen(vtkPen *pen)
Apply the supplied pen which controls the outlines of shapes, as well as lines, points and related pr...
virtual void EnableDepthBuffer()
Begin drawing, turn on the depth buffer.
void ApplyBrush(vtkBrush *brush)
Apply the supplied brush which controls the outlines of shapes, as well as lines, points and related ...
void EnableClipping(bool enable)
Enable or disable the clipping of the scene.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void DisableClippingPlane(int i)
void SetMatrix(vtkMatrix4x4 *m)
Set the model view matrix for the display.
void DrawPoints(const float *verts, int n, const unsigned char *colors, int nc)
Draw points at the vertex positions specified.
void SetClipping(const vtkRecti &rect)
Supply a float array of length 4 with x1, y1, width, height specifying clipping region for the device...
void EnableClippingPlane(int i, double *planeEquation)
Enable/Disable the specified clipping plane.
void DrawTriangleMesh(const float *mesh, int n, const unsigned char *colors, int nc)
Draw triangles to generate the specified mesh.
void PushMatrix()
Push the current matrix onto the stack.
void MultiplyMatrix(vtkMatrix4x4 *m)
Multiply the current model view matrix by the supplied one.
void PopMatrix()
Pop the current matrix off of the stack.
void DrawLines(const float *verts, int n, const unsigned char *colors, int nc)
Draw lines defined by specified pair of points.
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition: vtkPen.h:40