VTK  9.3.20240424
vtkPOVExporter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-FileCopyrightText: Copyright (c) 2007, Los Alamos National Security, LLC
3// SPDX-License-Identifier: LicenseRef-BSD-3-Clause-LANL-USGov
18#ifndef vtkPOVExporter_h
19#define vtkPOVExporter_h
20
21#include "vtkExporter.h"
22#include "vtkIOExportModule.h" // For export macro
23
24VTK_ABI_NAMESPACE_BEGIN
25class vtkRenderer;
26class vtkActor;
27class vtkCamera;
28class vtkLight;
29class vtkPolyData;
30class vtkProperty;
31class vtkTexture;
32class vtkPOVInternals;
33
34class VTKIOEXPORT_EXPORT vtkPOVExporter : public vtkExporter
35{
36public:
39 void PrintSelf(ostream& os, vtkIndent indent) override;
40
42
48
49protected:
51 ~vtkPOVExporter() override;
52
53 void WriteData() override;
54 virtual void WriteHeader(vtkRenderer* renderer);
55 void WriteCamera(vtkCamera* camera);
56 void WriteLight(vtkLight* light);
57 void WriteProperty(vtkProperty* property);
58 void WritePolygons(vtkPolyData* polydata, bool scalar_visible);
59 void WriteTriangleStrips(vtkPolyData* strip, bool scalar_visible);
60
61 virtual void WriteActor(vtkActor* actor);
62
63 char* FileName;
64 FILE* FilePtr;
65
66private:
67 vtkPOVExporter(const vtkPOVExporter&) = delete;
68 void operator=(const vtkPOVExporter&) = delete;
69
70 vtkPOVInternals* Internals;
71};
72
73VTK_ABI_NAMESPACE_END
74#endif
represents an object (geometry & properties) in a rendered scene
Definition vtkActor.h:151
a virtual camera for 3D rendering
Definition vtkCamera.h:151
abstract class to write a scene to a file
Definition vtkExporter.h:37
a simple class to control print indentation
Definition vtkIndent.h:108
a virtual light for 3D rendering
Definition vtkLight.h:159
Export scene into povray format.
void WriteTriangleStrips(vtkPolyData *strip, bool scalar_visible)
vtkSetFilePathMacro(FileName)
The filename to save into.
static vtkPOVExporter * New()
void WriteLight(vtkLight *light)
void WritePolygons(vtkPolyData *polydata, bool scalar_visible)
virtual void WriteActor(vtkActor *actor)
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void WriteProperty(vtkProperty *property)
~vtkPOVExporter() override
void WriteData() override
void WriteCamera(vtkCamera *camera)
virtual void WriteHeader(vtkRenderer *renderer)
vtkGetFilePathMacro(FileName)
The filename to save into.
concrete dataset represents vertices, lines, polygons, and triangle strips
represent surface properties of a geometric object
abstract specification for renderers
handles properties associated with a texture map
Definition vtkTexture.h:167