VTK  9.0.1
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 "vtkExporter.h"
49 #include "vtkIOExportModule.h" // For export macro
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) vtkGetStringMacro(Title)
68  vtkSetStringMacro(Description) vtkGetStringMacro(Description)
72  vtkSetStringMacro(FileName) vtkGetStringMacro(FileName)
90  vtkSetMacro(TextAsPath, bool);
91  vtkGetMacro(TextAsPath, bool);
92  vtkBooleanMacro(TextAsPath, bool);
100  vtkSetMacro(DrawBackground, bool);
101  vtkGetMacro(DrawBackground, bool);
102  vtkBooleanMacro(DrawBackground, bool);
120  vtkSetMacro(SubdivisionThreshold, float);
121  vtkGetMacro(SubdivisionThreshold, float);
124 protected:
125  vtkSVGExporter();
126  ~vtkSVGExporter() override;
127 
128  void WriteData() override;
129 
130  void WriteSVG();
131  void PrepareDocument();
132  void RenderContextActors();
133  void RenderBackground(vtkRenderer* ren);
134  void RenderContextActor(vtkContextActor* actor, vtkRenderer* renderer);
135 
136  char* Title;
137  char* Description;
138  char* FileName;
139 
144 
148 
149 private:
150  vtkSVGExporter(const vtkSVGExporter&) = delete;
151  void operator=(const vtkSVGExporter&) = delete;
152 };
153 
154 #endif // vtkSVGExporter_h
vtkSVGExporter
Exports vtkContext2D scenes to SVG.
Definition: vtkSVGExporter.h:56
vtkSVGContextDevice2D
vtkContextDevice2D implementation for use with vtkSVGExporter.
Definition: vtkSVGContextDevice2D.h:56
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
vtkSVGExporter::DefinitionNode
vtkXMLDataElement * DefinitionNode
Definition: vtkSVGExporter.h:143
vtkSVGExporter::DrawBackground
bool DrawBackground
Definition: vtkSVGExporter.h:146
vtkExporter::WriteData
virtual void WriteData()=0
vtkSVGExporter::Title
char * Title
Definition: vtkSVGExporter.h:136
vtkContextActor
provides a vtkProp derived object.
Definition: vtkContextActor.h:37
vtkSVGExporter::TextAsPath
bool TextAsPath
Definition: vtkSVGExporter.h:147
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkXMLDataElement
Represents an XML element and those nested inside.
Definition: vtkXMLDataElement.h:36
vtkSVGExporter::Device
vtkSVGContextDevice2D * Device
Definition: vtkSVGExporter.h:140
vtkExporter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSVGExporter::RootNode
vtkXMLDataElement * RootNode
Definition: vtkSVGExporter.h:141
vtkExporter
abstract class to write a scene to a file
Definition: vtkExporter.h:47
vtkRenderer
abstract specification for renderers
Definition: vtkRenderer.h:67
vtkSVGExporter::Description
char * Description
Definition: vtkSVGExporter.h:137
vtkExporter.h
vtkSVGExporter::SubdivisionThreshold
float SubdivisionThreshold
Definition: vtkSVGExporter.h:145
vtkSVGExporter::PageNode
vtkXMLDataElement * PageNode
Definition: vtkSVGExporter.h:142
vtkSVGExporter::FileName
char * FileName
Definition: vtkSVGExporter.h:138