VTK  9.3.20240419
vtkCGMWriter.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
29 #ifndef vtkCGMWriter_h
30 #define vtkCGMWriter_h
31 
32 #include "vtkIOGeometryModule.h" // For export macro
33 #include "vtkPolyDataWriter.h"
34 
35 VTK_ABI_NAMESPACE_BEGIN
36 class vtkViewport;
37 
38 #define VTK_COLOR_MODE_DEFAULT 0
39 #define VTK_COLOR_MODE_SPECIFIED_COLOR 1
40 #define VTK_COLOR_MODE_RANDOM_COLORS 2
41 
42 class VTKIOGEOMETRY_EXPORT vtkCGMWriter : public vtkPolyDataWriter
43 {
44 public:
49  static vtkCGMWriter* New();
50 
52  void PrintSelf(ostream& os, vtkIndent indent);
53 
55 
61  virtual void SetViewport(vtkViewport*);
62  vtkGetObjectMacro(Viewport, vtkViewport);
64 
66 
71  vtkSetMacro(Sort, int);
72  vtkGetMacro(Sort, int);
74 
76 
80  vtkSetClampMacro(Resolution, int, 100, VTK_INT_MAX);
81  vtkGetMacro(Resolution, int);
83 
85 
95  vtkSetMacro(ColorMode, int);
96  vtkGetMacro(ColorMode, int);
97  void SetColorModeToDefault() { this->SetColorMode(VTK_COLOR_MODE_DEFAULT); }
101 
103 
111  vtkSetVector3Macro(SpecifiedColor, float);
112  vtkGetVectorMacro(SpecifiedColor, float, 3);
114 
115 protected:
117  ~vtkCGMWriter() override;
118  void WriteData();
119 
122  float SpecifiedColor[3];
124  int Sort;
125 
126 private:
127  vtkCGMWriter(const vtkCGMWriter&) = delete;
128  void operator=(const vtkCGMWriter&) = delete;
129 };
130 
131 VTK_ABI_NAMESPACE_END
132 #endif
write polygonal data as a CGM file
Definition: vtkCGMWriter.h:43
static vtkCGMWriter * New()
Instantiate with no viewport defined and sorting on.
~vtkCGMWriter() override
void SetColorModeToDefault()
Control how output polydata is colored.
Definition: vtkCGMWriter.h:97
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SetColorModeToSpecifiedColor()
Control how output polydata is colored.
Definition: vtkCGMWriter.h:98
void WriteData()
vtkViewport * Viewport
Definition: vtkCGMWriter.h:120
virtual void SetViewport(vtkViewport *)
Specify a vtkViewport object to be used to transform the vtkPolyData points into 2D coordinates.
void SetColorModeToRandomColors()
Control how output polydata is colored.
Definition: vtkCGMWriter.h:99
a simple class to control print indentation
Definition: vtkIndent.h:108
write vtk polygonal data
abstract specification for Viewports
Definition: vtkViewport.h:65
void Sort(RandomIt bitr, RandomIt eitr, BackToFront< T > &me)
#define VTK_COLOR_MODE_DEFAULT
Definition: vtkCGMWriter.h:38
#define VTK_COLOR_MODE_SPECIFIED_COLOR
Definition: vtkCGMWriter.h:39
#define VTK_COLOR_MODE_RANDOM_COLORS
Definition: vtkCGMWriter.h:40
#define VTK_INT_MAX
Definition: vtkType.h:144