File: vtkTableToPolyData.h

package info (click to toggle)
vtk9 9.5.2%2Bdfsg3-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 205,992 kB
  • sloc: cpp: 2,336,570; ansic: 327,116; python: 111,200; yacc: 4,104; java: 3,977; sh: 3,032; xml: 2,771; perl: 2,189; lex: 1,787; makefile: 185; javascript: 165; objc: 153; tcl: 59
file content (158 lines) | stat: -rw-r--r-- 4,170 bytes parent folder | download | duplicates (3)
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