VTK
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
home
demarle
Source
VTK
release
8.2
build
Utilities
Doxygen
dox
IO
Export
vtkPOVExporter.h
Go to the documentation of this file.
1
/*=========================================================================
2
3
Program: Visualization Toolkit
4
Module: vtkPOVExporter.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
=========================================================================*/
15
/*=========================================================================
16
17
Program: VTK/ParaView Los Alamos National Laboratory Modules (PVLANL)
18
Module: vtkPOVExporter.h
19
20
Copyright (c) 2007, Los Alamos National Security, LLC
21
22
All rights reserved.
23
24
Copyright 2007. Los Alamos National Security, LLC.
25
This software was produced under U.S. Government contract DE-AC52-06NA25396
26
for Los Alamos National Laboratory (LANL), which is operated by
27
Los Alamos National Security, LLC for the U.S. Department of Energy.
28
The U.S. Government has rights to use, reproduce, and distribute this software.
29
NEITHER THE GOVERNMENT NOR LOS ALAMOS NATIONAL SECURITY, LLC MAKES ANY WARRANTY,
30
EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE.
31
If software is modified to produce derivative works, such modified software
32
should be clearly marked, so as not to confuse it with the version available
33
from LANL.
34
35
Additionally, redistribution and use in source and binary forms, with or
36
without modification, are permitted provided that the following conditions
37
are met:
38
- Redistributions of source code must retain the above copyright notice,
39
this list of conditions and the following disclaimer.
40
- Redistributions in binary form must reproduce the above copyright notice,
41
this list of conditions and the following disclaimer in the documentation
42
and/or other materials provided with the distribution.
43
- Neither the name of Los Alamos National Security, LLC, Los Alamos National
44
Laboratory, LANL, the U.S. Government, nor the names of its contributors
45
may be used to endorse or promote products derived from this software
46
without specific prior written permission.
47
48
THIS SOFTWARE IS PROVIDED BY LOS ALAMOS NATIONAL SECURITY, LLC AND CONTRIBUTORS
49
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
50
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
51
ARE DISCLAIMED. IN NO EVENT SHALL LOS ALAMOS NATIONAL SECURITY, LLC OR
52
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
53
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
54
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
55
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
56
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
57
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
58
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
59
60
=========================================================================*/
61
76
#ifndef vtkPOVExporter_h
77
#define vtkPOVExporter_h
78
79
#include "vtkIOExportModule.h"
// For export macro
80
#include "
vtkExporter.h
"
81
82
class
vtkRenderer
;
83
class
vtkActor
;
84
class
vtkCamera
;
85
class
vtkLight
;
86
class
vtkPolyData
;
87
class
vtkProperty
;
88
class
vtkTexture
;
89
class
vtkPOVInternals;
90
91
class
VTKIOEXPORT_EXPORT
vtkPOVExporter
:
public
vtkExporter
92
{
93
public
:
94
static
vtkPOVExporter
*
New
();
95
vtkTypeMacro(
vtkPOVExporter
,
vtkExporter
);
96
void
PrintSelf
(ostream& os,
vtkIndent
indent)
override
;
97
99
102
vtkSetStringMacro(FileName);
103
vtkGetStringMacro(FileName);
105
106
protected
:
107
vtkPOVExporter
();
108
~
vtkPOVExporter
()
override
;
109
110
void
WriteData
()
override
;
111
virtual
void
WriteHeader(
vtkRenderer
*renderer);
112
void
WriteCamera(
vtkCamera
*camera);
113
void
WriteLight(
vtkLight
*light);
114
void
WriteProperty(
vtkProperty
*property);
115
void
WritePolygons(
vtkPolyData
*polydata,
bool
scalar_visible);
116
void
WriteTriangleStrips(
vtkPolyData
*strip,
bool
scalar_visible);
117
118
virtual
void
WriteActor(
vtkActor
*actor);
119
120
char
*
FileName
;
121
FILE *
FilePtr
;
122
123
private
:
124
vtkPOVExporter
(
const
vtkPOVExporter
&) =
delete
;
125
void
operator=(
const
vtkPOVExporter
&) =
delete
;
126
127
vtkPOVInternals *Internals;
128
};
129
130
#endif
vtkExporter
abstract class to write a scene to a file
Definition:
vtkExporter.h:47
vtkActor
represents an object (geometry & properties) in a rendered scene
Definition:
vtkActor.h:51
vtkExporter::WriteData
virtual void WriteData()=0
vtkProperty
represent surface properties of a geometric object
Definition:
vtkProperty.h:66
vtkRenderer
abstract specification for renderers
Definition:
vtkRenderer.h:63
vtkPolyData
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition:
vtkPolyData.h:85
vtkIndent
a simple class to control print indentation
Definition:
vtkIndent.h:39
vtkCamera
a virtual camera for 3D rendering
Definition:
vtkCamera.h:50
vtkLight
a virtual light for 3D rendering
Definition:
vtkLight.h:62
vtkTexture
handles properties associated with a texture map
Definition:
vtkTexture.h:71
vtkExporter::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkPOVExporter::FileName
char * FileName
Definition:
vtkPOVExporter.h:120
vtkExporter.h
vtkObject::New
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkPOVExporter::FilePtr
FILE * FilePtr
Definition:
vtkPOVExporter.h:121
vtkPOVExporter
Export scene into povray format.
Definition:
vtkPOVExporter.h:91
Generated by
1.8.11