 |
VTK
9.0.1
|
Go to the documentation of this file.
39 #ifndef vtkSVGContextDevice2D_h
40 #define vtkSVGContextDevice2D_h
43 #include "vtkIOExportModule.h"
77 vtkSetMacro(EmbedFonts,
bool);
78 vtkGetMacro(EmbedFonts,
bool);
79 vtkBooleanMacro(EmbedFonts,
bool);
97 vtkSetMacro(TextAsPath,
bool);
98 vtkGetMacro(TextAsPath,
bool);
99 vtkBooleanMacro(TextAsPath,
bool);
117 vtkSetMacro(SubdivisionThreshold,
float);
118 vtkGetMacro(SubdivisionThreshold,
float);
130 void DrawPoly(
float*
points,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0)
override;
131 void DrawLines(
float* f,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0)
override;
132 void DrawPoints(
float*
points,
int n,
unsigned char* colors =
nullptr,
int nc_comps = 0)
override;
134 int nc_comps = 0)
override;
135 void DrawMarkers(
int shape,
bool highlight,
float*
points,
int n,
unsigned char* colors =
nullptr,
136 int nc_comps = 0)
override;
141 float*
points,
int numPoints,
unsigned char* colors =
nullptr,
int nc_comps = 0)
override;
145 float x,
float y,
float rX,
float rY,
float startAngle,
float stopAngle)
override;
270 #endif // vtkSVGContextDevice2D_h
static void Matrix4ToMatrix3(const double mat4[16], double mat3[9])
vtkXMLDataElement * ActiveNode
std::string AddDiamondSymbol(bool highlight)
void ApplyBrushColorToNode(vtkXMLDataElement *node)
float SubdivisionThreshold
void ComputeStringBounds(const vtkUnicodeString &string, float bounds[4]) override
Compute the bounds of the supplied string.
~vtkSVGContextDevice2D() override
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,...
void TransformSize(float &x, float &y)
void GetScaledPenWidth(float &x, float &y)
std::array< int, 4 > ClipRect
void ComputeJustifiedStringBounds(const char *string, float bounds[4]) override
Compute the bounds of the supplied string while taking into account the justification of the currentl...
vtkContextDevice2D implementation for use with vtkSVGExporter.
void ComputeStringBounds(const vtkStdString &string, float bounds[4]) override
Compute the bounds of the supplied string.
static vtkSVGContextDevice2D * New()
void SetColor4(unsigned char color[4]) override
Set the color for the device using unsigned char of length 4, RGBA.
vtkImageData * PreparePointSprite(vtkImageData *in)
std::string AddSquareSymbol(bool highlight)
concrete dataset representing a path defined by Bezier curves.
void ApplyPenStateToNode(vtkXMLDataElement *node)
void DrawImage(const vtkRectf &pos, vtkImageData *image) override
Draw the supplied image at the given position.
std::array< int, 4 > ActiveNodeClipRect
void ApplyBrushTextureToNode(vtkXMLDataElement *node)
void ApplyPenOpacityToNode(vtkXMLDataElement *node)
vtkXMLDataElement * ContextNode
void DrawString(float *point, const vtkStdString &string) override
Draw some text to the screen.
void ApplyPenStippleToNode(vtkXMLDataElement *node)
void DrawString(float *point, const vtkUnicodeString &string) override
Draw some text to the screen.
void PopMatrix() override
Pop the current matrix off of the stack.
void ApplyPenAsFillOpacityToNode(vtkXMLDataElement *node)
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.
bool ActiveNodeIsClipping
void MultiplyMatrix(vtkMatrix3x3 *m) override
Multiply the current model view matrix by the supplied one.
represent and manipulate 3x3 transformation matrices
std::string AddCircleSymbol(bool highlight)
void Begin(vtkViewport *) override
Begin drawing, pass in the viewport to set up the view.
void SetLineType(int type) override
Set the line type type (using anonymous enum in vtkPen).
void ApplyBrushOpacityToNode(vtkXMLDataElement *node)
void DrawQuadStrip(float *, int) override
Draw a quad using the specified number of points.
void GetSVGMatrix(double svg[9])
void DrawLineGradient(const vtkVector2f &p1, const vtkColor4ub &c1, const vtkVector2f &p2, const vtkColor4ub &c2, bool useAlpha)
void SetSVGContext(vtkXMLDataElement *context, vtkXMLDataElement *defs)
The svg container element to draw into, and the global definitions element.
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....
static bool Transform2DEqual(const double mat3[9], const double mat4[16])
void ApplyTextPropertyStateToNodeForPath(vtkXMLDataElement *node, float x, float y)
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.
vtkNew< vtkTransform > Matrix
topologically and geometrically regular array of data
a simple class to control print indentation
String class that stores Unicode text.
std::string AddPlusSymbol(bool highlight)
void GenerateDefinitions()
Write any definition information (fonts, images, etc) that are accumulated between actors.
void ApplyTextPropertyStateToNode(vtkXMLDataElement *node, float x, float y)
void PushMatrix() override
Push the current matrix onto the stack.
void DrawMathTextString(float *point, const vtkStdString &str) override
Draw text using MathText markup for mathematical equations.
vtkXMLDataElement * DefinitionNode
Represents an XML element and those nested inside.
void DrawQuad(float *, int) override
Draw a quad using the specified number of points.
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.
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 ...
abstract specification for Viewports
void ApplyPenAsFillColorToNode(vtkXMLDataElement *node)
void SetTexture(vtkImageData *image, int properties) override
Set the texture for the device, it is used to fill the polygons.
bool ColorsAreClose(const vtkColor4ub &c1, const vtkColor4ub &c2, const vtkColor4ub &c3, bool useAlpha)
Abstract class for drawing 2D primitives.
void AdjustMatrixForSVG(const double in[9], double out[9])
bool ColorsAreClose(const vtkColor4ub &c1, const vtkColor4ub &c2, bool useAlpha)
void End() override
End drawing, clean up the view.
void GetMatrix(vtkMatrix3x3 *m) override
Set the model view matrix for the display.
void DrawPolygon(float *, int) override
Draw a polygon using the specified number of points.
void SetViewport(vtkViewport *)
bool AreaLessThanTolerance(const vtkVector2f &p1, const vtkVector2f &p2, const vtkVector2f &p3)
std::string AddCrossSymbol(bool highlight)
abstract specification for renderers
Some derived classes for the different colors commonly used.
void SetPointSize(float size) override
Set the point size for glyphs/sprites.
std::array< double, 9 > ActiveNodeTransform
void SetupClippingAndTransform()
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...
void EnableClipping(bool enable) override
Enable or disable the clipping of the scene.
void SetClipping(int *x) override
Supply an int array of length 4 with x1, y1, width, height specifying clipping region for the device ...
Wrapper around std::string to keep symbols short.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void ApplyBrushStateToNode(vtkXMLDataElement *node)
float GetScaledPenWidth()
static void Matrix3ToMatrix4(const double mat3[9], double mat4[16])
void DrawTriangleGradient(const vtkVector2f &p1, const vtkColor4ub &c1, const vtkVector2f &p2, const vtkColor4ub &c2, const vtkVector2f &p3, const vtkColor4ub &c3, bool useAlpha)
void ApplyPenWidthToNode(vtkXMLDataElement *node)
void DrawColoredPolygon(float *points, int numPoints, unsigned char *colors=nullptr, int nc_comps=0) override
Draw a polygon using the specified number of points.
void DrawPoly(float *points, 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.
void DrawPath(vtkPath *path, std::ostream &out)
void SetMatrix(vtkMatrix3x3 *m) override
Set the model view matrix for the display.
void SetLineWidth(float width) override
Set the line width.
bool LengthLessThanTolerance(const vtkVector2f &p1, const vtkVector2f &p2)
void ApplyPenColorToNode(vtkXMLDataElement *node)