1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
/**
* @class vtkPTSReader
* @brief Read ASCII PTS Files.
*
* vtkPTSReader reads either a text file of
* points. The first line is the number of points. Point information is
* either x y z intensity or x y z intensity r g b
*/
#ifndef vtkPTSReader_h
#define vtkPTSReader_h
#include "vtkBoundingBox.h" // For Bounding Box Data Member
#include "vtkIOGeometryModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
VTK_ABI_NAMESPACE_BEGIN
class VTKIOGEOMETRY_EXPORT vtkPTSReader : public vtkPolyDataAlgorithm
{
public:
static vtkPTSReader* New();
vtkTypeMacro(vtkPTSReader, vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) override;
///@{
/**
* Specify file name.
*/
void SetFileName(VTK_FILEPATH const char* filename);
vtkGetFilePathMacro(FileName);
///@}
///@{
/**
* Boolean value indicates whether or not to limit points read to a specified
* (ReadBounds) region.
*/
vtkBooleanMacro(LimitReadToBounds, bool);
vtkSetMacro(LimitReadToBounds, bool);
vtkGetMacro(LimitReadToBounds, bool);
///@}
///@{
/**
* Bounds to use if LimitReadToBounds is On
*/
vtkSetVector6Macro(ReadBounds, double);
vtkGetVector6Macro(ReadBounds, double);
///@}
///@{
/**
* The output type defaults to float, but can instead be double.
*/
vtkBooleanMacro(OutputDataTypeIsDouble, bool);
vtkSetMacro(OutputDataTypeIsDouble, bool);
vtkGetMacro(OutputDataTypeIsDouble, bool);
///@}
///@{
/**
* Boolean value indicates whether or not to limit number of points read
* based on MaxNumbeOfPoints.
*/
vtkBooleanMacro(LimitToMaxNumberOfPoints, bool);
vtkSetMacro(LimitToMaxNumberOfPoints, bool);
vtkGetMacro(LimitToMaxNumberOfPoints, bool);
///@}
///@{
/**
* The maximum number of points to load if LimitToMaxNumberOfPoints is on/true.
* Sets a temporary onRatio.
*/
vtkSetClampMacro(MaxNumberOfPoints, vtkIdType, 1, VTK_INT_MAX);
vtkGetMacro(MaxNumberOfPoints, vtkIdType);
///@}
///@{
/**
* Boolean value indicates whether or not to create cells
* for this dataset. Otherwise only points and scalars
* are created. Defaults to true.
*/
vtkBooleanMacro(CreateCells, bool);
vtkSetMacro(CreateCells, bool);
vtkGetMacro(CreateCells, bool);
///@}
///@{
/**
* Boolean value indicates when color values are present
* if luminance should be read in as well
* Defaults to true.
*/
vtkBooleanMacro(IncludeColorAndLuminance, bool);
vtkSetMacro(IncludeColorAndLuminance, bool);
vtkGetMacro(IncludeColorAndLuminance, bool);
///@}
protected:
vtkPTSReader();
~vtkPTSReader() override;
int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
char* FileName;
bool OutputDataTypeIsDouble;
bool LimitReadToBounds;
double ReadBounds[6];
vtkBoundingBox ReadBBox;
bool LimitToMaxNumberOfPoints;
vtkIdType MaxNumberOfPoints;
bool CreateCells;
bool IncludeColorAndLuminance;
private:
vtkPTSReader(const vtkPTSReader&) = delete;
void operator=(const vtkPTSReader&) = delete;
};
VTK_ABI_NAMESPACE_END
#endif
|