VTK  9.6.20260202
vtkPLYWriter.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2// SPDX-License-Identifier: BSD-3-Clause
57
58#ifndef vtkPLYWriter_h
59#define vtkPLYWriter_h
60
61#include "vtkIOPLYModule.h" // For export macro
62#include "vtkSmartPointer.h" // For protected ivars
63#include "vtkWriter.h"
64
65#include <string> // For string parameter
66
67VTK_ABI_NAMESPACE_BEGIN
69class vtkPolyData;
71class vtkStringArray;
73
74#define VTK_LITTLE_ENDIAN 0
75#define VTK_BIG_ENDIAN 1
76
77#define VTK_COLOR_MODE_DEFAULT 0
78#define VTK_COLOR_MODE_UNIFORM_CELL_COLOR 1
79#define VTK_COLOR_MODE_UNIFORM_POINT_COLOR 2
80#define VTK_COLOR_MODE_UNIFORM_COLOR 3
81#define VTK_COLOR_MODE_OFF 4
82
83#define VTK_TEXTURECOORDS_UV 0
84#define VTK_TEXTURECOORDS_TEXTUREUV 1
85#define VTK_TEXTURECOORDS_ST 2
86
87class VTKIOPLY_EXPORT vtkPLYWriter : public vtkWriter
88{
89public:
90 static vtkPLYWriter* New();
91 vtkTypeMacro(vtkPLYWriter, vtkWriter);
92 void PrintSelf(ostream& os, vtkIndent indent) override;
93
95
100 vtkGetMacro(DataByteOrder, int);
104
106
114 vtkSetMacro(WriteToOutputString, bool);
115 vtkGetMacro(WriteToOutputString, bool);
116 vtkBooleanMacro(WriteToOutputString, bool);
117 const std::string& GetOutputString() const { return this->OutputString; }
119
121
125 vtkSetMacro(WriteObjectInformation, bool);
126 vtkGetMacro(WriteObjectInformation, bool);
127 vtkBooleanMacro(WriteObjectInformation, bool);
129
131
148 vtkSetMacro(ColorMode, int);
149 vtkGetMacro(ColorMode, int);
153 void SetColorModeToUniformColor() // both cells and points are colored
154 {
156 }
157 void SetColorModeToOff() // No color information is written
158 {
160 }
161
162
164
168 vtkSetMacro(EnableAlpha, bool);
169 vtkGetMacro(EnableAlpha, bool);
170 vtkBooleanMacro(EnableAlpha, bool);
172
174
177 vtkSetStringMacro(ArrayName);
178 vtkGetStringMacro(ArrayName);
180
182
185 vtkSetClampMacro(Component, int, 0, VTK_INT_MAX);
186 vtkGetMacro(Component, int);
188
190
195 vtkGetObjectMacro(LookupTable, vtkScalarsToColors);
197
199
205 vtkSetVector3Macro(Color, unsigned char);
206 vtkGetVector3Macro(Color, unsigned char);
208
210
213 vtkSetMacro(Alpha, unsigned char);
214 vtkGetMacro(Alpha, unsigned char);
216
218
224
226
232
234
237 vtkSetClampMacro(FileType, int, VTK_ASCII, VTK_BINARY);
238 vtkGetMacro(FileType, int);
242
244
251 vtkGetMacro(TextureCoordinatesName, int);
259
263 void AddComment(const std::string& comment);
264
265protected:
267 ~vtkPLYWriter() override;
268
269 void WriteData() override;
273
279 unsigned char Color[3];
280
282 unsigned char Alpha;
283
284 char* FileName;
285
288
290
291 // Whether this object is writing to a string or a file.
292 // Default is 0: write to file.
294
296
297 // The output string.
298 std::string OutputString;
299
300 int FillInputPortInformation(int port, vtkInformation* info) override;
301
302private:
303 vtkPLYWriter(const vtkPLYWriter&) = delete;
304 void operator=(const vtkPLYWriter&) = delete;
305};
306
307VTK_ABI_NAMESPACE_END
308#endif
represent and manipulate attribute data in a dataset
a simple class to control print indentation
Definition vtkIndent.h:108
Store vtkAlgorithm input/output information.
virtual void SetColorMode(int)
These methods enable the user to control how to add color into the PLY output file.
void SetDataByteOrderToLittleEndian()
If the file type is binary, then the user can specify which byte order to use (little versus big endi...
vtkSetFilePathMacro(FileName)
Specify file name of vtk polygon data file to write.
void SetColorModeToUniformCellColor()
These methods enable the user to control how to add color into the PLY output file.
void SetFileTypeToASCII()
Specify file type (ASCII or BINARY) for vtk data file.
void SetColorModeToUniformColor()
These methods enable the user to control how to add color into the PLY output file.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
void SetFileTypeToBinary()
Specify file type (ASCII or BINARY) for vtk data file.
void SetDataByteOrderToBigEndian()
If the file type is binary, then the user can specify which byte order to use (little versus big endi...
const std::string & GetOutputString() const
Enable writing to an OutputString instead of the default, a file.
vtkGetFilePathMacro(FileName)
Specify file name of vtk polygon data file to write.
vtkPolyData * GetInput(int port)
Get the input to this writer.
void AddComment(const std::string &comment)
Add a comment in the header part.
const float * GetTextureCoordinates(vtkIdType num, vtkDataSetAttributes *dsa)
vtkPolyData * GetInput()
Get the input to this writer.
virtual void SetDataByteOrder(int)
If the file type is binary, then the user can specify which byte order to use (little versus big endi...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void SetTextureCoordinatesNameToST()
Choose the name used for the texture coordinates.
vtkScalarsToColors * LookupTable
unsigned char Alpha
std::string OutputString
virtual void SetFileType(int)
Specify file type (ASCII or BINARY) for vtk data file.
unsigned char Color[3]
~vtkPLYWriter() override
void SetTextureCoordinatesNameToUV()
Choose the name used for the texture coordinates.
void SetColorModeToDefault()
These methods enable the user to control how to add color into the PLY output file.
void SetColorModeToUniformPointColor()
These methods enable the user to control how to add color into the PLY output file.
const float * GetNormals(vtkIdType num, vtkDataSetAttributes *dsa)
bool WriteToOutputString
void WriteData() override
int TextureCoordinatesName
static vtkPLYWriter * New()
virtual void SetLookupTable(vtkScalarsToColors *)
A lookup table can be specified in order to convert data arrays to RGBA colors.
bool WriteObjectInformation
void SetTextureCoordinatesNameToTextureUV()
Choose the name used for the texture coordinates.
vtkSmartPointer< vtkStringArray > HeaderComments
virtual void SetTextureCoordinatesName(int)
Choose the name used for the texture coordinates.
void SetColorModeToOff()
These methods enable the user to control how to add color into the PLY output file.
vtkSmartPointer< vtkUnsignedCharArray > GetColors(vtkIdType num, vtkDataSetAttributes *dsa)
concrete dataset represents vertices, lines, polygons, and triangle strips
Superclass for mapping scalar values to colors.
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
dynamic, self-adjusting array of unsigned char
#define VTK_LITTLE_ENDIAN
#define VTK_COLOR_MODE_DEFAULT
#define VTK_COLOR_MODE_OFF
#define VTK_COLOR_MODE_UNIFORM_POINT_COLOR
#define VTK_TEXTURECOORDS_ST
#define VTK_TEXTURECOORDS_UV
#define VTK_COLOR_MODE_UNIFORM_COLOR
#define VTK_BIG_ENDIAN
#define VTK_COLOR_MODE_UNIFORM_CELL_COLOR
#define VTK_TEXTURECOORDS_TEXTUREUV
int vtkIdType
Definition vtkType.h:354
#define VTK_INT_MAX
Definition vtkType.h:183
#define VTK_BINARY
Definition vtkWriter.h:33
#define VTK_ASCII
Definition vtkWriter.h:32