VTK
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
vtkOpenGLContextDevice2D Class Reference

Class for drawing 2D primitives using OpenGL 1.1+. More...

#include <vtkOpenGLContextDevice2D.h>

Inheritance diagram for vtkOpenGLContextDevice2D:
[legend]
Collaboration diagram for vtkOpenGLContextDevice2D:
[legend]

Classes

class  CellArrayHelper
 
class  Private
 

Public Types

typedef vtkContextDevice2D Superclass
 
- Public Types inherited from vtkContextDevice2D
enum  TextureProperty { Nearest = 0x01, Linear = 0x02, Stretch = 0x04, Repeat = 0x08 }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 Return 1 if this class is the same type of (or a subclass of) the named class. More...
 
vtkOpenGLContextDevice2DNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) override
 Methods invoked by print to print information about the object including superclasses. More...
 
void DrawPoly (float *f, int n, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw a poly line using the points - fastest code path due to memory layout of the coordinates. More...
 
void DrawLines (float *f, int n, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw lines using the points - memory layout is as follows: l1p1,l1p2,l2p1,l2p2... More...
 
void DrawPoints (float *points, int n, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw a series of points - fastest code path due to memory layout of the coordinates. More...
 
void DrawPointSprites (vtkImageData *sprite, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw a series of point sprites, images centred at the points supplied. More...
 
void DrawMarkers (int shape, bool highlight, float *points, int n, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw a series of markers centered at the points supplied. More...
 
virtual void SetMaximumMarkerCacheSize (int)
 Adjust the size of the MarkerCache. More...
 
virtual int GetMaximumMarkerCacheSize ()
 
void DrawQuad (float *points, int n) override
 Draws a rectangle. More...
 
void DrawQuadStrip (float *points, int n) override
 Draws a rectangle. More...
 
void DrawPolygon (float *, int) override
 Draw a polygon using the specified number of points. More...
 
void DrawColoredPolygon (float *points, int numPoints, unsigned char *colors=nullptr, int nc_comps=0) override
 Draw a polygon using the specified number of points. More...
 
void DrawEllipseWedge (float x, float y, float outRx, float outRy, float inRx, float inRy, float startAngle, float stopAngle) override
 Draw an elliptic wedge with center at x, y, outer radii outRx, outRy, inner radii inRx, inRy between angles startAngle and stopAngle (expressed in degrees). More...
 
void DrawEllipticArc (float x, float y, float rX, float rY, float startAngle, float stopAngle) override
 Draw an elliptic arc with center at x,y with radii rX and rY between angles startAngle and stopAngle (expressed in degrees). More...
 
void DrawString (float *point, const vtkStdString &string) override
 Draw some text to the screen! More...
 
void ComputeStringBounds (const vtkStdString &string, float bounds[4]) override
 Compute the bounds of the supplied string. More...
 
void DrawString (float *point, const vtkUnicodeString &string) override
 Draw some text to the screen. More...
 
void ComputeStringBounds (const vtkUnicodeString &string, float bounds[4]) override
 Compute the bounds of the supplied string. More...
 
void ComputeJustifiedStringBounds (const char *string, float bounds[4]) override
 Compute the bounds of the supplied string while taking into account the justification of the currently applied text property. More...
 
void DrawMathTextString (float point[2], const vtkStdString &string) override
 Draw text using MathText markup for mathematical equations. More...
 
void DrawImage (float p[2], float scale, vtkImageData *image) override
 Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1.0 would match the image). More...
 
void DrawImage (const vtkRectf &pos, vtkImageData *image) override
 Draw the supplied image at the given position. More...
 
void DrawPolyData (float p[2], float scale, vtkPolyData *polyData, vtkUnsignedCharArray *colors, int scalarMode) override
 Draw the supplied PolyData at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1.0 would match the actual dataset). More...
 
void SetColor4 (unsigned char color[4]) override
 Set the color for the device using unsigned char of length 4, RGBA. More...
 
virtual void SetColor (unsigned char color[3])
 Set the color for the device using unsigned char of length 3, RGB. More...
 
void SetTexture (vtkImageData *image, int properties=0) override
 Set the texture for the device, it is used to fill the polygons. More...
 
void SetPointSize (float size) override
 Set the point size for glyphs/sprites. More...
 
void SetLineWidth (float width) override
 Set the line width for glyphs/sprites. More...
 
void SetLineType (int type) override
 Set the line type type (using anonymous enum in vtkPen). More...
 
void MultiplyMatrix (vtkMatrix3x3 *m) override
 Multiply the current model view matrix by the supplied one. More...
 
void SetMatrix (vtkMatrix3x3 *m) override
 Set the model view matrix for the display. More...
 
void GetMatrix (vtkMatrix3x3 *m) override
 Set the model view matrix for the display. More...
 
void PushMatrix () override
 Push the current matrix onto the stack. More...
 
void PopMatrix () override
 Pop the current matrix off of the stack. More...
 
void SetClipping (int *x) override
 Supply an int array of length 4 with x1, y1, width, height specifying clipping region for the device in pixels. More...
 
void EnableClipping (bool enable) override
 Disable clipping of the display. More...
 
void Begin (vtkViewport *viewport) override
 Begin drawing, pass in the viewport to set up the view. More...
 
void End () override
 End drawing, clean up the view. More...
 
void BufferIdModeBegin (vtkAbstractContextBufferId *bufferId) override
 Start BufferId creation Mode. More...
 
void BufferIdModeEnd () override
 Finalize BufferId creation Mode. More...
 
bool SetStringRendererToFreeType ()
 Force the use of the freetype based render strategy. More...
 
bool SetStringRendererToQt ()
 Force the use of the Qt based string render strategy. More...
 
bool HasGLSL ()
 Check whether the current context device has support for GLSL. More...
 
virtual vtkOpenGLRenderWindowGetRenderWindow ()
 Get the active RenderWindow of the device. More...
 
virtual void ReleaseGraphicsResources (vtkWindow *window)
 Release any graphics resources that are being consumed by this device. More...
 
vtkMatrix4x4GetProjectionMatrix ()
 Get the projection matrix this is needed. More...
 
vtkMatrix4x4GetModelMatrix ()
 
- Public Member Functions inherited from vtkContextDevice2D
vtkContextDevice2DNewInstance () const
 
virtual void DrawMathTextString (float *point, const vtkStdString &string)=0
 Draw text using MathText markup for mathematical equations. More...
 
virtual bool MathTextIsSupported ()
 Return true if MathText rendering available on this device. More...
 
virtual void ApplyPen (vtkPen *pen)
 Apply the supplied pen which controls the outlines of shapes, as well as lines, points and related primitives. More...
 
virtual vtkPenGetPen ()
 Get the pen which controls the outlines of shapes, as well as lines, points and related primitives. More...
 
virtual void ApplyBrush (vtkBrush *brush)
 Apply the supplied brush which controls the outlines of shapes, as well as lines, points and related primitives. More...
 
virtual vtkBrushGetBrush ()
 Get the pen which controls the outlines of shapes as well as lines, points and related primitives. More...
 
virtual void ApplyTextProp (vtkTextProperty *prop)
 Apply the supplied text property which controls how text is rendered. More...
 
virtual vtkTextPropertyGetTextProp ()
 Get the text properties object for the vtkContext2D. More...
 
virtual int GetWidth ()
 Get the width of the device in pixels. More...
 
virtual int GetHeight ()
 Get the width of the device in pixels. More...
 
virtual void DisableClipping ()
 Disable clipping of the display. More...
 
virtual bool GetBufferIdMode () const
 Tell if the device context is in BufferId creation mode. More...
 
virtual void SetViewportSize (const vtkVector2i &size)
 
virtual vtkVector2i GetViewportSize ()
 
virtual void SetViewportRect (const vtkRecti &rect)
 
virtual vtkRecti GetViewportRect ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 Turn debugging output on. More...
 
virtual void DebugOff ()
 Turn debugging output off. More...
 
bool GetDebug ()
 Get the value of the debug flag. More...
 
void SetDebug (bool debugFlag)
 Set the value of the debug flag. More...
 
virtual void Modified ()
 Update the modification time for this object. More...
 
virtual vtkMTimeType GetMTime ()
 Return this object's modified time. More...
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 Allow people to add/remove/invoke observers (callbacks) to any VTK object. More...
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
vtkTypeBool HasObserver (unsigned long event, vtkCommand *)
 
vtkTypeBool HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
vtkTypeBool HasObserver (unsigned long event)
 
vtkTypeBool HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 Overloads to AddObserver that allow developers to add class member functions as callbacks for events. More...
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 Allow user to set the AbortFlagOn() with the return value of the callback method. More...
 
int InvokeEvent (unsigned long event, void *callData)
 This method invokes an event and return whether the event was aborted or not. More...
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 Return the class name as a string. More...
 
virtual void Delete ()
 Delete a VTK object. More...
 
virtual void FastDelete ()
 Delete a reference to this object. More...
 
void InitializeObjectBase ()
 
void Print (ostream &os)
 Print an object to an ostream. More...
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
virtual void Register (vtkObjectBase *o)
 Increase the reference count (mark as used by another object). More...
 
virtual void UnRegister (vtkObjectBase *o)
 Decrease the reference count (release by another object). More...
 
int GetReferenceCount ()
 Return the current reference count of this object. More...
 
void SetReferenceCount (int)
 Sets the reference count. More...
 
void PrintRevisions (ostream &)
 Legacy. More...
 

Static Public Member Functions

static vtkTypeBool IsTypeOf (const char *type)
 
static vtkOpenGLContextDevice2DSafeDownCast (vtkObjectBase *o)
 
static vtkOpenGLContextDevice2DNew ()
 Creates a 2D Painter object. More...
 
- Static Public Member Functions inherited from vtkContextDevice2D
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkContextDevice2DSafeDownCast (vtkObjectBase *o)
 
static vtkContextDevice2DNew ()
 
- Static Public Member Functions inherited from vtkObject
static vtkObjectNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 
static void BreakOnError ()
 This method is called when vtkErrorMacro executes. More...
 
static void SetGlobalWarningDisplay (int val)
 This is a global flag that controls whether any debug, warning or error messages are displayed. More...
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static vtkTypeBool IsTypeOf (const char *name)
 Return 1 if this class type is the same type of (or a subclass of) the named class. More...
 
static vtkObjectBaseNew ()
 Create an object with Debug turned off, modified time initialized to zero, and reference counting on. More...
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
 vtkOpenGLContextDevice2D ()
 
 ~vtkOpenGLContextDevice2D () override
 
int GetNumberOfArcIterations (float rX, float rY, float startAngle, float stopAngle)
 Factorized code called by DrawEllipseWedge() and DrawEllipticArc() to figure out the number of iterations required to make an arc smooth. More...
 
void ReadyLinesCBOProgram ()
 
void ReadyLinesBOProgram ()
 
void ReadyVCBOProgram ()
 
void ReadyVBOProgram ()
 
void ReadyVTBOProgram ()
 
void ReadySCBOProgram ()
 
void ReadySBOProgram ()
 
void SetMatrices (vtkShaderProgram *prog)
 
void BuildVBO (vtkOpenGLHelper *cbo, float *v, int nv, unsigned char *coolors, int nc, float *tcoords)
 
void CoreDrawTriangles (std::vector< float > &tverts, unsigned char *colors=nullptr, int numComp=0)
 
void DrawMarkersGL2PS (int shape, bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 Draw the markers as paths/polydata instead of sprites for detailed GL2PS capture. More...
 
void DrawCrossMarkersGL2PS (bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 
void DrawPlusMarkersGL2PS (bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 
void DrawSquareMarkersGL2PS (bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 
void DrawCircleMarkersGL2PS (bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 
void DrawDiamondMarkersGL2PS (bool highlight, float *points, int n, unsigned char *colors, int nc_comps)
 
void DrawImageGL2PS (float p[2], vtkImageData *image)
 Embed an RGBA image in the GL2PS output at the supplied point. More...
 
void DrawImageGL2PS (float p[2], float scale, vtkImageData *image)
 
void DrawImageGL2PS (const vtkRectf &rect, vtkImageData *image)
 
void DrawCircleGL2PS (float x, float y, float rX, float rY)
 Inject smooth primitives into the GL2PS stream. More...
 
void DrawWedgeGL2PS (float x, float y, float outRx, float outRy, float inRx, float inRy)
 
void AddEllipseToPath (vtkPath *path, float x, float y, float rx, float ry, bool reverse)
 Add an ellipse to a vtkPath. More...
 
void TransformPath (vtkPath *path) const
 Transform the path using the current modelview matrix. More...
 
void TransformPoint (float &x, float &y) const
 Transform the 2D point using the current modelview matrix. More...
 
void TransformSize (float &dx, float &dy) const
 Transform the width and height from pixels to data units. More...
 
- Protected Member Functions inherited from vtkContextDevice2D
 vtkContextDevice2D ()
 
 ~vtkContextDevice2D () override
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
 ~vtkObject () override
 
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) override
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=nullptr)
 These methods allow a command to exclusively grab all events. More...
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
virtual void ReportReferences (vtkGarbageCollector *)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Protected Attributes

vtkRendererRenderer
 We need to store a pointer to the renderer for the text rendering. More...
 
bool InRender
 Is the device currently rendering? Prevent multiple End() calls. More...
 
PrivateStorage
 
CellArrayHelperPolyDataImpl
 
vtkOpenGLRenderWindowRenderWindow
 The OpenGL render window being used by the device. More...
 
vtkOpenGLHelperLinesCBO
 
vtkOpenGLHelperLinesBO
 
vtkOpenGLHelperVCBO
 
vtkOpenGLHelperVBO
 
vtkOpenGLHelperVTBO
 
vtkOpenGLHelperSCBO
 
vtkOpenGLHelperSBO
 
unsigned short LinePattern
 
- Protected Attributes inherited from vtkContextDevice2D
int Geometry [2]
 Store the width and height of the device in pixels. More...
 
vtkVector2i ViewportSize
 Store the size of the total viewport. More...
 
vtkRecti ViewportRect
 Store our origin and size in the total viewport. More...
 
vtkAbstractContextBufferIdBufferId
 
vtkPenPen
 
vtkBrushBrush
 
vtkTextPropertyTextProp
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
std::atomic< int32_t > ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Detailed Description

Class for drawing 2D primitives using OpenGL 1.1+.

This class takes care of drawing the 2D primitives for the vtkContext2D class. In general this class should not be used directly, but called by vtkContext2D which takes care of many of the higher level details.

See also
vtkOpenGL2ContextDevice2D
Tests:
vtkOpenGLContextDevice2D (Tests)

Definition at line 54 of file vtkOpenGLContextDevice2D.h.

Member Typedef Documentation

◆ Superclass

Definition at line 57 of file vtkOpenGLContextDevice2D.h.

Constructor & Destructor Documentation

◆ vtkOpenGLContextDevice2D()

vtkOpenGLContextDevice2D::vtkOpenGLContextDevice2D ( )
protected

◆ ~vtkOpenGLContextDevice2D()

vtkOpenGLContextDevice2D::~vtkOpenGLContextDevice2D ( )
overrideprotected

Member Function Documentation

◆ IsTypeOf()

static vtkTypeBool vtkOpenGLContextDevice2D::IsTypeOf ( const char *  type)
static

◆ IsA()

virtual vtkTypeBool vtkOpenGLContextDevice2D::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class.

Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkContextDevice2D.

◆ SafeDownCast()

static vtkOpenGLContextDevice2D* vtkOpenGLContextDevice2D::SafeDownCast ( vtkObjectBase o)
static

◆ NewInstanceInternal()

virtual vtkObjectBase* vtkOpenGLContextDevice2D::NewInstanceInternal ( ) const
protectedvirtual

Reimplemented from vtkContextDevice2D.

◆ NewInstance()

vtkOpenGLContextDevice2D* vtkOpenGLContextDevice2D::NewInstance ( ) const

◆ PrintSelf()

void vtkOpenGLContextDevice2D::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
overridevirtual

Methods invoked by print to print information about the object including superclasses.

Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from vtkContextDevice2D.

◆ New()

static vtkOpenGLContextDevice2D* vtkOpenGLContextDevice2D::New ( )
static

Creates a 2D Painter object.

◆ DrawPoly()

void vtkOpenGLContextDevice2D::DrawPoly ( float f,
int  n,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw a poly line using the points - fastest code path due to memory layout of the coordinates.

The line will be colored by colors array which has nc_comps components

Implements vtkContextDevice2D.

◆ DrawLines()

void vtkOpenGLContextDevice2D::DrawLines ( float f,
int  n,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw lines using the points - memory layout is as follows: l1p1,l1p2,l2p1,l2p2...

The lines will be colored by colors array which has nc_comps components.

See also
DrawPoly()

Implements vtkContextDevice2D.

◆ DrawPoints()

void vtkOpenGLContextDevice2D::DrawPoints ( float points,
int  n,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw a series of points - fastest code path due to memory layout of the coordinates.

Points are colored by colors array which has nc_comps components

Implements vtkContextDevice2D.

◆ DrawPointSprites()

void vtkOpenGLContextDevice2D::DrawPointSprites ( vtkImageData sprite,
float points,
int  n,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw a series of point sprites, images centred at the points supplied.

The supplied vtkImageData is the sprite to be drawn, only squares will be drawn and the size is set using SetPointSize. Points are colored by colors array which has nc_comps components - this part is optional.

Implements vtkContextDevice2D.

◆ DrawMarkers()

void vtkOpenGLContextDevice2D::DrawMarkers ( int  shape,
bool  highlight,
float points,
int  n,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw a series of markers centered at the points supplied.

The shape argument controls the marker shape, and can be one of

  • VTK_MARKER_CROSS
  • VTK_MARKER_PLUS
  • VTK_MARKER_SQUARE
  • VTK_MARKER_CIRCLE
  • VTK_MARKER_DIAMOND
    Parameters
    colorsis an optional array of colors.
    nc_compsis the number of components for the color.

Reimplemented from vtkContextDevice2D.

◆ SetMaximumMarkerCacheSize()

virtual void vtkOpenGLContextDevice2D::SetMaximumMarkerCacheSize ( int  )
virtual

Adjust the size of the MarkerCache.

This implementation generates point sprites for each mark size/shape and uses DrawPointSprites to render them. The number of cached markers can be accessed with this function.

◆ GetMaximumMarkerCacheSize()

virtual int vtkOpenGLContextDevice2D::GetMaximumMarkerCacheSize ( )
virtual

◆ DrawQuad()

void vtkOpenGLContextDevice2D::DrawQuad ( float points,
int  n 
)
overridevirtual

Draws a rectangle.

Reimplemented from vtkContextDevice2D.

◆ DrawQuadStrip()

void vtkOpenGLContextDevice2D::DrawQuadStrip ( float points,
int  n 
)
overridevirtual

Draws a rectangle.

Reimplemented from vtkContextDevice2D.

◆ DrawPolygon()

void vtkOpenGLContextDevice2D::DrawPolygon ( float ,
int   
)
overridevirtual

Draw a polygon using the specified number of points.

Reimplemented from vtkContextDevice2D.

◆ DrawColoredPolygon()

void vtkOpenGLContextDevice2D::DrawColoredPolygon ( float points,
int  numPoints,
unsigned char *  colors = nullptr,
int  nc_comps = 0 
)
overridevirtual

Draw a polygon using the specified number of points.

Reimplemented from vtkContextDevice2D.

◆ DrawEllipseWedge()

void vtkOpenGLContextDevice2D::DrawEllipseWedge ( float  x,
float  y,
float  outRx,
float  outRy,
float  inRx,
float  inRy,
float  startAngle,
float  stopAngle 
)
overridevirtual

Draw an elliptic wedge with center at x, y, outer radii outRx, outRy, inner radii inRx, inRy between angles startAngle and stopAngle (expressed in degrees).

Precondition
positive_outRx: outRx>=0
positive_outRy: outRy>=0
positive_inRx: inRx>=0
positive_inRy: inRy>=0
ordered_rx: inRx<=outRx
ordered_ry: inRy<=outRy

Implements vtkContextDevice2D.

◆ DrawEllipticArc()

void vtkOpenGLContextDevice2D::DrawEllipticArc ( float  x,
float  y,
float  rX,
float  rY,
float  startAngle,
float  stopAngle 
)
overridevirtual

Draw an elliptic arc with center at x,y with radii rX and rY between angles startAngle and stopAngle (expressed in degrees).

Precondition
positive_rX: rX>=0
positive_rY: rY>=0

Implements vtkContextDevice2D.

◆ DrawString() [1/2]

void vtkOpenGLContextDevice2D::DrawString ( float point,
const vtkStdString string 
)
overridevirtual

Draw some text to the screen!

Implements vtkContextDevice2D.

◆ ComputeStringBounds() [1/2]

void vtkOpenGLContextDevice2D::ComputeStringBounds ( const vtkStdString string,
float  bounds[4] 
)
overridevirtual

Compute the bounds of the supplied string.

The bounds will be copied to the supplied bounds variable, the first two elements are the bottom corner of the string, and the second two elements are the width and height of the bounding box. An empty bounding box (0, 0, 0, 0) is returned for an empty string or string with only characters that cannot be rendered. NOTE: This function does not take account of the text rotation.

Implements vtkContextDevice2D.

◆ DrawString() [2/2]

void vtkOpenGLContextDevice2D::DrawString ( float point,
const vtkUnicodeString string 
)
overridevirtual

Draw some text to the screen.

Implements vtkContextDevice2D.

◆ ComputeStringBounds() [2/2]

void vtkOpenGLContextDevice2D::ComputeStringBounds ( const vtkUnicodeString string,
float  bounds[4] 
)
overridevirtual

Compute the bounds of the supplied string.

The bounds will be copied to the supplied bounds variable, the first two elements are the bottom corner of the string, and the second two elements are the width and height of the bounding box. An empty bounding box (0, 0, 0, 0) is returned for an empty string or string with only characters that cannot be rendered. NOTE: This function does not take account of the text rotation.

Implements vtkContextDevice2D.

◆ ComputeJustifiedStringBounds()

void vtkOpenGLContextDevice2D::ComputeJustifiedStringBounds ( const char *  string,
float  bounds[4] 
)
overridevirtual

Compute the bounds of the supplied string while taking into account the justification of the currently applied text property.

Simple rotations (0, 90, 180, 270 degrees) are also properly taken into account.

Implements vtkContextDevice2D.

◆ DrawMathTextString()

void vtkOpenGLContextDevice2D::DrawMathTextString ( float  point[2],
const vtkStdString string 
)
override

Draw text using MathText markup for mathematical equations.

See http://matplotlib.sourceforge.net/users/mathtext.html for more information.

◆ DrawImage() [1/2]

void vtkOpenGLContextDevice2D::DrawImage ( float  p[2],
float  scale,
vtkImageData image 
)
overridevirtual

Draw the supplied image at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1.0 would match the image).

Implements vtkContextDevice2D.

◆ DrawImage() [2/2]

void vtkOpenGLContextDevice2D::DrawImage ( const vtkRectf pos,
vtkImageData image 
)
overridevirtual

Draw the supplied image at the given position.

The origin, width, and height are specified by the supplied vtkRectf variable pos. The image will be drawn scaled to that size.

Implements vtkContextDevice2D.

◆ DrawPolyData()

void vtkOpenGLContextDevice2D::DrawPolyData ( float  p[2],
float  scale,
vtkPolyData polyData,
vtkUnsignedCharArray colors,
int  scalarMode 
)
overridevirtual

Draw the supplied PolyData at the given x, y (p[0], p[1]) (bottom corner), scaled by scale (1.0 would match the actual dataset).

Reimplemented from vtkContextDevice2D.

◆ SetColor4()

void vtkOpenGLContextDevice2D::SetColor4 ( unsigned char  color[4])
overridevirtual

Set the color for the device using unsigned char of length 4, RGBA.

Implements vtkContextDevice2D.

◆ SetColor()

virtual void vtkOpenGLContextDevice2D::SetColor ( unsigned char  color[3])
virtual

Set the color for the device using unsigned char of length 3, RGB.

◆ SetTexture()

void vtkOpenGLContextDevice2D::SetTexture ( vtkImageData image,
int  properties = 0 
)
overridevirtual

Set the texture for the device, it is used to fill the polygons.

Implements vtkContextDevice2D.

◆ SetPointSize()

void vtkOpenGLContextDevice2D::SetPointSize ( float  size)
overridevirtual

Set the point size for glyphs/sprites.

Implements vtkContextDevice2D.

◆ SetLineWidth()

void vtkOpenGLContextDevice2D::SetLineWidth ( float  width)
overridevirtual

Set the line width for glyphs/sprites.

Implements vtkContextDevice2D.

◆ SetLineType()

void vtkOpenGLContextDevice2D::SetLineType ( int  type)
overridevirtual

Set the line type type (using anonymous enum in vtkPen).

Implements vtkContextDevice2D.

◆ MultiplyMatrix()

void vtkOpenGLContextDevice2D::MultiplyMatrix ( vtkMatrix3x3 m)
overridevirtual

Multiply the current model view matrix by the supplied one.

Implements vtkContextDevice2D.

◆ SetMatrix()

void vtkOpenGLContextDevice2D::SetMatrix ( vtkMatrix3x3 m)
overridevirtual

Set the model view matrix for the display.

Implements vtkContextDevice2D.

◆ GetMatrix()

void vtkOpenGLContextDevice2D::GetMatrix ( vtkMatrix3x3 m)
overridevirtual

Set the model view matrix for the display.

Implements vtkContextDevice2D.

◆ PushMatrix()

void vtkOpenGLContextDevice2D::PushMatrix ( )
overridevirtual

Push the current matrix onto the stack.

Implements vtkContextDevice2D.

◆ PopMatrix()

void vtkOpenGLContextDevice2D::PopMatrix ( )
overridevirtual

Pop the current matrix off of the stack.

Implements vtkContextDevice2D.

◆ SetClipping()

void vtkOpenGLContextDevice2D::SetClipping ( int x)
overridevirtual

Supply an int array of length 4 with x1, y1, width, height specifying clipping region for the device in pixels.

Implements vtkContextDevice2D.

◆ EnableClipping()

void vtkOpenGLContextDevice2D::EnableClipping ( bool  enable)
overridevirtual

Disable clipping of the display.

Implements vtkContextDevice2D.

◆ Begin()

void vtkOpenGLContextDevice2D::Begin ( vtkViewport viewport)
overridevirtual

Begin drawing, pass in the viewport to set up the view.

Reimplemented from vtkContextDevice2D.

◆ End()

void vtkOpenGLContextDevice2D::End ( )
overridevirtual

End drawing, clean up the view.

Reimplemented from vtkContextDevice2D.

◆ BufferIdModeBegin()

void vtkOpenGLContextDevice2D::BufferIdModeBegin ( vtkAbstractContextBufferId bufferId)
overridevirtual

Start BufferId creation Mode.

The default implementation is empty.

Precondition
not_yet: !GetBufferIdMode()
bufferId_exists: bufferId!=0
Postcondition
started: GetBufferIdMode()

Reimplemented from vtkContextDevice2D.

◆ BufferIdModeEnd()

void vtkOpenGLContextDevice2D::BufferIdModeEnd ( )
overridevirtual

Finalize BufferId creation Mode.

It makes sure that the content of the bufferId passed in argument of BufferIdModeBegin() is correctly set. The default implementation is empty.

Precondition
started: GetBufferIdMode()
Postcondition
done: !GetBufferIdMode()

Reimplemented from vtkContextDevice2D.

◆ SetStringRendererToFreeType()

bool vtkOpenGLContextDevice2D::SetStringRendererToFreeType ( )

Force the use of the freetype based render strategy.

If Qt is available then freetype will be used preferentially, otherwise this has no effect. Returns true on success.

◆ SetStringRendererToQt()

bool vtkOpenGLContextDevice2D::SetStringRendererToQt ( )

Force the use of the Qt based string render strategy.

If Qt is not available then freetype will be used and this will return false.

◆ HasGLSL()

bool vtkOpenGLContextDevice2D::HasGLSL ( )

Check whether the current context device has support for GLSL.

◆ GetRenderWindow()

virtual vtkOpenGLRenderWindow* vtkOpenGLContextDevice2D::GetRenderWindow ( )
virtual

Get the active RenderWindow of the device.

Will return null if not active.

◆ ReleaseGraphicsResources()

virtual void vtkOpenGLContextDevice2D::ReleaseGraphicsResources ( vtkWindow window)
virtual

Release any graphics resources that are being consumed by this device.

The parameter window could be used to determine which graphic resources to release.

◆ GetProjectionMatrix()

vtkMatrix4x4* vtkOpenGLContextDevice2D::GetProjectionMatrix ( )

Get the projection matrix this is needed.

◆ GetModelMatrix()

vtkMatrix4x4* vtkOpenGLContextDevice2D::GetModelMatrix ( )

◆ GetNumberOfArcIterations()

int vtkOpenGLContextDevice2D::GetNumberOfArcIterations ( float  rX,
float  rY,
float  startAngle,
float  stopAngle 
)
protected

Factorized code called by DrawEllipseWedge() and DrawEllipticArc() to figure out the number of iterations required to make an arc smooth.

Precondition
positive_rX: rX>=0.0f
positive_rY: rY>=0.0f
not_both_null: rX>0.0 || rY>0.0

◆ ReadyLinesCBOProgram()

void vtkOpenGLContextDevice2D::ReadyLinesCBOProgram ( )
protected

◆ ReadyLinesBOProgram()

void vtkOpenGLContextDevice2D::ReadyLinesBOProgram ( )
protected

◆ ReadyVCBOProgram()

void vtkOpenGLContextDevice2D::ReadyVCBOProgram ( )
protected

◆ ReadyVBOProgram()

void vtkOpenGLContextDevice2D::ReadyVBOProgram ( )
protected

◆ ReadyVTBOProgram()

void vtkOpenGLContextDevice2D::ReadyVTBOProgram ( )
protected

◆ ReadySCBOProgram()

void vtkOpenGLContextDevice2D::ReadySCBOProgram ( )
protected

◆ ReadySBOProgram()

void vtkOpenGLContextDevice2D::ReadySBOProgram ( )
protected

◆ SetMatrices()

void vtkOpenGLContextDevice2D::SetMatrices ( vtkShaderProgram prog)
protected

◆ BuildVBO()

void vtkOpenGLContextDevice2D::BuildVBO ( vtkOpenGLHelper cbo,
float v,
int  nv,
unsigned char *  coolors,
int  nc,
float tcoords 
)
protected

◆ CoreDrawTriangles()

void vtkOpenGLContextDevice2D::CoreDrawTriangles ( std::vector< float > &  tverts,
unsigned char *  colors = nullptr,
int  numComp = 0 
)
protected

◆ DrawMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawMarkersGL2PS ( int  shape,
bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

Draw the markers as paths/polydata instead of sprites for detailed GL2PS capture.

◆ DrawCrossMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawCrossMarkersGL2PS ( bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

◆ DrawPlusMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawPlusMarkersGL2PS ( bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

◆ DrawSquareMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawSquareMarkersGL2PS ( bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

◆ DrawCircleMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawCircleMarkersGL2PS ( bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

◆ DrawDiamondMarkersGL2PS()

void vtkOpenGLContextDevice2D::DrawDiamondMarkersGL2PS ( bool  highlight,
float points,
int  n,
unsigned char *  colors,
int  nc_comps 
)
protected

◆ DrawImageGL2PS() [1/3]

void vtkOpenGLContextDevice2D::DrawImageGL2PS ( float  p[2],
vtkImageData image 
)
protected

Embed an RGBA image in the GL2PS output at the supplied point.

◆ DrawImageGL2PS() [2/3]

void vtkOpenGLContextDevice2D::DrawImageGL2PS ( float  p[2],
float  scale,
vtkImageData image 
)
protected

◆ DrawImageGL2PS() [3/3]

void vtkOpenGLContextDevice2D::DrawImageGL2PS ( const vtkRectf rect,
vtkImageData image 
)
protected

◆ DrawCircleGL2PS()

void vtkOpenGLContextDevice2D::DrawCircleGL2PS ( float  x,
float  y,
float  rX,
float  rY 
)
protected

Inject smooth primitives into the GL2PS stream.

◆ DrawWedgeGL2PS()

void vtkOpenGLContextDevice2D::DrawWedgeGL2PS ( float  x,
float  y,
float  outRx,
float  outRy,
float  inRx,
float  inRy 
)
protected

◆ AddEllipseToPath()

void vtkOpenGLContextDevice2D::AddEllipseToPath ( vtkPath path,
float  x,
float  y,
float  rx,
float  ry,
bool  reverse 
)
protected

Add an ellipse to a vtkPath.

Used during GL2PS export.

◆ TransformPath()

void vtkOpenGLContextDevice2D::TransformPath ( vtkPath path) const
protected

Transform the path using the current modelview matrix.

◆ TransformPoint()

void vtkOpenGLContextDevice2D::TransformPoint ( float x,
float y 
) const
protected

Transform the 2D point using the current modelview matrix.

◆ TransformSize()

void vtkOpenGLContextDevice2D::TransformSize ( float dx,
float dy 
) const
protected

Transform the width and height from pixels to data units.

Member Data Documentation

◆ Renderer

vtkRenderer* vtkOpenGLContextDevice2D::Renderer
protected

We need to store a pointer to the renderer for the text rendering.

Definition at line 384 of file vtkOpenGLContextDevice2D.h.

◆ InRender

bool vtkOpenGLContextDevice2D::InRender
protected

Is the device currently rendering? Prevent multiple End() calls.

Definition at line 389 of file vtkOpenGLContextDevice2D.h.

◆ Storage

Private* vtkOpenGLContextDevice2D::Storage
protected

Definition at line 395 of file vtkOpenGLContextDevice2D.h.

◆ PolyDataImpl

CellArrayHelper* vtkOpenGLContextDevice2D::PolyDataImpl
protected

Definition at line 398 of file vtkOpenGLContextDevice2D.h.

◆ RenderWindow

vtkOpenGLRenderWindow* vtkOpenGLContextDevice2D::RenderWindow
protected

The OpenGL render window being used by the device.

Definition at line 405 of file vtkOpenGLContextDevice2D.h.

◆ LinesCBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::LinesCBO
protected

Definition at line 407 of file vtkOpenGLContextDevice2D.h.

◆ LinesBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::LinesBO
protected

Definition at line 409 of file vtkOpenGLContextDevice2D.h.

◆ VCBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::VCBO
protected

Definition at line 411 of file vtkOpenGLContextDevice2D.h.

◆ VBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::VBO
protected

Definition at line 413 of file vtkOpenGLContextDevice2D.h.

◆ VTBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::VTBO
protected

Definition at line 415 of file vtkOpenGLContextDevice2D.h.

◆ SCBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::SCBO
protected

Definition at line 417 of file vtkOpenGLContextDevice2D.h.

◆ SBO

vtkOpenGLHelper* vtkOpenGLContextDevice2D::SBO
protected

Definition at line 419 of file vtkOpenGLContextDevice2D.h.

◆ LinePattern

unsigned short vtkOpenGLContextDevice2D::LinePattern
protected

Definition at line 430 of file vtkOpenGLContextDevice2D.h.


The documentation for this class was generated from the following file: