VTK
vtkPLYWriter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPLYWriter.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 =========================================================================*/
37 #ifndef vtkPLYWriter_h
38 #define vtkPLYWriter_h
39 
40 #include "vtkIOPLYModule.h" // For export macro
41 #include "vtkSmartPointer.h" // For protected ivars
42 #include "vtkWriter.h"
43 
44 #include <string> // For string parameter
45 
47 class vtkPolyData;
48 class vtkScalarsToColors;
49 class vtkStringArray;
50 
51 #define VTK_LITTLE_ENDIAN 0
52 #define VTK_BIG_ENDIAN 1
53 
54 #define VTK_COLOR_MODE_DEFAULT 0
55 #define VTK_COLOR_MODE_UNIFORM_CELL_COLOR 1
56 #define VTK_COLOR_MODE_UNIFORM_POINT_COLOR 2
57 #define VTK_COLOR_MODE_UNIFORM_COLOR 3
58 #define VTK_COLOR_MODE_OFF 4
59 
60 #define VTK_TEXTURECOORDS_UV 0
61 #define VTK_TEXTURECOORDS_TEXTUREUV 1
62 
64 {
65 public:
66  static vtkPLYWriter *New();
67  vtkTypeMacro(vtkPLYWriter,vtkWriter);
68  void PrintSelf(ostream& os, vtkIndent indent);
69 
71 
73  vtkSetClampMacro(DataByteOrder,int,VTK_LITTLE_ENDIAN,VTK_BIG_ENDIAN);
74  vtkGetMacro(DataByteOrder,int);
76  {this->SetDataByteOrder(VTK_BIG_ENDIAN);}
78  {this->SetDataByteOrder(VTK_LITTLE_ENDIAN);}
80 
82 
95  vtkSetMacro(ColorMode,int);
96  vtkGetMacro(ColorMode,int);
98  {this->SetColorMode(VTK_COLOR_MODE_DEFAULT);}
100  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_CELL_COLOR);}
102  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_POINT_COLOR);}
103  void SetColorModeToUniformColor() //both cells and points are colored
104  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_COLOR);}
105  void SetColorModeToOff() //No color information is written
106  {this->SetColorMode(VTK_COLOR_MODE_OFF);}
108 
110 
111  vtkSetStringMacro(ArrayName);
112  vtkGetStringMacro(ArrayName);
114 
116 
117  vtkSetClampMacro(Component,int,0,VTK_INT_MAX);
118  vtkGetMacro(Component,int);
120 
122 
124  virtual void SetLookupTable(vtkScalarsToColors*);
125  vtkGetObjectMacro(LookupTable,vtkScalarsToColors);
127 
129 
133  vtkSetVector3Macro(Color,unsigned char);
134  vtkGetVector3Macro(Color,unsigned char);
136 
138 
140  vtkPolyData* GetInput(int port);
142 
144 
145  vtkSetStringMacro(FileName);
146  vtkGetStringMacro(FileName);
148 
150 
151  vtkSetClampMacro(FileType,int,VTK_ASCII,VTK_BINARY);
152  vtkGetMacro(FileType,int);
153  void SetFileTypeToASCII() {this->SetFileType(VTK_ASCII);};
154  void SetFileTypeToBinary() {this->SetFileType(VTK_BINARY);};
156 
158 
160  vtkSetClampMacro(TextureCoordinatesName,int,VTK_TEXTURECOORDS_UV, VTK_TEXTURECOORDS_TEXTUREUV);
161  vtkGetMacro(TextureCoordinatesName,int);
163  {this->SetTextureCoordinatesName(VTK_TEXTURECOORDS_UV);}
165  {this->SetTextureCoordinatesName(VTK_TEXTURECOORDS_TEXTUREUV);}
167 
169  void AddComment(const std::string &comment);
170 
171 protected:
172  vtkPLYWriter();
173  ~vtkPLYWriter();
174 
175  void WriteData();
176  unsigned char *GetColors(vtkIdType num, vtkDataSetAttributes *dsa);
177  const float *GetTextureCoordinates(vtkIdType num, vtkDataSetAttributes *dsa);
178 
180  char *ArrayName;
184  unsigned char Color[3];
185 
186  char* FileName;
187 
188  int FileType;
190 
192 
194 
195 private:
196  vtkPLYWriter(const vtkPLYWriter&); // Not implemented.
197  void operator=(const vtkPLYWriter&); // Not implemented.
198 };
199 
200 #endif
201 
vtkScalarsToColors * LookupTable
Definition: vtkPLYWriter.h:183
#define VTK_COLOR_MODE_OFF
Definition: vtkPLYWriter.h:58
void SetTextureCoordinatesNameToTextureUV()
Definition: vtkPLYWriter.h:164
Store vtkAlgorithm input/output information.
void SetFileTypeToBinary()
Definition: vtkPLYWriter.h:154
#define VTK_INT_MAX
Definition: vtkType.h:130
void SetDataByteOrderToBigEndian()
Definition: vtkPLYWriter.h:75
write Stanford PLY file format
Definition: vtkPLYWriter.h:63
a vtkAbstractArray subclass for strings
int vtkIdType
Definition: vtkType.h:247
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:84
#define VTK_ASCII
Definition: vtkWriter.h:41
#define VTK_COLOR_MODE_UNIFORM_POINT_COLOR
Definition: vtkPLYWriter.h:56
int TextureCoordinatesName
Definition: vtkPLYWriter.h:189
vtkSmartPointer< vtkStringArray > HeaderComments
Definition: vtkPLYWriter.h:191
Superclass for mapping scalar values to colors.
void SetTextureCoordinatesNameToUV()
Definition: vtkPLYWriter.h:162
abstract class to write data to file(s)
Definition: vtkWriter.h:44
#define VTK_BIG_ENDIAN
Definition: vtkPLYWriter.h:52
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkDataObject * GetInput()
void SetColorModeToOff()
Definition: vtkPLYWriter.h:105
void SetFileTypeToASCII()
Definition: vtkPLYWriter.h:153
#define VTK_BINARY
Definition: vtkWriter.h:42
#define VTK_COLOR_MODE_UNIFORM_COLOR
Definition: vtkPLYWriter.h:57
represent and manipulate attribute data in a dataset
void SetColorModeToUniformPointColor()
Definition: vtkPLYWriter.h:101
#define VTK_TEXTURECOORDS_UV
Definition: vtkPLYWriter.h:60
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTK_LITTLE_ENDIAN
Definition: vtkPLYWriter.h:51
void SetColorModeToUniformCellColor()
Definition: vtkPLYWriter.h:99
char * FileName
Definition: vtkPLYWriter.h:186
#define VTK_COLOR_MODE_DEFAULT
Definition: vtkPLYWriter.h:54
void SetDataByteOrderToLittleEndian()
Definition: vtkPLYWriter.h:77
#define VTK_TEXTURECOORDS_TEXTUREUV
Definition: vtkPLYWriter.h:61
void SetColorModeToUniformColor()
Definition: vtkPLYWriter.h:103
static vtkAlgorithm * New()
virtual void WriteData()=0
void SetColorModeToDefault()
Definition: vtkPLYWriter.h:97
#define VTKIOPLY_EXPORT
void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_COLOR_MODE_UNIFORM_CELL_COLOR
Definition: vtkPLYWriter.h:55
char * ArrayName
Definition: vtkPLYWriter.h:180