VTK  9.3.0
vtkTable.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-FileCopyrightText: Copyright 2008 Sandia Corporation
3 // SPDX-License-Identifier: LicenseRef-BSD-3-Clause-Sandia-USGov
46 #ifndef vtkTable_h
47 #define vtkTable_h
48 
49 #include "vtkCommonDataModelModule.h" // For export macro
50 #include "vtkDataObject.h"
51 
52 VTK_ABI_NAMESPACE_BEGIN
53 class vtkAbstractArray;
55 class vtkVariant;
56 class vtkVariantArray;
57 
58 class VTKCOMMONDATAMODEL_EXPORT vtkTable : public vtkDataObject
59 {
60 public:
61  static vtkTable* New();
62  static vtkTable* ExtendedNew();
63  vtkTypeMacro(vtkTable, vtkDataObject);
64  void PrintSelf(ostream& os, vtkIndent indent) override;
65 
72  void Dump(unsigned int colWidth = 16, int rowLimit = -1);
73 
77  int GetDataObjectType() override { return VTK_TABLE; }
78 
86  unsigned long GetActualMemorySize() override;
87 
89 
92  vtkGetObjectMacro(RowData, vtkDataSetAttributes);
95 
96  //
97  // Row functions
98  //
99 
104 
111 
115  void SqueezeRows();
116 
122 
126  void GetRow(vtkIdType row, vtkVariantArray* values);
127 
131  void SetRow(vtkIdType row, vtkVariantArray* values);
132 
136  void InsertRow(vtkIdType row);
137 
142 
146  vtkIdType InsertNextBlankRow(double default_num_val = 0.0);
147 
153 
157  void RemoveRow(vtkIdType row);
158 
163 
169 
170  //
171  // Column functions
172  //
173 
178 
179  // Get the name of a column of the table.
180  const char* GetColumnName(vtkIdType col);
181 
186 
192 
197 
202 
207 
211  void RemoveColumnByName(const char* name);
212 
217 
222 
223  //
224  // Table single entry functions
225  //
226 
234 
238  vtkVariant GetValueByName(vtkIdType row, const char* col);
239 
244 
248  void SetValueByName(vtkIdType row, const char* col, vtkVariant value);
249 
253  void Initialize() override;
254 
256 
260  static vtkTable* GetData(vtkInformationVector* v, int i = 0);
262 
264 
267  void ShallowCopy(vtkDataObject* src) override;
268  void DeepCopy(vtkDataObject* src) override;
270 
278 
283 
284 protected:
286  ~vtkTable() override;
287 
292 
297 
303  void MoveRowData(vtkIdType first, vtkIdType last, vtkIdType delta);
304 
305 private:
306  vtkTable(const vtkTable&) = delete;
307  void operator=(const vtkTable&) = delete;
308 };
309 
310 VTK_ABI_NAMESPACE_END
311 #endif
Abstract superclass for all arrays.
general representation of visualization data
Definition: vtkDataObject.h:55
represent and manipulate attribute data in a dataset
represent and manipulate fields of data
Definition: vtkFieldData.h:52
a simple class to control print indentation
Definition: vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:59
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkVariantArray * GetRow(vtkIdType row)
Get a row of the table as a vtkVariantArray which has one entry for each column.
static vtkTable * New()
static vtkTable * GetData(vtkInformationVector *v, int i=0)
Retrieve the table from vtkInformation.
vtkDataSetAttributes * RowData
Holds the column data of the table.
Definition: vtkTable.h:291
virtual void SetRowData(vtkDataSetAttributes *data)
Get/Set the main data (columns) of the table.
void AddColumn(vtkAbstractArray *arr)
Add a column to the table.
vtkIdType GetNumberOfElements(int type) override
Get the number of elements for a specific attribute type (ROW, etc.).
~vtkTable() override
void InsertColumn(vtkAbstractArray *arr, vtkIdType index)
Insert a column into the table at given column index.
void MoveRowData(vtkIdType first, vtkIdType last, vtkIdType delta)
Move the content of the rows, starting first row and including last row.
vtkIdType GetColumnIndex(const char *name)
Get the column index for a name.
void RemoveRow(vtkIdType row)
Delete a single row from the table.
void InsertRow(vtkIdType row)
Insert a single row at the index.
vtkAbstractArray * GetColumnByName(const char *name)
Get a column of the table by its name.
void DeepCopy(vtkDataObject *src) override
Shallow/deep copy the data from src into this object.
vtkVariant GetValueByName(vtkIdType row, const char *col)
Retrieve a value in the table by row index and column name as a variant.
vtkIdType InsertNextRow(vtkVariantArray *values)
Insert a row at the end of the tablespecified by a vtkVariantArray.
vtkAbstractArray * GetColumn(vtkIdType col)
Get a column of the table by its column index.
vtkIdType GetNumberOfRows()
Get the number of rows in the table.
void SqueezeRows()
Release previously allocated and now unused memory after performing resizing operations.
void Dump(unsigned int colWidth=16, int rowLimit=-1)
Dump table contents.
vtkIdType GetNumberOfColumns()
Get the number of columns in the table.
void SetRow(vtkIdType row, vtkVariantArray *values)
Set a row of the table with a vtkVariantArray which has one entry for each column.
void ShallowCopy(vtkDataObject *src) override
Shallow/deep copy the data from src into this object.
vtkVariant GetValue(vtkIdType row, vtkIdType col)
Retrieve a value in the table by row and column index as a variant.
void RemoveRows(vtkIdType row, vtkIdType n)
Delete n rows from the table, starting at row.
vtkFieldData * GetAttributesAsFieldData(int type) override
Returns the attributes of the data object as a vtkFieldData.
static vtkTable * ExtendedNew()
void GetRow(vtkIdType row, vtkVariantArray *values)
Get a row of the table as a vtkVariantArray which has one entry for each column.
void RemoveAllColumns()
Remove all columns from the table.
void RemoveColumnByName(const char *name)
Remove a column from the table by its name.
vtkVariantArray * RowArray
Holds row information returned by GetRow().
Definition: vtkTable.h:296
const char * GetColumnName(vtkIdType col)
void SetValue(vtkIdType row, vtkIdType col, vtkVariant value)
Set a value in the table by row and column index as a variant.
void SetNumberOfRows(vtkIdType)
Set the number of rows in the table.
void RemoveAllRows()
Delete all rows from the table.
void InsertRows(vtkIdType row, vtkIdType n)
Insert n rows before row.
int GetDataObjectType() override
Return what type of dataset this is.
Definition: vtkTable.h:77
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void Initialize() override
Initialize to an empty table.
static vtkTable * GetData(vtkInformation *info)
Retrieve the table from vtkInformation.
vtkIdType InsertNextBlankRow(double default_num_val=0.0)
Insert a blank row at the end of the table.
void SetValueByName(vtkIdType row, const char *col, vtkVariant value)
Set a value in the table by row index and column name as a variant.
void RemoveColumn(vtkIdType col)
Remove a column from the table by its column index.
An array holding vtkVariants.
A type representing the union of many types.
Definition: vtkVariant.h:53
@ info
Definition: vtkX3D.h:376
@ value
Definition: vtkX3D.h:220
@ type
Definition: vtkX3D.h:516
@ name
Definition: vtkX3D.h:219
@ index
Definition: vtkX3D.h:246
@ data
Definition: vtkX3D.h:315
int vtkIdType
Definition: vtkType.h:315
#define VTK_TABLE
Definition: vtkType.h:84