VTK  9.2.20230205
vtkTable.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTable.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright 2008 Sandia Corporation.
17  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
18  the U.S. Government retains certain rights in this software.
19 -------------------------------------------------------------------------*/
171 #ifndef vtkTable_h
172 #define vtkTable_h
173 
174 #include "vtkCommonDataModelModule.h" // For export macro
175 #include "vtkDataObject.h"
176 
177 VTK_ABI_NAMESPACE_BEGIN
178 class vtkAbstractArray;
180 class vtkVariant;
181 class vtkVariantArray;
182 
183 class VTKCOMMONDATAMODEL_EXPORT vtkTable : public vtkDataObject
184 {
185 public:
186  static vtkTable* New();
188  vtkTypeMacro(vtkTable, vtkDataObject);
189  void PrintSelf(ostream& os, vtkIndent indent) override;
190 
197  void Dump(unsigned int colWidth = 16, int rowLimit = -1);
198 
202  int GetDataObjectType() override { return VTK_TABLE; }
203 
211  unsigned long GetActualMemorySize() override;
212 
214 
217  vtkGetObjectMacro(RowData, vtkDataSetAttributes);
220 
221  //
222  // Row functions
223  //
224 
229 
236 
240  void SqueezeRows();
241 
247 
251  void GetRow(vtkIdType row, vtkVariantArray* values);
252 
256  void SetRow(vtkIdType row, vtkVariantArray* values);
257 
261  void InsertRow(vtkIdType row);
262 
267 
271  vtkIdType InsertNextBlankRow(double default_num_val = 0.0);
272 
278 
282  void RemoveRow(vtkIdType row);
283 
288 
294 
295  //
296  // Column functions
297  //
298 
303 
304  // Get the name of a column of the table.
305  const char* GetColumnName(vtkIdType col);
306 
311 
317 
322 
327 
332 
336  void RemoveColumnByName(const char* name);
337 
342 
347 
348  //
349  // Table single entry functions
350  //
351 
359 
363  vtkVariant GetValueByName(vtkIdType row, const char* col);
364 
369 
373  void SetValueByName(vtkIdType row, const char* col, vtkVariant value);
374 
378  void Initialize() override;
379 
381 
385  static vtkTable* GetData(vtkInformationVector* v, int i = 0);
387 
389 
392  void ShallowCopy(vtkDataObject* src) override;
393  void DeepCopy(vtkDataObject* src) override;
395 
403 
408 
409 protected:
411  ~vtkTable() override;
412 
417 
422 
428  void MoveRowData(vtkIdType first, vtkIdType last, vtkIdType delta);
429 
430 private:
431  vtkTable(const vtkTable&) = delete;
432  void operator=(const vtkTable&) = delete;
433 };
434 
435 VTK_ABI_NAMESPACE_END
436 #endif
Abstract superclass for all arrays.
general representation of visualization data
represent and manipulate attribute data in a dataset
represent and manipulate fields of data
Definition: vtkFieldData.h:173
a simple class to control print indentation
Definition: vtkIndent.h:120
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:184
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:416
virtual void SetRowData(vtkDataSetAttributes *data)
Get/Set the main data (columns) of the table.
void AddColumn(vtkAbstractArray *arr)
Add a column to the table.
void SetNumberOfRows(const vtkIdType)
Set the number of rows in 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:421
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 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:202
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 atomic type representing the union of many types.
Definition: vtkVariant.h:150
@ info
Definition: vtkX3D.h:388
@ value
Definition: vtkX3D.h:232
@ type
Definition: vtkX3D.h:528
@ name
Definition: vtkX3D.h:231
@ index
Definition: vtkX3D.h:258
@ data
Definition: vtkX3D.h:327
int vtkIdType
Definition: vtkType.h:327
#define VTK_TABLE
Definition: vtkType.h:96