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