VTK
vtkVariantArray.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkVariantArray.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 -------------------------------------------------------------------------*/
33 #ifndef vtkVariantArray_h
34 #define vtkVariantArray_h
35 
36 #include "vtkCommonCoreModule.h" // For export macro
37 #include "vtkAbstractArray.h"
38 #include "vtkVariant.h" // For variant type
39 
40 class vtkVariantArrayLookup;
41 
42 //BTX
44 namespace boost { namespace serialization { class access; } }
45 //ETX
46 
48 {
49 //BTX
52 //ETX
53 
54 public:
55  static vtkVariantArray* New();
57  void PrintSelf(ostream& os, vtkIndent indent);
58 
59  //
60  // Functions required by vtkAbstractArray
61  //
62 
65  virtual int Allocate(vtkIdType sz, vtkIdType ext=1000);
66 
68  virtual void Initialize();
69 
72  virtual int GetDataType();
73 
77  virtual int GetDataTypeSize();
78 
83  virtual int GetElementComponentSize();
84 
87  virtual void SetNumberOfTuples(vtkIdType number);
88 
95 
100 
102 
105  virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
108 
110 
113  virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
116 
121 
124  virtual void *GetVoidPointer(vtkIdType id);
125 
128  virtual void DeepCopy(vtkAbstractArray *da);
129 
131 
135  virtual void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
136  vtkAbstractArray* source, double* weights);
138 
140 
145  virtual void InterpolateTuple(vtkIdType i,
146  vtkIdType id1, vtkAbstractArray* source1,
147  vtkIdType id2, vtkAbstractArray* source2, double t);
149 
152  virtual void Squeeze();
153 
156  virtual int Resize(vtkIdType numTuples);
157 
159 
165  virtual void SetVoidArray(void *arr,
166  vtkIdType size,
167  int save);
169 
176  virtual unsigned long GetActualMemorySize();
177 
180  virtual int IsNumeric();
181 
185 
186  //
187  // Additional functions
188  //
189 
192 
196 
201 
204 
208 
209  //BTX
213 
215 
217  //ETX
219 
224 
226  vtkIdType GetNumberOfValues() { return this->MaxId + 1; }
227 
229 
233 
240  virtual void DataChanged();
241 
245  virtual void DataElementChanged(vtkIdType id);
246 
250  virtual void ClearLookup();
251 
255 
256 protected:
257  // Construct object with default tuple dimension (number of components) of 1.
259 
260  // Pointer to data
261  //BTX
263 
264  // Function to resize data
266  //ETX
267 
269 
270 private:
271  vtkVariantArray(const vtkVariantArray&); // Not implemented.
272  void operator=(const vtkVariantArray&); // Not implemented.
273 
274  vtkVariantArrayLookup* Lookup;
275  void UpdateLookup();
276 };
277 
278 #endif
VTKCOMMONCORE_EXPORT
#define VTKCOMMONCORE_EXPORT
Definition: vtkCommonCoreModule.h:15
vtkVariantArray::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkgl::weights
const GLbyte * weights
Definition: vtkgl.h:12766
vtkVariant.h
vtkVariantArray::GetPointer
vtkVariant * GetPointer(vtkIdType id)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
vtkgl::access
GLenum access
Definition: vtkgl.h:18860
vtkVariantArray::GetValue
vtkVariant & GetValue(vtkIdType id) const
vtkVariantArray::Squeeze
virtual void Squeeze()
vtkVariantArray::SetVariantValue
void SetVariantValue(vtkIdType idx, vtkVariant value)
save
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
Definition: vtkVariantBoostSerialization.h:64
vtkVariantArray::SetArray
void SetArray(vtkVariant *arr, vtkIdType size, int save)
vtkVariantArray::IsNumeric
virtual int IsNumeric()
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkVariantArray::ClearLookup
virtual void ClearLookup()
vtkVariantArray::Resize
virtual int Resize(vtkIdType numTuples)
boost
Forward declaration required for Boost serialization.
Definition: vtkVariantArray.h:44
vtkVariantArray::InsertNextTuple
virtual vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source)
vtkVariantArray::InterpolateTuple
virtual void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)
vtkVariantArray
An array holding vtkVariants.
Definition: vtkVariantArray.h:48
vtkVariantArray::ResizeAndExtend
vtkVariant * ResizeAndExtend(vtkIdType sz)
vtkVariantArray::GetNumberOfValues
vtkIdType GetNumberOfValues()
Definition: vtkVariantArray.h:226
vtkVariantArray::InsertTuples
virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)
vtkAbstractArray.h
vtkVariantArray::SetNumberOfValues
void SetNumberOfValues(vtkIdType number)
vtkVariantArray::SaveUserArray
int SaveUserArray
Definition: vtkVariantArray.h:268
vtkVariantArray::LookupValue
virtual vtkIdType LookupValue(vtkVariant value)
vtkVariantArray::SetVoidArray
virtual void SetVoidArray(void *arr, vtkIdType size, int save)
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:821
vtkVariantArray::SetTuple
virtual void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkCommonCoreModule.h
vtkgl::ids
GLuint * ids
Definition: vtkgl.h:11831
vtkVariantArray::InsertTuple
virtual void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkVariantArray::InsertValue
void InsertValue(vtkIdType id, vtkVariant value)
vtkVariantArray::InsertTuples
virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)
vtkVariantArray::SetValue
void SetValue(vtkIdType id, vtkVariant value)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkVariantArray::SetNumberOfTuples
virtual void SetNumberOfTuples(vtkIdType number)
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:79
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:36
vtkVariantArray::Initialize
virtual void Initialize()
vtkVariantArray::New
static vtkVariantArray * New()
vtkVariantArray::InsertNextValue
vtkIdType InsertNextValue(vtkVariant value)
vtkVariantArray::vtkVariantArray
vtkVariantArray()
vtkVariantArray::NewIterator
virtual vtkArrayIterator * NewIterator()
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkVariantArray::Array
vtkVariant * Array
Definition: vtkVariantArray.h:262
vtkVariantArray::~vtkVariantArray
~vtkVariantArray()
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkVariantArray::DataElementChanged
virtual void DataElementChanged(vtkIdType id)
vtkArrayIterator
Abstract superclass to iterate over elements in an vtkAbstractArray.
Definition: vtkArrayIterator.h:49
vtkVariantArray::DataChanged
virtual void DataChanged()
vtkVariantArray::GetVoidPointer
virtual void * GetVoidPointer(vtkIdType id)
vtkVariantArray::InterpolateTuple
virtual void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t)
vtkVariantArray::Allocate
virtual int Allocate(vtkIdType sz, vtkIdType ext=1000)
vtkVariantArray::DeepCopy
virtual void DeepCopy(vtkAbstractArray *da)
vtkVariantArray::GetDataTypeSize
virtual int GetDataTypeSize()
vtkVariantArray::GetActualMemorySize
virtual unsigned long GetActualMemorySize()
vtkVariantArray::LookupValue
virtual void LookupValue(vtkVariant value, vtkIdList *ids)
vtkVariantArray::GetDataType
virtual int GetDataType()
vtkVariantArray::GetElementComponentSize
virtual int GetElementComponentSize()
vtkgl::size
GLsizeiptr size
Definition: vtkgl.h:11843