VTK
vtkUnicodeStringArray.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkUnicodeStringArray.h
5 
6 -------------------------------------------------------------------------
7  Copyright 2008 Sandia Corporation.
8  Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9  the U.S. Government retains certain rights in this software.
10 -------------------------------------------------------------------------
11 
12  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
13  All rights reserved.
14  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
15 
16  This software is distributed WITHOUT ANY WARRANTY; without even
17  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
18  PURPOSE. See the above copyright notice for more information.
19 
20 =========================================================================*/
21 
35 #ifndef vtkUnicodeStringArray_h
36 #define vtkUnicodeStringArray_h
37 
38 #include "vtkCommonCoreModule.h" // For export macro
39 #include "vtkAbstractArray.h"
40 #include "vtkUnicodeString.h" // For value type
41 
42 class VTKCOMMONCORE_EXPORT vtkUnicodeStringArray :
43  public vtkAbstractArray
44 {
45 public:
48  void PrintSelf(ostream& os, vtkIndent indent) override;
49 
50  vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext=1000) override;
51  void Initialize() override;
52  int GetDataType() override;
53  int GetDataTypeSize() override;
54  int GetElementComponentSize() override;
55  void SetNumberOfTuples(vtkIdType number) override;
57  vtkAbstractArray* source) override;
59  vtkAbstractArray* source) override;
60  void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds,
61  vtkAbstractArray *source) override;
62  void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart,
63  vtkAbstractArray* source) override;
65  void* GetVoidPointer(vtkIdType id) override;
66  void DeepCopy(vtkAbstractArray* da) override;
67  void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices,
68  vtkAbstractArray* source, double* weights) override;
70  vtkIdType id1, vtkAbstractArray* source1,
71  vtkIdType id2, vtkAbstractArray* source2, double t) override;
72  void Squeeze() override;
73  vtkTypeBool Resize(vtkIdType numTuples) override;
74  void SetVoidArray(void *array, vtkIdType size, int save) override;
75  void SetVoidArray(void *array, vtkIdType size, int save,
76  int deleteMethod) override;
77  void SetArrayFreeFunction(void (*callback)(void *)) override;
78  unsigned long GetActualMemorySize() override; // in bytes
79  int IsNumeric() override;
83  void LookupValue(vtkVariant value, vtkIdList* ids) override;
84 
87  void DataChanged() override;
88  void ClearLookup() override;
89 
91  void InsertValue(vtkIdType idx, const vtkUnicodeString&); // Ranged checked
92  void SetValue(vtkIdType i, const vtkUnicodeString&); // Not ranged checked
94 
95  void InsertNextUTF8Value(const char*);
96  void SetUTF8Value(vtkIdType i, const char*);
97  const char* GetUTF8Value(vtkIdType i);
98 
99 protected:
102 
103 private:
105  void operator=(const vtkUnicodeStringArray&) = delete;
106 
107  class Implementation;
108  Implementation* Internal;
109 
110 };
111 
112 #endif
vtkUnicodeStringArray::NewIterator
vtkArrayIterator * NewIterator() override
Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate...
vtkUnicodeStringArray::GetValue
vtkUnicodeString & GetValue(vtkIdType i)
vtkUnicodeStringArray::InsertNextUTF8Value
void InsertNextUTF8Value(const char *)
vtkUnicodeStringArray::LookupValue
void LookupValue(vtkVariant value, vtkIdList *ids) override
vtkUnicodeStringArray::Resize
vtkTypeBool Resize(vtkIdType numTuples) override
Resize the array to the requested number of tuples and preserve data.
vtkUnicodeStringArray::vtkUnicodeStringArray
vtkUnicodeStringArray()
vtkUnicodeStringArray
Subclass of vtkAbstractArray that holds vtkUnicodeStrings.
Definition: vtkUnicodeStringArray.h:44
vtkUnicodeStringArray::SetVoidArray
void SetVoidArray(void *array, vtkIdType size, int save, int deleteMethod) override
vtkUnicodeStringArray::SetNumberOfTuples
void SetNumberOfTuples(vtkIdType number) override
Set the number of tuples (a component group) in the array.
vtkX3D::value
@ value
Definition: vtkX3D.h:220
vtkUnicodeStringArray::~vtkUnicodeStringArray
~vtkUnicodeStringArray() override
vtkIdType
int vtkIdType
Definition: vtkType.h:347
vtkUnicodeStringArray::Initialize
void Initialize() override
Release storage and reset array to initial state.
vtkUnicodeStringArray::Squeeze
void Squeeze() override
Free any unnecessary memory.
vtkUnicodeStringArray::InsertTuple
void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) override
Insert the tuple at srcTupleIdx in the source array into this array at dstTupleIdx.
save
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
Definition: vtkVariantBoostSerialization.h:65
vtkUnicodeString.h
vtkUnicodeStringArray::SetArrayFreeFunction
void SetArrayFreeFunction(void(*callback)(void *)) override
This method allows the user to specify a custom free function to be called when the array is dealloca...
vtkUnicodeStringArray::InterpolateTuple
void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, vtkAbstractArray *source, double *weights) override
Set the tuple at dstTupleIdx in this array to the interpolated tuple value, given the ptIndices in th...
vtkUnicodeStringArray::InsertNextValue
vtkIdType InsertNextValue(const vtkUnicodeString &)
vtkUnicodeStringArray::SetUTF8Value
void SetUTF8Value(vtkIdType i, const char *)
vtkUnicodeStringArray::GetElementComponentSize
int GetElementComponentSize() override
Return the size, in bytes, of the lowest-level element of an array.
vtkAbstractArray.h
vtkUnicodeStringArray::SetValue
void SetValue(vtkIdType i, const vtkUnicodeString &)
vtkUnicodeStringArray::SetVoidArray
void SetVoidArray(void *array, vtkIdType size, int save) override
vtkUnicodeStringArray::New
static vtkUnicodeStringArray * New()
vtkUnicodeStringArray::InterpolateTuple
void InterpolateTuple(vtkIdType i, vtkIdType id1, vtkAbstractArray *source1, vtkIdType id2, vtkAbstractArray *source2, double t) override
Insert the tuple at dstTupleIdx in this array to the tuple interpolated from the two tuple indices,...
vtkUnicodeStringArray::InsertNextTuple
vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray *source) override
Insert the tuple from srcTupleIdx in the source array at the end of this array.
vtkUnicodeStringArray::ClearLookup
void ClearLookup() override
Delete the associated fast lookup data structure on this array, if it exists.
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:825
vtkUnicodeStringArray::SetVariantValue
void SetVariantValue(vtkIdType idx, vtkVariant value) override
Set a value in the array from a variant.
vtkUnicodeStringArray::DeepCopy
void DeepCopy(vtkAbstractArray *da) override
Deep copy of data.
vtkUnicodeStringArray::GetDataTypeSize
int GetDataTypeSize() override
Return the size of the underlying data type.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:40
vtkUnicodeString
String class that stores Unicode text.
Definition: vtkUnicodeString.h:73
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:72
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:37
vtkUnicodeStringArray::LookupValue
vtkIdType LookupValue(vtkVariant value) override
Return the value indices where a specific value appears.
vtkX3D::size
@ size
Definition: vtkX3D.h:253
vtkUnicodeStringArray::InsertTuples
void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray *source) override
Copy n consecutive tuples starting at srcStart from the source array to this array,...
vtkUnicodeStringArray::InsertValue
void InsertValue(vtkIdType idx, const vtkUnicodeString &)
vtkUnicodeStringArray::GetUTF8Value
const char * GetUTF8Value(vtkIdType i)
vtkUnicodeStringArray::GetDataType
int GetDataType() override
Return the underlying data type.
vtkUnicodeStringArray::GetVoidPointer
void * GetVoidPointer(vtkIdType id) override
Return a void pointer.
vtkUnicodeStringArray::SetTuple
void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray *source) override
Set the tuple at dstTupleIdx in this array to the tuple at srcTupleIdx in the source array.
vtkAbstractArray
Abstract superclass for all arrays.
Definition: vtkAbstractArray.h:79
vtkUnicodeStringArray::InsertTuples
void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, vtkAbstractArray *source) override
Copy the tuples indexed in srcIds from the source array to the tuple locations indexed by dstIds in t...
vtkUnicodeStringArray::DataChanged
void DataChanged() override
Tell the array explicitly that the data has changed.
vtkUnicodeStringArray::InsertVariantValue
void InsertVariantValue(vtkIdType idx, vtkVariant value) override
Insert a value into the array from a variant.
vtkUnicodeStringArray::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkArrayIterator
Abstract superclass to iterate over elements in an vtkAbstractArray.
Definition: vtkArrayIterator.h:53
vtkUnicodeStringArray::GetActualMemorySize
unsigned long GetActualMemorySize() override
Return the memory in kibibytes (1024 bytes) consumed by this data array.
vtkUnicodeStringArray::GetVariantValue
vtkVariant GetVariantValue(vtkIdType idx) override
Retrieve value from the array as a variant.
VTK_NEWINSTANCE
#define VTK_NEWINSTANCE
Definition: vtkWrappingHints.h:39
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkUnicodeStringArray::Allocate
vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext=1000) override
Allocate memory for this array.
vtkUnicodeStringArray::IsNumeric
int IsNumeric() override
This method is here to make backward compatibility easier.