VTK  9.4.20241124
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
34VTK_ABI_NAMESPACE_BEGIN
35
37
38class VTKIOOCCT_EXPORT vtkOCCTReader : public vtkMultiBlockDataSetAlgorithm
39{
40public:
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
111protected:
113 ~vtkOCCTReader() override;
114
116
117private:
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
132VTK_ABI_NAMESPACE_END
133#endif
a simple class to control print indentation
Definition vtkIndent.h:108
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.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkOCCTReader * New()
#define VTK_DEPRECATED_IN_9_3_0(reason)