VTK
vtkSVGExporter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkSVGExporter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
45 #ifndef vtkSVGExporter_h
46 #define vtkSVGExporter_h
47 
48 #include "vtkIOExportModule.h" // For export macro
49 #include "vtkExporter.h"
50 
51 class vtkContextActor;
52 class vtkRenderer;
54 class vtkXMLDataElement;
55 
56 class VTKIOEXPORT_EXPORT vtkSVGExporter: public vtkExporter
57 {
58 public:
59  static vtkSVGExporter* New();
60  vtkTypeMacro(vtkSVGExporter, vtkExporter)
61  void PrintSelf(ostream &os, vtkIndent indent) override;
62 
64  vtkSetStringMacro(Title)
65  vtkGetStringMacro(Title)
69  vtkSetStringMacro(Description)
70  vtkGetStringMacro(Description)
74  vtkSetStringMacro(FileName)
75  vtkGetStringMacro(FileName)
93  vtkSetMacro(TextAsPath, bool)
94  vtkGetMacro(TextAsPath, bool)
95  vtkBooleanMacro(TextAsPath, bool)
103  vtkSetMacro(DrawBackground, bool)
104  vtkGetMacro(DrawBackground, bool)
105  vtkBooleanMacro(DrawBackground, bool)
123  vtkSetMacro(SubdivisionThreshold, float)
124  vtkGetMacro(SubdivisionThreshold, float)
127 protected:
128  vtkSVGExporter();
129  ~vtkSVGExporter() override;
130 
131  void WriteData() override;
132 
133  void WriteSVG();
134  void PrepareDocument();
135  void RenderContextActors();
136  void RenderBackground(vtkRenderer *ren);
137  void RenderContextActor(vtkContextActor *actor,
138  vtkRenderer *renderer);
139 
140  char *Title;
141  char *Description;
142  char *FileName;
143 
145  vtkXMLDataElement *RootNode;
146  vtkXMLDataElement *PageNode;
147  vtkXMLDataElement *DefinitionNode;
148 
149  float SubdivisionThreshold;
150  bool DrawBackground;
151  bool TextAsPath;
152 
153 private:
154  vtkSVGExporter(const vtkSVGExporter&) = delete;
155  void operator=(const vtkSVGExporter&) = delete;
156 };
157 
158 #endif // vtkSVGExporter_h
abstract class to write a scene to a file
Definition: vtkExporter.h:47
Represents an XML element and those nested inside.
vtkContextDevice2D implementation for use with vtkSVGExporter.
abstract specification for renderers
Definition: vtkRenderer.h:63
a simple class to control print indentation
Definition: vtkIndent.h:39
provides a vtkProp derived object.
Exports vtkContext2D scenes to SVG.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...