/usr/include/vtk-6.3/vtkPLYWriter.h is in libvtk6-dev 6.3.0+dfsg1-5.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | /*=========================================================================
Program: Visualization Toolkit
Module: vtkPLYWriter.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
// .NAME vtkPLYWriter - write Stanford PLY file format
// .SECTION Description
// vtkPLYWriter writes polygonal data in Stanford University PLY format
// (see http://graphics.stanford.edu/data/3Dscanrep/). The data can be
// written in either binary (little or big endian) or ASCII representation.
// As for PointData and CellData, vtkPLYWriter cannot handle normals or
// vectors. It only handles RGB PointData and CellData. You need to set the
// name of the array (using SetName for the array and SetArrayName for the
// writer). If the array is not a vtkUnsignedCharArray with 3 components,
// you need to specify a vtkLookupTable to map the scalars to RGB.
// .SECTION Caveats
// PLY does not handle big endian versus little endian correctly.
// .SECTION See Also
// vtkPLYReader
#ifndef vtkPLYWriter_h
#define vtkPLYWriter_h
#include "vtkIOPLYModule.h" // For export macro
#include "vtkWriter.h"
class vtkScalarsToColors;
class vtkDataSetAttributes;
#define VTK_LITTLE_ENDIAN 0
#define VTK_BIG_ENDIAN 1
#define VTK_COLOR_MODE_DEFAULT 0
#define VTK_COLOR_MODE_UNIFORM_CELL_COLOR 1
#define VTK_COLOR_MODE_UNIFORM_POINT_COLOR 2
#define VTK_COLOR_MODE_UNIFORM_COLOR 3
#define VTK_COLOR_MODE_OFF 4
class vtkPolyData;
class VTKIOPLY_EXPORT vtkPLYWriter : public vtkWriter
{
public:
static vtkPLYWriter *New();
vtkTypeMacro(vtkPLYWriter,vtkWriter);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// If the file type is binary, then the user can specify which
// byte order to use (little versus big endian).
vtkSetClampMacro(DataByteOrder,int,VTK_LITTLE_ENDIAN,VTK_BIG_ENDIAN);
vtkGetMacro(DataByteOrder,int);
void SetDataByteOrderToBigEndian()
{this->SetDataByteOrder(VTK_BIG_ENDIAN);}
void SetDataByteOrderToLittleEndian()
{this->SetDataByteOrder(VTK_LITTLE_ENDIAN);}
// Description:
// These methods enable the user to control how to add color into the PLY
// output file. The default behavior is as follows. The user provides the
// name of an array and a component number. If the type of the array is
// three components, unsigned char, then the data is written as three
// separate "red", "green" and "blue" properties. If the type is not
// unsigned char, and a lookup table is provided, then the array/component
// are mapped through the table to generate three separate "red", "green"
// and "blue" properties in the PLY file. The user can also set the
// ColorMode to specify a uniform color for the whole part (on a vertex
// colors, face colors, or both. (Note: vertex colors or cell colors may be
// written, depending on where the named array is found. If points and
// cells have the arrays with the same name, then both colors will be
// written.)
vtkSetMacro(ColorMode,int);
vtkGetMacro(ColorMode,int);
void SetColorModeToDefault()
{this->SetColorMode(VTK_COLOR_MODE_DEFAULT);}
void SetColorModeToUniformCellColor()
{this->SetColorMode(VTK_COLOR_MODE_UNIFORM_CELL_COLOR);}
void SetColorModeToUniformPointColor()
{this->SetColorMode(VTK_COLOR_MODE_UNIFORM_POINT_COLOR);}
void SetColorModeToUniformColor() //both cells and points are colored
{this->SetColorMode(VTK_COLOR_MODE_UNIFORM_COLOR);}
void SetColorModeToOff() //No color information is written
{this->SetColorMode(VTK_COLOR_MODE_OFF);}
// Description:
// Specify the array name to use to color the data.
vtkSetStringMacro(ArrayName);
vtkGetStringMacro(ArrayName);
// Description:
// Specify the array component to use to color the data.
vtkSetClampMacro(Component,int,0,VTK_INT_MAX);
vtkGetMacro(Component,int);
// Description:
// A lookup table can be specified in order to convert data arrays to
// RGBA colors.
virtual void SetLookupTable(vtkScalarsToColors*);
vtkGetObjectMacro(LookupTable,vtkScalarsToColors);
// Description:
// Set the color to use when using a uniform color (either point or cells,
// or both). The color is specified as a triplet of three unsigned chars
// between (0,255). This only takes effect when the ColorMode is set to
// uniform point, uniform cell, or uniform color.
vtkSetVector3Macro(Color,unsigned char);
vtkGetVector3Macro(Color,unsigned char);
// Description:
// Get the input to this writer.
vtkPolyData* GetInput();
vtkPolyData* GetInput(int port);
// Description:
// Specify file name of vtk polygon data file to write.
vtkSetStringMacro(FileName);
vtkGetStringMacro(FileName);
// Description:
// Specify file type (ASCII or BINARY) for vtk data file.
vtkSetClampMacro(FileType,int,VTK_ASCII,VTK_BINARY);
vtkGetMacro(FileType,int);
void SetFileTypeToASCII() {this->SetFileType(VTK_ASCII);};
void SetFileTypeToBinary() {this->SetFileType(VTK_BINARY);};
protected:
vtkPLYWriter();
~vtkPLYWriter();
void WriteData();
unsigned char *GetColors(vtkIdType num, vtkDataSetAttributes *dsa);
int DataByteOrder;
char *ArrayName;
int Component;
int ColorMode;
vtkScalarsToColors *LookupTable;
unsigned char Color[3];
char* FileName;
int FileType;
virtual int FillInputPortInformation(int port, vtkInformation *info);
private:
vtkPLYWriter(const vtkPLYWriter&); // Not implemented.
void operator=(const vtkPLYWriter&); // Not implemented.
};
#endif
|