VTK  9.3.0
vtkOCCTReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2019-2021 Kitware SAS
3 // SPDX-FileCopyrightText: Copyright 2021-2022 Michael Migliore, Mathieu Westphal
4 // SPDX-License-Identifier: BSD-3-Clause
24 #ifndef vtkOCCTReader_h
25 #define vtkOCCTReader_h
26 
28 
29 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_3_0
30 #include "vtkIOOCCTModule.h" // For export macro
31 
32 #include <memory> // For std::unique_ptr
33 
34 VTK_ABI_NAMESPACE_BEGIN
35 
37 
38 class VTKIOOCCT_EXPORT vtkOCCTReader : public vtkMultiBlockDataSetAlgorithm
39 {
40 public:
41  static vtkOCCTReader* New();
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
45  enum Format : unsigned int
46  {
48  IGES
49  };
50 
52 
57  VTK_DEPRECATED_IN_9_3_0("Use SetFormat with unsigned int instead.")
58  vtkSetEnumMacro(FileFormat, Format);
59  vtkSetClampMacro(FileFormat, unsigned int, Format::STEP, Format::IGES);
61 
63 
68  vtkGetMacro(LinearDeflection, double);
69  vtkSetMacro(LinearDeflection, double);
71 
73 
78  vtkGetMacro(AngularDeflection, double);
79  vtkSetMacro(AngularDeflection, double);
81 
83 
88  vtkGetMacro(RelativeDeflection, bool);
89  vtkSetMacro(RelativeDeflection, bool);
90  vtkBooleanMacro(RelativeDeflection, bool);
92 
94 
98  vtkGetMacro(ReadWire, bool);
99  vtkSetMacro(ReadWire, bool);
100  vtkBooleanMacro(ReadWire, bool);
102 
104 
107  vtkSetFilePathMacro(FileName);
108  vtkGetFilePathMacro(FileName);
110 
111 protected:
113  ~vtkOCCTReader() override;
114 
116 
117 private:
118  vtkOCCTReader(const vtkOCCTReader&) = delete;
119  void operator=(const vtkOCCTReader&) = delete;
120 
121  class vtkInternals;
122  std::unique_ptr<vtkInternals> Internals;
123 
124  double LinearDeflection = 0.1;
125  double AngularDeflection = 0.5;
126  bool RelativeDeflection = false;
127  bool ReadWire = false;
128  unsigned int FileFormat = Format::STEP;
129  char* FileName = nullptr;
130 };
131 
132 VTK_ABI_NAMESPACE_END
133 #endif
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
VTK Reader for STEP and IGES files using OpenCASCADE.
Definition: vtkOCCTReader.h:39
static vtkOCCTReader * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
#define VTK_DEPRECATED_IN_9_3_0(reason)