16 #ifndef vtkContextDevice3D_h
17 #define vtkContextDevice3D_h
21 #include "vtkRenderingContext2DModule.h"
26 VTK_ABI_NAMESPACE_BEGIN
47 const float* verts,
int n,
const unsigned char* colors =
nullptr,
int nc = 0) = 0;
54 const float* verts,
int n,
const unsigned char* colors =
nullptr,
int nc = 0) = 0;
60 const float* verts,
int n,
const unsigned char* colors =
nullptr,
int nc = 0) = 0;
62 std::uintptr_t vtkNotUsed(cacheIdentifier));
67 virtual void DrawTriangleMesh(
const float* mesh,
int n,
const unsigned char* colors,
int nc) = 0;
69 std::uintptr_t vtkNotUsed(cacheIdentifier));
140 virtual void ReleaseCache(std::uintptr_t vtkNotUsed(cacheIdentifier)) {}
151 VTK_ABI_NAMESPACE_END
provides a brush that fills shapes drawn by vtkContext2D.
Abstract class for drawing 3D primitives.
virtual void DrawTriangleMesh(vtkDataArray *positions, vtkUnsignedCharArray *colors, std::uintptr_t vtkNotUsed(cacheIdentifier))
virtual void GetMatrix(vtkMatrix4x4 *m)=0
Set the model view matrix for the display.
virtual void PushMatrix()=0
Push the current matrix onto the stack.
virtual void EnableClipping(bool enable)=0
Enable or disable the clipping of the scene.
virtual void SetMatrix(vtkMatrix4x4 *m)=0
Set the model view matrix for the display.
virtual void ApplyBrush(vtkBrush *brush)=0
Apply the supplied brush which controls the outlines of shapes, as well as lines, points and related ...
virtual void SetClipping(const vtkRecti &rect)=0
Supply a float array of length 4 with x1, y1, width, height specifying clipping region for the device...
virtual void DrawPoly(const float *verts, int n, const unsigned char *colors=nullptr, int nc=0)=0
Draw a polyline between the specified points.
virtual void PopMatrix()=0
Pop the current matrix off of the stack.
virtual void DisableClippingPlane(int i)=0
Enable/Disable the specified clipping plane.
virtual void MultiplyMatrix(vtkMatrix4x4 *m)=0
Multiply the current model view matrix by the supplied one.
virtual void DrawTriangleMesh(const float *mesh, int n, const unsigned char *colors, int nc)=0
Draw triangles to generate the specified mesh.
virtual void ApplyPen(vtkPen *pen)=0
Apply the supplied pen which controls the outlines of shapes, as well as lines, points and related pr...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void DisableClipping()
Disable clipping of the display.
virtual void EnableClippingPlane(int i, double *planeEquation)=0
Enable/Disable the specified clipping plane.
virtual void DrawPoints(vtkDataArray *positions, vtkUnsignedCharArray *colors, std::uintptr_t vtkNotUsed(cacheIdentifier))
~vtkContextDevice3D() override
virtual void DrawLines(const float *verts, int n, const unsigned char *colors=nullptr, int nc=0)=0
Draw lines defined by specified pair of points.
virtual void DrawPoints(const float *verts, int n, const unsigned char *colors=nullptr, int nc=0)=0
Draw points at the vertex positions specified.
static vtkContextDevice3D * New()
virtual void ReleaseCache(std::uintptr_t vtkNotUsed(cacheIdentifier))
Concrete graphics implementations maintain a cache of heavy-weight buffer objects to achieve higher i...
abstract superclass for arrays of numeric data
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
abstract base class for most VTK objects
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
represent and manipulate 3D points
dynamic, self-adjusting array of unsigned char
abstract specification for Viewports