22#ifndef vtkOpenGLGL2PSHelperImpl_h
23#define vtkOpenGLGL2PSHelperImpl_h
26#include "vtkRenderingGL2PSOpenGL2Module.h"
47 void DrawPath(
vtkPath* path,
double rasterPos[3],
double windowPos[2],
unsigned char rgba[4],
48 double scale[2] =
nullptr,
double rotateAngle = 0.0,
float strokeWidth = -1,
49 const char* label =
nullptr)
override;
52 unsigned char actorColor[4],
vtkRenderer* ren,
const char* label =
nullptr)
override;
75 vtkMatrix4x4* xform,
double vpOrigin[2],
double halfSize[2],
double zfact[2]);
83 double halfWidth,
double halfHeight,
double zfact1,
double zfact2);
94 double viewportOrigin[2],
double halfWidth,
double halfHeight,
double zfact1,
double zfact2);
99 void DrawPathPS(
vtkPath* path,
double rasterPos[3],
double windowPos[2],
unsigned char rgba[4],
100 double scale[2],
double rotateAngle,
float strokeWidth,
const std::string& label);
102 double scale[2],
double rotateAngle,
float strokeWidth,
const std::string& label);
104 double scale[2],
double rotateAngle,
float strokeWidth,
const std::string& label);
represents an object (geometry & properties) in a rendered scene
topologically and geometrically regular array of data
a simple class to control print indentation
represent and manipulate 4x4 transformation matrices
vtkOpenGLGL2PSHelper override implementation.
void DrawPath(vtkPath *path, double rasterPos[3], double windowPos[2], unsigned char rgba[4], double scale[2]=nullptr, double rotateAngle=0.0, float strokeWidth=-1, const char *label=nullptr) override
Generate PS, EPS, or SVG markup from a vtkPath object, and then inject it into the output using the g...
void DrawPathPDF(vtkPath *path, double rasterPos[3], double windowPos[2], unsigned char rgba[4], double scale[2], double rotateAngle, float strokeWidth, const std::string &label)
void ProcessTransformFeedback(vtkTransformFeedback *tfc, vtkRenderer *ren, vtkActor *act) override
Parse the vertex information in tfc and inject primitives into GL2PS.
vtkOpenGLGL2PSHelperImpl()
void DrawString(const std::string &str, vtkTextProperty *tprop, double pos[3], double backgroundDepth, vtkRenderer *ren) override
Format the text in str according to tprop and instruct GL2PS to draw it at pixel coordinate pos.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void UnprojectPoint(double point[4], vtkMatrix4x4 *invTransformMatrix, double viewportOrigin[2], double halfWidth, double halfHeight, double zfact1, double zfact2)
Unproject the point from device coordinates into world coordinates.
void ProcessTransformFeedback(vtkTransformFeedback *tfc, vtkRenderer *ren, float col[4]) override
Parse the vertex information in tfc and inject primitives into GL2PS.
static const char * TextPropertyToPSFontName(vtkTextProperty *tprop)
Translate the tprop's fontname into a Postscript font name.
static void ProjectPoints(vtkPoints *points, vtkRenderer *ren, vtkMatrix4x4 *actorMatrix=nullptr)
Project the point from world coordinates into device coordinates.
void DrawPathPS(vtkPath *path, double rasterPos[3], double windowPos[2], unsigned char rgba[4], double scale[2], double rotateAngle, float strokeWidth, const std::string &label)
static vtkOpenGLGL2PSHelperImpl * New()
void Draw3DPath(vtkPath *path, vtkMatrix4x4 *actorMatrix, double rasterPos[3], unsigned char actorColor[4], vtkRenderer *ren, const char *label=nullptr) override
Transform the path using the actor's matrix and current GL state, then draw it to GL2PS.
void DrawPathSVG(vtkPath *path, double rasterPos[3], double windowPos[2], unsigned char rgba[4], double scale[2], double rotateAngle, float strokeWidth, const std::string &label)
void DrawImage(vtkImageData *input, double pos[3]) override
Draw the image at pos.
static void ProjectPoint(double point[3], vtkRenderer *ren, vtkMatrix4x4 *actorMatrix=nullptr)
Project the point from world coordinates into device coordinates.
~vtkOpenGLGL2PSHelperImpl() override
static void GetTransformParameters(vtkRenderer *ren, vtkMatrix4x4 *actorMatrix, vtkMatrix4x4 *xform, double vpOrigin[2], double halfSize[2], double zfact[2])
Extracts the information needed for transforming and projecting points from a renderer.
static int TextPropertyToGL2PSAlignment(vtkTextProperty *tprop)
Convert the alignment hint in tprop to a GL2PS text alignment constant.
void ProcessTransformFeedback(vtkTransformFeedback *tfc, vtkRenderer *ren, unsigned char col[4]) override
Parse the vertex information in tfc and inject primitives into GL2PS.
static void ProjectPoint(double point[4], vtkMatrix4x4 *transformMatrix, double viewportOrigin[2], double halfWidth, double halfHeight, double zfact1, double zfact2)
Project the point from world coordinates into device coordinates.
static void UnprojectPoints(double *points3D, vtkIdType numPoints, vtkRenderer *ren, vtkMatrix4x4 *actorMatrix=nullptr)
Unproject the point from device coordinates into world coordinates.
Access GL2PS functionality.
concrete dataset representing a path defined by Bezier curves.
represent and manipulate 3D points
abstract specification for renderers
represent text properties.