VTK  9.2.6
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 class vtkAbstractArray;
179 class vtkVariant;
180 class vtkVariantArray;
181 
182 class VTKCOMMONDATAMODEL_EXPORT vtkTable : public vtkDataObject
183 {
184 public:
185  static vtkTable* New();
187  vtkTypeMacro(vtkTable, vtkDataObject);
188  void PrintSelf(ostream& os, vtkIndent indent) override;
189 
196  void Dump(unsigned int colWidth = 16, int rowLimit = -1);
197 
201  int GetDataObjectType() override { return VTK_TABLE; }
202 
210  unsigned long GetActualMemorySize() override;
211 
213 
216  vtkGetObjectMacro(RowData, vtkDataSetAttributes);
219 
220  //
221  // Row functions
222  //
223 
228 
235 
239  void SqueezeRows();
240 
246 
250  void GetRow(vtkIdType row, vtkVariantArray* values);
251 
255  void SetRow(vtkIdType row, vtkVariantArray* values);
256 
260  void InsertRow(vtkIdType row);
261 
266 
270  vtkIdType InsertNextBlankRow(double default_num_val = 0.0);
271 
277 
281  void RemoveRow(vtkIdType row);
282 
287 
293 
294  //
295  // Column functions
296  //
297 
302 
303  // Get the name of a column of the table.
304  const char* GetColumnName(vtkIdType col);
305 
310 
316 
321 
326 
331 
335  void RemoveColumnByName(const char* name);
336 
341 
346 
347  //
348  // Table single entry functions
349  //
350 
358 
362  vtkVariant GetValueByName(vtkIdType row, const char* col);
363 
368 
372  void SetValueByName(vtkIdType row, const char* col, vtkVariant value);
373 
377  void Initialize() override;
378 
380 
384  static vtkTable* GetData(vtkInformationVector* v, int i = 0);
386 
388 
391  void ShallowCopy(vtkDataObject* src) override;
392  void DeepCopy(vtkDataObject* src) override;
394 
402 
407 
408 protected:
410  ~vtkTable() override;
411 
416 
421 
427  void MoveRowData(vtkIdType first, vtkIdType last, vtkIdType delta);
428 
429 private:
430  vtkTable(const vtkTable&) = delete;
431  void operator=(const vtkTable&) = delete;
432 };
433 
434 #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:172
a simple class to control print indentation
Definition: vtkIndent.h:119
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition: vtkTable.h:183
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:415
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:420
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:201
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:149
@ info
Definition: vtkX3D.h:382
@ value
Definition: vtkX3D.h:226
@ type
Definition: vtkX3D.h:522
@ name
Definition: vtkX3D.h:225
@ index
Definition: vtkX3D.h:252
@ data
Definition: vtkX3D.h:321
int vtkIdType
Definition: vtkType.h:332
#define VTK_TABLE
Definition: vtkType.h:96