VTK  9.4.20250208
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 "vtkIOOCCTModule.h" // For export macro
30
31#include <memory> // For std::unique_ptr
32
33VTK_ABI_NAMESPACE_BEGIN
34
36
37class VTKIOOCCT_EXPORT vtkOCCTReader : public vtkMultiBlockDataSetAlgorithm
38{
39public:
40 static vtkOCCTReader* New();
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
44 enum Format : unsigned int
45 {
47 IGES
48 };
49
51
56 vtkSetClampMacro(FileFormat, unsigned int, Format::STEP, Format::IGES);
58
60
65 vtkGetMacro(LinearDeflection, double);
66 vtkSetMacro(LinearDeflection, double);
68
70
75 vtkGetMacro(AngularDeflection, double);
76 vtkSetMacro(AngularDeflection, double);
78
80
85 vtkGetMacro(RelativeDeflection, bool);
86 vtkSetMacro(RelativeDeflection, bool);
87 vtkBooleanMacro(RelativeDeflection, bool);
89
91
95 vtkGetMacro(ReadWire, bool);
96 vtkSetMacro(ReadWire, bool);
97 vtkBooleanMacro(ReadWire, bool);
99
101
107
108protected:
110 ~vtkOCCTReader() override;
111
113
114private:
115 vtkOCCTReader(const vtkOCCTReader&) = delete;
116 void operator=(const vtkOCCTReader&) = delete;
117
118 class vtkInternals;
119 std::unique_ptr<vtkInternals> Internals;
120
121 double LinearDeflection = 0.1;
122 double AngularDeflection = 0.5;
123 bool RelativeDeflection = false;
124 bool ReadWire = false;
125 unsigned int FileFormat = Format::STEP;
126 char* FileName = nullptr;
127};
128
129VTK_ABI_NAMESPACE_END
130#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.
vtkGetFilePathMacro(FileName)
Get/Set the file name.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetFilePathMacro(FileName)
Get/Set the file name.
static vtkOCCTReader * New()
~vtkOCCTReader() override
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.