26#ifndef vtkContextDevice2D_h
27#define vtkContextDevice2D_h
32#include "vtkRenderingContext2DModule.h"
67 float* points,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0) = 0;
75 virtual void DrawLines(
float* f,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0) = 0;
82 float* points,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0) = 0;
95 unsigned char* colors =
nullptr,
int nc_comps = 0) = 0;
112 virtual void DrawMarkers(
int shape,
bool highlight,
float* points,
int n,
113 unsigned char* colors =
nullptr,
int nc_comps = 0);
129 virtual void DrawPolygon(
float* p,
int n) { this->DrawColoredPolygon(p, n); }
131 float* points,
int numPoints,
unsigned char* colors =
nullptr,
int nc_comps = 0);
145 virtual void DrawEllipseWedge(
float x,
float y,
float outRx,
float outRy,
float inRx,
float inRy,
146 float startAngle,
float stopAngle) = 0;
155 float x,
float y,
float rX,
float rY,
float startAngle,
float stopAngle) = 0;
185 "Use
void ComputeStringBounds(const
vtkStdString&
string,
float bounds[4])")
193 virtual
void ComputeJustifiedStringBounds(const
char*
string,
float bounds[4]) = 0;
199 virtual
void DrawMathTextString(
float* point, const
vtkStdString&
string) = 0;
204 virtual
bool MathTextIsSupported();
210 virtual
void DrawImage(
float p[2],
float scale,
vtkImageData* image) = 0;
238 virtual
void DrawPolyData(
289 virtual
void SetColor4(
unsigned char color[4]) = 0;
321 virtual int GetWidth() {
return this->Geometry[0]; }
2D array of ids, used for picking.
provides a brush that fills shapes drawn by vtkContext2D.
Abstract class for drawing 2D primitives.
virtual void SetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
virtual void ComputeStringBounds(const vtkStdString &string, float bounds[4])=0
Compute the bounds of the supplied string.
virtual void SetPointSize(float size)=0
Set the point size for glyphs/sprites.
virtual void DrawPoly(float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a poly line using the points - fastest code path due to memory layout of the coordinates.
virtual void SetLineType(int type)=0
Set the line type type (using anonymous enum in vtkPen).
virtual void SetTexture(vtkImageData *image, int properties)=0
Set the texture for the device, it is used to fill the polygons.
virtual void DrawString(float *point, const vtkStdString &string)=0
Draw some text to the screen.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId)
Start BufferId creation Mode.
virtual void DrawMarkers(int shape, bool highlight, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)
Draw a series of markers centered at the points supplied.
virtual void End()
End drawing, clean up the view.
virtual void DrawPoints(float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a series of points - fastest code path due to memory layout of the coordinates.
virtual void Begin(vtkViewport *)
Begin drawing, pass in the viewport to set up the view.
vtkVector2i ViewportSize
Store the size of the total viewport.
virtual bool GetBufferIdMode() const
Tell if the device context is in BufferId creation mode.
vtkTextProperty * TextProp
virtual void PopMatrix()=0
Pop the current matrix off of the stack.
virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw a series of point sprites, images centred at the points supplied.
virtual void SetViewportSize(const vtkVector2i &size)
virtual void DrawColoredPolygon(float *points, int numPoints, unsigned char *colors=nullptr, int nc_comps=0)
Draw a polygon using the specified number of points.
vtkAbstractContextBufferId * BufferId
static vtkContextDevice2D * New()
vtkRecti ViewportRect
Store our origin and size in the total viewport.
virtual void DrawEllipseWedge(float x, float y, float outRx, float outRy, float inRx, float inRy, float startAngle, float stopAngle)=0
Draw an elliptic wedge with center at x, y, outer radii outRx, outRy, inner radii inRx,...
virtual void GetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
~vtkContextDevice2D() override
virtual void DrawQuadStrip(float *, int)
Draw a quad using the specified number of points.
virtual void DrawPolygon(float *p, int n)
Draw a polygon using the specified number of points.
virtual void DrawQuad(float *, int)
Draw a quad using the specified number of points.
virtual void DisableClipping()
Disable clipping of the display.
virtual void SetViewportRect(const vtkRecti &rect)
virtual int GetWidth()
Get the width of the device in pixels.
virtual void BufferIdModeEnd()
Finalize BufferId creation Mode.
virtual void DrawLines(float *f, int n, unsigned char *colors=nullptr, int nc_comps=0)=0
Draw lines using the points - memory layout is as follows: l1p1,l1p2,l2p1,l2p2... The lines will be c...
virtual int GetHeight()
Get the width of the device in pixels.
virtual void EnableClipping(bool enable)=0
Enable or disable the clipping of the scene.
virtual void SetLineWidth(float width)=0
Set the line width.
virtual void DrawEllipticArc(float x, float y, float rX, float rY, float startAngle, float stopAngle)=0
Draw an elliptic arc with center at x,y with radii rX and rY between angles startAngle and stopAngle ...
virtual void SetClipping(int *x)=0
Supply an int array of length 4 with x1, y1, width, height specifying clipping region for the device ...
virtual void MultiplyMatrix(vtkMatrix3x3 *m)=0
Multiply the current model view matrix by the supplied one.
virtual void PushMatrix()=0
Push the current matrix onto the stack.
topologically and geometrically regular array of data
a simple class to control print indentation
represent and manipulate 3x3 transformation matrices
abstract base class for most VTK objects
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
represent and manipulate 2D points
concrete dataset represents vertices, lines, polygons, and triangle strips
Wrapper around std::string to keep symbols short.
represent text properties.
String class that stores Unicode text.
dynamic, self-adjusting array of unsigned char
Some derived classes for the different vectors commonly used.
abstract specification for Viewports
window superclass for vtkRenderWindow
#define VTK_DEPRECATED_IN_9_1_0(reason)