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 "vtkWriter.h"
42 
43 class vtkScalarsToColors;
45 
46 #define VTK_LITTLE_ENDIAN 0
47 #define VTK_BIG_ENDIAN 1
48 
49 #define VTK_COLOR_MODE_DEFAULT 0
50 #define VTK_COLOR_MODE_UNIFORM_CELL_COLOR 1
51 #define VTK_COLOR_MODE_UNIFORM_POINT_COLOR 2
52 #define VTK_COLOR_MODE_UNIFORM_COLOR 3
53 #define VTK_COLOR_MODE_OFF 4
54 
55 class vtkPolyData;
56 
58 {
59 public:
60  static vtkPLYWriter *New();
61  vtkTypeMacro(vtkPLYWriter,vtkWriter);
62  void PrintSelf(ostream& os, vtkIndent indent);
63 
65 
67  vtkSetClampMacro(DataByteOrder,int,VTK_LITTLE_ENDIAN,VTK_BIG_ENDIAN);
68  vtkGetMacro(DataByteOrder,int);
70  {this->SetDataByteOrder(VTK_BIG_ENDIAN);}
72  {this->SetDataByteOrder(VTK_LITTLE_ENDIAN);}
74 
76 
89  vtkSetMacro(ColorMode,int);
90  vtkGetMacro(ColorMode,int);
92  {this->SetColorMode(VTK_COLOR_MODE_DEFAULT);}
94  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_CELL_COLOR);}
96  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_POINT_COLOR);}
97  void SetColorModeToUniformColor() //both cells and points are colored
98  {this->SetColorMode(VTK_COLOR_MODE_UNIFORM_COLOR);}
99  void SetColorModeToOff() //No color information is written
100  {this->SetColorMode(VTK_COLOR_MODE_OFF);}
102 
104 
105  vtkSetStringMacro(ArrayName);
106  vtkGetStringMacro(ArrayName);
108 
110 
111  vtkSetClampMacro(Component,int,0,VTK_INT_MAX);
112  vtkGetMacro(Component,int);
114 
116 
118  virtual void SetLookupTable(vtkScalarsToColors*);
119  vtkGetObjectMacro(LookupTable,vtkScalarsToColors);
121 
123 
127  vtkSetVector3Macro(Color,unsigned char);
128  vtkGetVector3Macro(Color,unsigned char);
130 
132 
134  vtkPolyData* GetInput(int port);
136 
138 
139  vtkSetStringMacro(FileName);
140  vtkGetStringMacro(FileName);
142 
144 
145  vtkSetClampMacro(FileType,int,VTK_ASCII,VTK_BINARY);
146  vtkGetMacro(FileType,int);
147  void SetFileTypeToASCII() {this->SetFileType(VTK_ASCII);};
148  void SetFileTypeToBinary() {this->SetFileType(VTK_BINARY);};
150 
151 protected:
152  vtkPLYWriter();
153  ~vtkPLYWriter();
154 
155  void WriteData();
156  unsigned char *GetColors(vtkIdType num, vtkDataSetAttributes *dsa);
157 
159  char *ArrayName;
163  unsigned char Color[3];
164 
165  char* FileName;
166 
167  int FileType;
168 
170 
171 private:
172  vtkPLYWriter(const vtkPLYWriter&); // Not implemented.
173  void operator=(const vtkPLYWriter&); // Not implemented.
174 };
175 
176 #endif
177 
vtkScalarsToColors * LookupTable
Definition: vtkPLYWriter.h:162
#define VTK_COLOR_MODE_OFF
Definition: vtkPLYWriter.h:53
Store vtkAlgorithm input/output information.
void SetFileTypeToBinary()
Definition: vtkPLYWriter.h:148
#define VTK_INT_MAX
Definition: vtkType.h:132
void SetDataByteOrderToBigEndian()
Definition: vtkPLYWriter.h:69
write Stanford PLY file format
Definition: vtkPLYWriter.h:57
int vtkIdType
Definition: vtkType.h:275
concrete dataset represents vertices, lines, polygons, and triangle strips
Definition: vtkPolyData.h:83
#define VTK_ASCII
Definition: vtkWriter.h:41
#define VTK_COLOR_MODE_UNIFORM_POINT_COLOR
Definition: vtkPLYWriter.h:51
Superclass for mapping scalar values to colors.
abstract class to write data to file(s)
Definition: vtkWriter.h:44
#define VTK_BIG_ENDIAN
Definition: vtkPLYWriter.h:47
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkDataObject * GetInput()
void SetColorModeToOff()
Definition: vtkPLYWriter.h:99
void SetFileTypeToASCII()
Definition: vtkPLYWriter.h:147
#define VTK_BINARY
Definition: vtkWriter.h:42
#define VTK_COLOR_MODE_UNIFORM_COLOR
Definition: vtkPLYWriter.h:52
represent and manipulate attribute data in a dataset
void SetColorModeToUniformPointColor()
Definition: vtkPLYWriter.h:95
virtual int FillInputPortInformation(int port, vtkInformation *info)
#define VTK_LITTLE_ENDIAN
Definition: vtkPLYWriter.h:46
void SetColorModeToUniformCellColor()
Definition: vtkPLYWriter.h:93
char * FileName
Definition: vtkPLYWriter.h:165
#define VTK_COLOR_MODE_DEFAULT
Definition: vtkPLYWriter.h:49
void SetDataByteOrderToLittleEndian()
Definition: vtkPLYWriter.h:71
void SetColorModeToUniformColor()
Definition: vtkPLYWriter.h:97
static vtkAlgorithm * New()
virtual void WriteData()=0
void SetColorModeToDefault()
Definition: vtkPLYWriter.h:91
#define VTKIOPLY_EXPORT
void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_COLOR_MODE_UNIFORM_CELL_COLOR
Definition: vtkPLYWriter.h:50
char * ArrayName
Definition: vtkPLYWriter.h:159