13#ifndef vtkOpenGLContextDevice3D_h
14#define vtkOpenGLContextDevice3D_h
18#include "vtkRenderingContextOpenGL2Module.h"
23VTK_ABI_NAMESPACE_BEGIN
46 void DrawPoly(
const float* verts,
int n,
const unsigned char* colors,
int nc)
override;
52 void DrawLines(
const float* verts,
int n,
const unsigned char* colors,
int nc)
override;
57 void DrawPoints(
const float* verts,
int n,
const unsigned char* colors,
int nc)
override;
64 void DrawTriangleMesh(
const float* mesh,
int n,
const unsigned char* colors,
int nc)
override;
provides a brush that fills shapes drawn by vtkContext2D.
Abstract class for drawing 3D primitives.
abstract superclass for arrays of numeric data
dynamic, self-adjusting array of float
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
Allocate and hold a VTK object.
Class for drawing 2D primitives using OpenGL 1.1+.
OpenGL class drawing 3D primitives.
vtkOpenGLContextDevice3D()
void SetMatrices(vtkShaderProgram *prog)
void DrawLines(const float *verts, int n, const unsigned char *colors, int nc) override
Draw lines defined by specified pair of points.
std::vector< double > ClippingPlaneValues
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ReleaseCache(std::uintptr_t cacheIdentifier) override
Ask the buffer object builder to erase cache entry for given identifier.
virtual void DisableDepthBuffer()
End drawing, turn off the depth buffer.
void ApplyBrush(vtkBrush *brush) override
Apply the supplied brush which controls the outlines of shapes, as well as lines, points and related ...
void CoreDrawTriangles(std::vector< float > &tverts)
void DrawPoints(vtkDataArray *positions, vtkUnsignedCharArray *colors, std::uintptr_t cacheIdentifier) override
static vtkOpenGLContextDevice3D * New()
void SetClipping(const vtkRecti &rect) override
Supply a float array of length 4 with x1, y1, width, height specifying clipping region for the device...
void DisableClippingPlane(int i) override
Enable/Disable the specified clipping plane.
void DrawPoly(const float *verts, int n, const unsigned char *colors, int nc) override
Draw a polyline between the specified points.
virtual bool HaveWideLines()
~vtkOpenGLContextDevice3D() override
void DrawTriangleMesh(const float *mesh, int n, const unsigned char *colors, int nc) override
Draw triangles to generate the specified mesh.
void SetMatrix(vtkMatrix4x4 *m) override
Set the model view matrix for the display.
void Initialize(vtkRenderer *, vtkOpenGLContextDevice2D *)
This must be set during initialization.
void EnableClipping(bool enable) override
Enable or disable the clipping of the scene.
void DrawTriangleMesh(vtkDataArray *positions, vtkUnsignedCharArray *colors, std::uintptr_t cacheIdentifier) override
virtual void EnableDepthBuffer()
Begin drawing, turn on the depth buffer.
void PopMatrix() override
Pop the current matrix off of the stack.
void MultiplyMatrix(vtkMatrix4x4 *m) override
Multiply the current model view matrix by the supplied one.
void DrawPoints(const float *verts, int n, const unsigned char *colors, int nc) override
Draw points at the vertex positions specified.
std::vector< bool > ClippingPlaneStates
vtkTransform * ModelMatrix
vtkOpenGLRenderWindow * RenderWindow
The OpenGL render window being used by the device.
void BuildVBO(vtkOpenGLHelper *cbo, const float *v, int nv, const unsigned char *coolors, int nc, float *tcoords)
void GetMatrix(vtkMatrix4x4 *m) override
Set the model view matrix for the display.
void ApplyPen(vtkPen *pen) override
Apply the supplied pen which controls the outlines of shapes, as well as lines, points and related pr...
vtkRenderer * Renderer
We need to store a pointer to get the camera mats.
virtual void Begin(vtkViewport *viewport)
Begin drawing, pass in the viewport to set up the view.
void EnableClippingPlane(int i, double *planeEquation) override
Enable/Disable the specified clipping plane.
void PushMatrix() override
Push the current matrix onto the stack.
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
abstract specification for renderers
The ShaderProgram uses one or more Shader objects.
dynamic, self-adjusting array of unsigned char
abstract specification for Viewports