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 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158
|
// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
// SPDX-License-Identifier: BSD-3-Clause
/**
* @class vtkTableToPolyData
* @brief filter used to convert a vtkTable to a vtkPolyData
* consisting of vertices.
*
* vtkTableToPolyData is a filter used to convert a vtkTable to a vtkPolyData
* consisting of vertices.
*/
#ifndef vtkTableToPolyData_h
#define vtkTableToPolyData_h
#include "vtkFiltersGeneralModule.h" // For export macro
#include "vtkPolyDataAlgorithm.h"
VTK_ABI_NAMESPACE_BEGIN
class VTKFILTERSGENERAL_EXPORT vtkTableToPolyData : public vtkPolyDataAlgorithm
{
public:
static vtkTableToPolyData* New();
vtkTypeMacro(vtkTableToPolyData, vtkPolyDataAlgorithm);
void PrintSelf(ostream& os, vtkIndent indent) override;
///@{
/**
* Set the name of the column to use as the X coordinate for the points.
*/
vtkSetStringMacro(XColumn);
vtkGetStringMacro(XColumn);
///@}
///@{
/**
* Set the index of the column to use as the X coordinate for the points.
*/
vtkSetClampMacro(XColumnIndex, int, 0, VTK_INT_MAX);
vtkGetMacro(XColumnIndex, int);
///@}
///@{
/**
* Specify the component for the column specified using SetXColumn() to
* use as the xcoordinate in case the column is a multi-component array.
* Default is 0.
*/
vtkSetClampMacro(XComponent, int, 0, VTK_INT_MAX);
vtkGetMacro(XComponent, int);
///@}
///@{
/**
* Set the name of the column to use as the Y coordinate for the points.
* Default is 0.
*/
vtkSetStringMacro(YColumn);
vtkGetStringMacro(YColumn);
///@}
///@{
/**
* Set the index of the column to use as the Y coordinate for the points.
*/
vtkSetClampMacro(YColumnIndex, int, 0, VTK_INT_MAX);
vtkGetMacro(YColumnIndex, int);
///@}
///@{
/**
* Specify the component for the column specified using SetYColumn() to
* use as the Ycoordinate in case the column is a multi-component array.
*/
vtkSetClampMacro(YComponent, int, 0, VTK_INT_MAX);
vtkGetMacro(YComponent, int);
///@}
///@{
/**
* Set the name of the column to use as the Z coordinate for the points.
* Default is 0.
*/
vtkSetStringMacro(ZColumn);
vtkGetStringMacro(ZColumn);
///@}
///@{
/**
* Set the index of the column to use as the Z coordinate for the points.
*/
vtkSetClampMacro(ZColumnIndex, int, 0, VTK_INT_MAX);
vtkGetMacro(ZColumnIndex, int);
///@}
///@{
/**
* Specify the component for the column specified using SetZColumn() to
* use as the Zcoordinate in case the column is a multi-component array.
*/
vtkSetClampMacro(ZComponent, int, 0, VTK_INT_MAX);
vtkGetMacro(ZComponent, int);
///@}
///@{
/**
* Specify whether the points of the polydata are 3D or 2D. If this is set to
* true then the Z Column will be ignored and the z value of each point on the
* polydata will be set to 0. By default this will be off.
*/
vtkSetMacro(Create2DPoints, bool);
vtkGetMacro(Create2DPoints, bool);
vtkBooleanMacro(Create2DPoints, bool);
///@}
///@{
/**
* Allow user to keep columns specified as X,Y,Z as Data arrays.
* By default this will be off.
*/
vtkSetMacro(PreserveCoordinateColumnsAsDataArrays, bool);
vtkGetMacro(PreserveCoordinateColumnsAsDataArrays, bool);
vtkBooleanMacro(PreserveCoordinateColumnsAsDataArrays, bool);
///@}
protected:
vtkTableToPolyData();
~vtkTableToPolyData() override;
/**
* Overridden to specify that input must be a vtkTable.
*/
int FillInputPortInformation(int port, vtkInformation* info) override;
/**
* Convert input vtkTable to vtkPolyData.
*/
int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
vtkInformationVector* outputVector) override;
char* XColumn;
char* YColumn;
char* ZColumn;
int XColumnIndex;
int YColumnIndex;
int ZColumnIndex;
int XComponent;
int YComponent;
int ZComponent;
bool Create2DPoints;
bool PreserveCoordinateColumnsAsDataArrays;
private:
vtkTableToPolyData(const vtkTableToPolyData&) = delete;
void operator=(const vtkTableToPolyData&) = delete;
};
VTK_ABI_NAMESPACE_END
#endif
|