00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00053 #ifndef __vtkTable_h
00054 #define __vtkTable_h
00055
00056 #include "vtkDataObject.h"
00057
00058 class vtkAbstractArray;
00059 class vtkDataSetAttributes;
00060 class vtkVariant;
00061 class vtkVariantArray;
00062
00063 class VTK_FILTERING_EXPORT vtkTable : public vtkDataObject
00064 {
00065 public:
00066 static vtkTable* New();
00067 vtkTypeRevisionMacro(vtkTable, vtkDataObject);
00068 void PrintSelf(ostream &os, vtkIndent indent);
00069
00071 void Dump( unsigned int colWidth = 16 );
00072
00074 int GetDataObjectType() {return VTK_TABLE;}
00075
00081 virtual unsigned long GetActualMemorySize();
00082
00084
00085 vtkGetObjectMacro(RowData, vtkDataSetAttributes);
00086 virtual void SetRowData(vtkDataSetAttributes* data);
00088
00089
00090
00091
00092
00094 vtkIdType GetNumberOfRows();
00095
00099 void SetNumberOfRows(const vtkIdType );
00100
00103 vtkVariantArray* GetRow(vtkIdType row);
00104
00107 void GetRow(vtkIdType row, vtkVariantArray *values);
00108
00111 void SetRow(vtkIdType row, vtkVariantArray *values);
00112
00114 vtkIdType InsertNextBlankRow(double default_num_val=0.0);
00115
00118 vtkIdType InsertNextRow(vtkVariantArray* arr);
00119
00122 void RemoveRow(vtkIdType row);
00123
00124
00125
00126
00127
00129 vtkIdType GetNumberOfColumns();
00130
00131
00132 const char* GetColumnName(vtkIdType col);
00133
00135 vtkAbstractArray* GetColumnByName(const char* name);
00136
00138 vtkAbstractArray* GetColumn(vtkIdType col);
00139
00141 void AddColumn(vtkAbstractArray* arr);
00142
00144 void RemoveColumnByName(const char* name);
00145
00147 void RemoveColumn(vtkIdType col);
00148
00149
00150
00151
00152
00153
00158 vtkVariant GetValue(vtkIdType row, vtkIdType col);
00159
00162 vtkVariant GetValueByName(vtkIdType row, const char* col);
00163
00165 void SetValue(vtkIdType row, vtkIdType col, vtkVariant value);
00166
00168
00169 void SetValueByName(vtkIdType row, const char* col, vtkVariant value);
00170
00172
00174 virtual void Initialize();
00175
00177
00178 static vtkTable* GetData(vtkInformation* info);
00179 static vtkTable* GetData(vtkInformationVector* v, int i=0);
00181
00183
00184 virtual void ShallowCopy(vtkDataObject* src);
00185 virtual void DeepCopy(vtkDataObject* src);
00187
00192 virtual vtkFieldData* GetAttributesAsFieldData(int type);
00193
00195 virtual vtkIdType GetNumberOfElements(int type);
00196
00197 protected:
00198 vtkTable();
00199 ~vtkTable();
00200
00202 vtkDataSetAttributes* RowData;
00203
00205 vtkVariantArray* RowArray;
00206
00207 private:
00208 vtkTable(const vtkTable&);
00209 void operator=(const vtkTable&);
00210 };
00211
00212 #endif
00213