VTK  9.0.1
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 
32 #ifndef vtkUnicodeStringArray_h
33 #define vtkUnicodeStringArray_h
34 
35 #include "vtkAbstractArray.h"
36 #include "vtkCommonCoreModule.h" // For export macro
37 #include "vtkUnicodeString.h" // For value type
38 
39 class VTKCOMMONCORE_EXPORT vtkUnicodeStringArray : public vtkAbstractArray
40 {
41 public:
44  void PrintSelf(ostream& os, vtkIndent indent) override;
45 
46  vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext = 1000) override;
47  void Initialize() override;
48  int GetDataType() const override;
49  int GetDataTypeSize() const override;
50  int GetElementComponentSize() const override;
51  void SetNumberOfTuples(vtkIdType number) override;
54  void InsertTuples(vtkIdList* dstIds, vtkIdList* srcIds, vtkAbstractArray* source) override;
56  vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, vtkAbstractArray* source) override;
58  void* GetVoidPointer(vtkIdType id) override;
59  void DeepCopy(vtkAbstractArray* da) override;
61  vtkIdType i, vtkIdList* ptIndices, vtkAbstractArray* source, double* weights) override;
63  vtkAbstractArray* source2, double t) override;
64  void Squeeze() override;
65  vtkTypeBool Resize(vtkIdType numTuples) override;
66  void SetVoidArray(void* array, vtkIdType size, int save) override;
67  void SetVoidArray(void* array, vtkIdType size, int save, int deleteMethod) override;
68  void SetArrayFreeFunction(void (*callback)(void*)) override;
69  unsigned long GetActualMemorySize() const override; // in bytes
70  int IsNumeric() const override;
74  void LookupValue(vtkVariant value, vtkIdList* ids) override;
75 
78  void DataChanged() override;
79  void ClearLookup() override;
80 
82  void InsertValue(vtkIdType idx, const vtkUnicodeString&); // Ranged checked
83  void SetValue(vtkIdType i, const vtkUnicodeString&); // Not ranged checked
85 
86  void InsertNextUTF8Value(const char*);
87  void SetUTF8Value(vtkIdType i, const char*);
88  const char* GetUTF8Value(vtkIdType i);
89 
90 protected:
93 
94 private:
96  void operator=(const vtkUnicodeStringArray&) = delete;
97 
98  class Implementation;
99  Implementation* Internal;
100 };
101 
102 #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:40
vtkUnicodeStringArray::GetDataType
int GetDataType() const override
Return the underlying data type.
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:226
vtkUnicodeStringArray::~vtkUnicodeStringArray
~vtkUnicodeStringArray() override
vtkIdType
int vtkIdType
Definition: vtkType.h:338
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:64
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::IsNumeric
int IsNumeric() const override
This method is here to make backward compatibility easier.
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 *)
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::GetElementComponentSize
int GetElementComponentSize() const override
Return the size, in bytes, of the lowest-level element of an array.
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.
vtkUnicodeStringArray::SetVariantValue
void SetVariantValue(vtkIdType idx, vtkVariant value) override
Set a value in the array from a variant.
vtkUnicodeStringArray::GetDataTypeSize
int GetDataTypeSize() const override
Return the size of the underlying data type.
vtkUnicodeStringArray::DeepCopy
void DeepCopy(vtkAbstractArray *da) override
Deep copy of data.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:34
vtkUnicodeString
String class that stores Unicode text.
Definition: vtkUnicodeString.h:70
vtkVariant
A atomic type representing the union of many types.
Definition: vtkVariant.h:66
vtkIdList
list of point or cell ids
Definition: vtkIdList.h:31
vtkUnicodeStringArray::LookupValue
vtkIdType LookupValue(vtkVariant value) override
Return the value indices where a specific value appears.
vtkX3D::size
@ size
Definition: vtkX3D.h:259
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::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:76
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:50
vtkUnicodeStringArray::GetVariantValue
vtkVariant GetVariantValue(vtkIdType idx) override
Retrieve value from the array as a variant.
source
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
Definition: vtkBoostGraphAdapter.h:959
VTK_NEWINSTANCE
#define VTK_NEWINSTANCE
Definition: vtkWrappingHints.h:42
vtkUnicodeStringArray::GetActualMemorySize
unsigned long GetActualMemorySize() const override
Return the memory in kibibytes (1024 bytes) consumed by this data array.
vtkTypeBool
int vtkTypeBool
Definition: vtkABI.h:69
vtkUnicodeStringArray::Allocate
vtkTypeBool Allocate(vtkIdType sz, vtkIdType ext=1000) override
Allocate memory for this array.