VTK
vtkStringArray.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkStringArray.h
5  Language: C++
6 
7  Copyright 2004 Sandia Corporation.
8  Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
9  license for use of this work by or on behalf of the
10  U.S. Government. Redistribution and use in source and binary forms, with
11  or without modification, are permitted provided that this Notice and any
12  statement of authorship are reproduced on all copies.
13 
14 =========================================================================*/
15 
35 #ifndef vtkStringArray_h
36 #define vtkStringArray_h
37 
38 #include "vtkCommonCoreModule.h" // For export macro
39 #include "vtkAbstractArray.h"
40 #include "vtkStdString.h" // needed for vtkStdString definition
41 
42 class vtkStringArrayLookup;
43 
45 {
46 public:
47  static vtkStringArray* New();
49  void PrintSelf(ostream& os, vtkIndent indent);
50 
51  //
52  //
53  // Functions required by vtkAbstractArray
54  //
55  //
56 
58 
60  { return VTK_STRING; }
62 
63  int IsNumeric() { return 0; }
64 
66  void Initialize();
67 
72 
75  void Squeeze() { this->ResizeAndExtend (this->MaxId+1); }
76 
78  int Resize(vtkIdType numTuples);
79 
86 
91 
93 
96  virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
99 
101 
104  virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
107 
112 
114 
118  virtual void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
119  vtkAbstractArray* source, double* weights);
121 
123 
128  virtual void InterpolateTuple(vtkIdType i,
129  vtkIdType id1, vtkAbstractArray* source1,
130  vtkIdType id2, vtkAbstractArray* source2, double t);
132 
137  virtual void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output);
138 
143  virtual void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output);
144 
147  int Allocate( vtkIdType sz, vtkIdType ext=1000 );
148 
151 
152 //BTX
154 
157  { this->Array[id] = value; this->DataChanged(); }
158 //ETX
159  void SetValue(vtkIdType id, const char *value);
161 
163 
165  virtual void SetNumberOfTuples(vtkIdType number)
166  { this->SetNumberOfValues(this->NumberOfComponents* number); }
168 
173 
174  vtkIdType GetNumberOfValues() { return this->MaxId + 1; }
175 
176  int GetNumberOfElementComponents() { return 0; }
177  int GetElementComponentSize() { return static_cast<int>(sizeof(vtkStdString::value_type)); }
178 
179 //BTX
181 
183 //ETX
184  void InsertValue(vtkIdType id, const char *val);
186 
190 
191 //BTX
193 
196 //ETX
199 
200 //BTX
202 
206 //ETX
208 
209 //BTX
211 
213  vtkStdString* GetPointer(vtkIdType id) { return this->Array + id; }
214  void* GetVoidPointer(vtkIdType id) { return this->GetPointer(id); }
215 //ETX
217 
221 
222 
223 //BTX
225 
235  virtual void SetVoidArray(void* array, vtkIdType size, int save)
236  { this->SetArray(static_cast<vtkStdString*>(array), size, save); }
237 //ETX
239 
247  unsigned long GetActualMemorySize();
248 
251 
257 
259 
262 //BTX
265 //ETX
267  void LookupValue(const char* value, vtkIdList* ids);
269 
276  virtual void DataChanged();
277 
281  virtual void DataElementChanged(vtkIdType id);
282 
286  virtual void ClearLookup();
287 
288 protected:
291 
292  vtkStdString* Array; // pointer to data
293  vtkStdString* ResizeAndExtend(vtkIdType sz); // function to resize data
294 
296 
297 private:
298  vtkStringArray(const vtkStringArray&); // Not implemented.
299  void operator=(const vtkStringArray&); // Not implemented.
300 
301  //BTX
302  vtkStringArrayLookup* Lookup;
303  void UpdateLookup();
304  //ETX
305 };
306 
307 
308 
309 #endif
vtkStringArray::GetValue
vtkStdString & GetValue(vtkIdType id)
vtkStringArray::InsertTuples
virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source)
vtkStringArray::NewIterator
virtual vtkArrayIterator * NewIterator()
vtkStringArray::DataElementChanged
virtual void DataElementChanged(vtkIdType id)
vtkStringArray::LookupValue
void LookupValue(vtkStdString value, vtkIdList *ids)
vtkStdString.h
vtkStringArray::SetArray
void SetArray(vtkStdString *array, vtkIdType size, int save)
vtkStringArray::Allocate
int Allocate(vtkIdType sz, vtkIdType ext=1000)
vtkgl::id
GLuint id
Definition: vtkgl.h:11834
VTKCOMMONCORE_EXPORT
#define VTKCOMMONCORE_EXPORT
Definition: vtkCommonCoreModule.h:15
vtkStringArray::LookupValue
void LookupValue(const char *value, vtkIdList *ids)
vtkgl::weights
const GLbyte * weights
Definition: vtkgl.h:12766
vtkStringArray::InsertTuple
virtual void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkStringArray::SetTuple
virtual void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source)
vtkStringArray::IsNumeric
int IsNumeric()
Definition: vtkStringArray.h:63
vtkStringArray::GetDataTypeSize
int GetDataTypeSize()
vtkStringArray::InterpolateTuple
virtual void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights)
vtkStringArray::GetTuples
virtual void GetTuples(vtkIdType p1, vtkIdType p2, vtkAbstractArray *output)
vtkStringArray::SetNumberOfTuples
virtual void SetNumberOfTuples(vtkIdType number)
Definition: vtkStringArray.h:165
vtkStringArray::SetValue
void SetValue(vtkIdType id, const char *value)
vtkIdType
int vtkIdType
Definition: vtkType.h:275
save
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
Definition: vtkVariantBoostSerialization.h:64
vtkStringArray::GetVoidPointer
void * GetVoidPointer(vtkIdType id)
Definition: vtkStringArray.h:214
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkStringArray::InsertNextValue
vtkIdType InsertNextValue(vtkStdString f)
vtkgl::n
GLclampd n
Definition: vtkgl.h:14370
vtkStringArray::InterpolateTuple
virtual void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t)
vtkStringArray::DeepCopy
void DeepCopy(vtkAbstractArray *aa)
vtkStringArray::GetDataType
int GetDataType()
Definition: vtkStringArray.h:59
vtkStringArray::InsertTuples
virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source)
vtkStringArray::ResizeAndExtend
vtkStdString * ResizeAndExtend(vtkIdType sz)
vtkAbstractArray.h
vtkStringArray::LookupValue
virtual void LookupValue(vtkVariant value, vtkIdList *ids)
vtkgl::val
GLuint GLfloat * val
Definition: vtkgl.h:13789
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:821
vtkStringArray::Initialize
void Initialize()
vtkgl::value
GLsizei const GLfloat * value
Definition: vtkgl.h:12021
vtkStringArray::GetNumberOfValues
vtkIdType GetNumberOfValues()
Definition: vtkStringArray.h:174
VTK_STRING
#define VTK_STRING
Definition: vtkType.h:41
vtkCommonCoreModule.h
vtkgl::ids
GLuint * ids
Definition: vtkgl.h:11831
vtkStringArray::vtkStringArray
vtkStringArray()
vtkStringArray::GetActualMemorySize
unsigned long GetActualMemorySize()
vtkStringArray::WritePointer
vtkStdString * WritePointer(vtkIdType id, vtkIdType number)
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkStringArray::SetValue
void SetValue(vtkIdType id, vtkStdString value)
Definition: vtkStringArray.h:156
vtkStringArray::InsertValue
void InsertValue(vtkIdType id, vtkStdString f)
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
vtkStringArray::Squeeze
void Squeeze()
Definition: vtkStringArray.h:75
vtkStringArray::LookupValue
virtual vtkIdType LookupValue(vtkVariant value)
vtkStringArray::SaveUserArray
int SaveUserArray
Definition: vtkStringArray.h:295
vtkStdString::value_type
StdString::value_type value_type
Definition: vtkStdString.h:51
vtkStringArray::GetDataSize
virtual vtkIdType GetDataSize()
vtkgl::f
GLclampf f
Definition: vtkgl.h:14181
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:65
vtkStringArray::InsertNextValue
vtkIdType InsertNextValue(const char *f)
vtkStringArray::LookupValue
vtkIdType LookupValue(vtkStdString value)
vtkgl::t
GLdouble GLdouble t
Definition: vtkgl.h:11602
vtkStringArray::ClearLookup
virtual void ClearLookup()
vtkArrayIterator
Abstract superclass to iterate over elements in an vtkAbstractArray.
Definition: vtkArrayIterator.h:49
vtkStringArray::InsertNextTuple
virtual vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source)
vtkStringArray::SetVoidArray
virtual void SetVoidArray(void *array, vtkIdType size, int save)
Definition: vtkStringArray.h:235
vtkStringArray::SetNumberOfValues
void SetNumberOfValues(vtkIdType number)
vtkStringArray::InsertValue
void InsertValue(vtkIdType id, const char *val)
vtkStringArray
a vtkAbstractArray subclass for strings
Definition: vtkStringArray.h:45
vtkStringArray::GetElementComponentSize
int GetElementComponentSize()
Definition: vtkStringArray.h:177
vtkStringArray::GetNumberOfElementComponents
int GetNumberOfElementComponents()
Definition: vtkStringArray.h:176
vtkStdString
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:48
vtkStringArray::GetTuples
virtual void GetTuples(vtkIdList *ptIds, vtkAbstractArray *output)
vtkStringArray::Resize
int Resize(vtkIdType numTuples)
vtkStringArray::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkStringArray::~vtkStringArray
~vtkStringArray()
vtkStringArray::Array
vtkStdString * Array
Definition: vtkStringArray.h:292
vtkAbstractArray::DataChanged
virtual void DataChanged()=0
vtkStringArray::GetPointer
vtkStdString * GetPointer(vtkIdType id)
Definition: vtkStringArray.h:213
vtkStringArray::SetVariantValue
void SetVariantValue(vtkIdType idx, vtkVariant value)
vtkStringArray::LookupValue
vtkIdType LookupValue(const char *value)
vtkStringArray::New
static vtkStringArray * New()
vtkgl::size
GLsizeiptr size
Definition: vtkgl.h:11843
vtkStringArray::DataChanged
virtual void DataChanged()