Go to the documentation of this file.
30 #ifndef vtkOpenGLContextDevice2D_h
31 #define vtkOpenGLContextDevice2D_h
33 #include "vtkRenderingContextOpenGL2Module.h"
67 virtual void DrawPoly(
float *f,
int n,
unsigned char *colors = 0,
76 virtual void DrawLines(
float *f,
int n,
unsigned char *colors = 0,
94 unsigned char* colors = 0,
int nc_comps = 0);
108 unsigned char *colors = 0,
int nc_comps = 0);
117 vtkGetMacro(MaximumMarkerCacheSize,
int)
226 virtual void SetColor(
unsigned char color[3]);
317 bool SetStringRendererToFreeType();
323 bool SetStringRendererToQt();
342 virtual void ReleaseGraphicsResources(
vtkWindow *window);
363 int GetNumberOfArcIterations(
float rX,
402 void ReadyLinesCBOProgram();
404 void ReadyLinesBOProgram();
406 void ReadyVCBOProgram();
408 void ReadyVBOProgram();
410 void ReadyVTBOProgram();
412 void ReadySCBOProgram();
414 void ReadySBOProgram();
419 unsigned char *coolors,
int nc,
421 void CoreDrawTriangles(std::vector<float> &tverts);
431 void DrawMarkersGL2PS(
int shape,
bool highlight,
float *
points,
int n,
432 unsigned char *colors,
int nc_comps);
433 void DrawCrossMarkersGL2PS(
bool highlight,
float *
points,
int n,
434 unsigned char *colors,
int nc_comps);
435 void DrawPlusMarkersGL2PS(
bool highlight,
float *
points,
int n,
436 unsigned char *colors,
int nc_comps);
437 void DrawSquareMarkersGL2PS(
bool highlight,
float *
points,
int n,
438 unsigned char *colors,
int nc_comps);
439 void DrawCircleMarkersGL2PS(
bool highlight,
float *
points,
int n,
440 unsigned char *colors,
int nc_comps);
441 void DrawDiamondMarkersGL2PS(
bool highlight,
float *
points,
int n,
442 unsigned char *colors,
int nc_comps);
458 void DrawCircleGL2PS(
float x,
float y,
float rX,
float rY);
459 void DrawWedgeGL2PS(
float x,
float y,
float outRx,
float outRy,
460 float inRx,
float inRy);
471 void AddEllipseToPath(
vtkPath *path,
float x,
float y,
float rx,
float ry,
477 void TransformPath(
vtkPath *path)
const;
482 void TransformPoint(
float &x,
float &y)
const;
487 void TransformSize(
float &dx,
float &dy)
const;
503 class vtkMarkerCacheObject
510 return this->Key ==
key;
517 std::list<vtkMarkerCacheObject> MarkerCache;
518 int MaximumMarkerCacheSize;
528 #endif //vtkOpenGLContextDevice2D_h
virtual void ComputeStringBounds(const vtkStdString &string, float bounds[4])=0
Compute the bounds of the supplied string.
virtual void DrawQuadStrip(float *, int)
Draw a quad using the specified number of points.
static vtkContextDevice2D * New()
virtual void PopMatrix()=0
Pop the current matrix off of the stack.
virtual void DrawPoints(float *points, int n, unsigned char *colors=0, int nc_comps=0)=0
Draw a series of points - fastest code path due to memory layout of the coordinates.
virtual void BufferIdModeBegin(vtkAbstractContextBufferId *bufferId)
Start BufferId creation Mode.
unsigned short LinePattern
virtual void End()
End drawing, clean up the view.
virtual void DrawQuad(float *, int)
Draw a quad using the specified number of points.
virtual void MultiplyMatrix(vtkMatrix3x3 *m)=0
Multiply the current model view matrix by the supplied one.
vtkOpenGLHelper * LinesCBO
virtual void SetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
concrete dataset representing a path defined by Bezier curves.
virtual void DrawString(float *point, const vtkStdString &string)=0
Draw some text to the screen.
virtual void SetColor4(unsigned char color[4])=0
Set the color for the device using unsigned char of length 4, RGBA.
base class for classes that render supplied text to an image.
virtual void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
virtual void SetClipping(int *x)=0
Supply a float array of length 4 with x1, y1, width, height specifying clipping region for the device...
virtual void PushMatrix()=0
Push the current matrix onto the stack.
represent and manipulate 3x3 transformation matrices
virtual void ComputeJustifiedStringBounds(const char *string, float bounds[4])=0
Compute the bounds of the supplied string while taking into account the justification of the currentl...
window superclass for vtkRenderWindow
virtual void DrawImage(float p[2], float scale, vtkImageData *image)=0
Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1....
2D array of ids, used for picking.
Interface class for querying and using OpenGL extensions.
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 SetLineType(int type)=0
Set the line type type (using anonymous enum in vtkPen).
virtual void SetPointSize(float size)=0
Set the point size for glyphs/sprites.
Class for drawing 2D primitives using OpenGL 1.1+.
virtual void DrawPolygon(float *, int)
Draw a polygon using the specified number of points.
The ShaderProgram uses one or more Shader objects.
topologically and geometrically regular array of data
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
String class that stores Unicode text.
VTKCOMMONCORE_EXPORT bool operator==(const vtkUnicodeString &lhs, const vtkUnicodeString &rhs)
virtual void BufferIdModeEnd()
Finalize BufferId creation Mode.
virtual void GetMatrix(vtkMatrix3x3 *m)=0
Set the model view matrix for the display.
abstract specification for Viewports
Abstract class for drawing 2D primitives.
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
virtual void DrawLines(float *f, int n, unsigned char *colors=0, int nc_comps=0)=0
Draw lines using the points - memory layout is as follows: l1p1,l1p2,l2p1,l2p2...
virtual void DrawPointSprites(vtkImageData *sprite, float *points, int n, unsigned char *colors=0, int nc_comps=0)=0
Draw a series of point sprites, images centred at the points supplied.
vtkOpenGLHelper * LinesBO
virtual void SetTexture(vtkImageData *image, int properties)=0
Set the texture for the device, it is used to fill the polygons.
abstract specification for renderers
virtual void DrawMathTextString(float *point, const vtkStdString &string)=0
Draw text using MathText markup for mathematical equations.
virtual void Begin(vtkViewport *)
Begin drawing, pass in the viewport to set up the view.
Wrapper around std::string to keep symbols short.
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 SetLineWidth(float width)=0
Set the line width.
virtual void DrawMarkers(int shape, bool highlight, float *points, int n, unsigned char *colors=0, int nc_comps=0)
Draw a series of markers centered at the points supplied.
virtual void EnableClipping(bool enable)=0
Enable or disable the clipping of the scene.
virtual void DrawPoly(float *points, int n, unsigned char *colors=0, int nc_comps=0)=0
Draw a poly line using the points - fastest code path due to memory layout of the coordinates.