VTK  9.4.20241117
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
155#ifndef vtkTable_h
156#define vtkTable_h
157
158#include "vtkCommonDataModelModule.h" // For export macro
159#include "vtkDataObject.h"
160#include "vtkWrappingHints.h" // For VTK_MARSHALMANUAL
161
162VTK_ABI_NAMESPACE_BEGIN
163class vtkAbstractArray;
165class vtkVariant;
166class vtkVariantArray;
167
168class VTKCOMMONDATAMODEL_EXPORT VTK_MARSHALMANUAL vtkTable : public vtkDataObject
169{
170public:
171 static vtkTable* New();
173 vtkTypeMacro(vtkTable, vtkDataObject);
174 void PrintSelf(ostream& os, vtkIndent indent) override;
175
182 void Dump(unsigned int colWidth = 16, int rowLimit = -1);
183
187 int GetDataObjectType() override { return VTK_TABLE; }
188
196 unsigned long GetActualMemorySize() override;
197
199
202 vtkGetObjectMacro(RowData, vtkDataSetAttributes);
203 virtual void SetRowData(vtkDataSetAttributes* data);
205
206 //
207 // Row functions
208 //
209
214
221
226
232
236 void GetRow(vtkIdType row, vtkVariantArray* values);
237
241 void SetRow(vtkIdType row, vtkVariantArray* values);
242
247
252
256 vtkIdType InsertNextBlankRow(double default_num_val = 0.0);
257
263
268
273
279
280 //
281 // Column functions
282 //
283
288
289 // Get the name of a column of the table.
290 const char* GetColumnName(vtkIdType col);
291
296
301 vtkIdType GetColumnIndex(const char* name);
302
307
312
317
321 void RemoveColumnByName(const char* name);
322
327
332
333 //
334 // Table single entry functions
335 //
336
344
348 vtkVariant GetValueByName(vtkIdType row, const char* col);
349
353 void SetValue(vtkIdType row, vtkIdType col, vtkVariant value);
354
358 void SetValueByName(vtkIdType row, const char* col, vtkVariant value);
359
363 void Initialize() override;
364
366
370 static vtkTable* GetData(vtkInformationVector* v, int i = 0);
372
374
377 void ShallowCopy(vtkDataObject* src) override;
378 void DeepCopy(vtkDataObject* src) override;
380
388
392 vtkIdType GetNumberOfElements(int type) override;
393
394protected:
396 ~vtkTable() override;
397
402
407
413 void MoveRowData(vtkIdType first, vtkIdType last, vtkIdType delta);
414
415private:
416 vtkTable(const vtkTable&) = delete;
417 void operator=(const vtkTable&) = delete;
418};
419
420VTK_ABI_NAMESPACE_END
421#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
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
A table, which contains similar-typed columns of data.
Definition vtkTable.h:169
unsigned long GetActualMemorySize() override
Return the actual size of the data in kibibytes (1024 bytes).
vtkDataSetAttributes * RowData
Holds the column data of the table.
Definition vtkTable.h:401
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.
vtkFieldData * GetAttributesAsFieldData(int type) override
Returns the attributes of the data object as a vtkFieldData.
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.
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.
static vtkTable * New()
vtkAbstractArray * GetColumnByName(const char *name)
Get a column of the table by its name.
vtkIdType InsertNextRow(vtkVariantArray *values)
Insert a row at the end of the tablespecified by a vtkVariantArray.
vtkIdType GetNumberOfRows()
Get the number of rows in the table.
static vtkTable * GetData(vtkInformation *info)
Retrieve the table from vtkInformation.
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.
vtkAbstractArray * GetColumn(vtkIdType col)
Get a column of the table by its column index.
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.
static vtkTable * GetData(vtkInformationVector *v, int i=0)
Retrieve the table from vtkInformation.
void RemoveRows(vtkIdType row, vtkIdType n)
Delete n rows from the table, starting at row.
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:406
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:187
vtkVariantArray * GetRow(vtkIdType row)
Get a row of the table as a vtkVariantArray which has one entry for each column.
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.
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.
const char * GetColumnName(vtkIdType col)
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:162
int vtkIdType
Definition vtkType.h:315
#define VTK_TABLE
Definition vtkType.h:84
#define VTK_MARSHALMANUAL