VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkUnicodeStringArray.h 00005 00006 ------------------------------------------------------------------------- 00007 Copyright 2008 Sandia Corporation. 00008 Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, 00009 the U.S. Government retains certain rights in this software. 00010 ------------------------------------------------------------------------- 00011 00012 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00013 All rights reserved. 00014 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00015 00016 This software is distributed WITHOUT ANY WARRANTY; without even 00017 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00018 PURPOSE. See the above copyright notice for more information. 00019 00020 =========================================================================*/ 00021 00034 #ifndef vtkUnicodeStringArray_h 00035 #define vtkUnicodeStringArray_h 00036 00037 #include "vtkCommonCoreModule.h" // For export macro 00038 #include "vtkAbstractArray.h" 00039 #include "vtkUnicodeString.h" // For value type 00040 00041 class VTKCOMMONCORE_EXPORT vtkUnicodeStringArray : 00042 public vtkAbstractArray 00043 { 00044 public: 00045 static vtkUnicodeStringArray* New(); 00046 vtkTypeMacro(vtkUnicodeStringArray,vtkAbstractArray); 00047 void PrintSelf(ostream& os, vtkIndent indent); 00048 00049 virtual int Allocate(vtkIdType sz, vtkIdType ext=1000); 00050 virtual void Initialize(); 00051 virtual int GetDataType(); 00052 virtual int GetDataTypeSize(); 00053 virtual int GetElementComponentSize(); 00054 virtual void SetNumberOfTuples(vtkIdType number); 00055 virtual void SetTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source); 00056 virtual void InsertTuple(vtkIdType i, vtkIdType j, vtkAbstractArray* source); 00057 virtual void InsertTuples(vtkIdList *dstIds, vtkIdList *srcIds, 00058 vtkAbstractArray *source); 00059 virtual void InsertTuples(vtkIdType dstStart, vtkIdType n, vtkIdType srcStart, 00060 vtkAbstractArray* source); 00061 virtual vtkIdType InsertNextTuple(vtkIdType j, vtkAbstractArray* source); 00062 virtual void* GetVoidPointer(vtkIdType id); 00063 virtual void DeepCopy(vtkAbstractArray* da); 00064 virtual void InterpolateTuple(vtkIdType i, vtkIdList *ptIndices, 00065 vtkAbstractArray* source, double* weights); 00066 virtual void InterpolateTuple(vtkIdType i, 00067 vtkIdType id1, vtkAbstractArray* source1, 00068 vtkIdType id2, vtkAbstractArray* source2, double t); 00069 virtual void Squeeze(); 00070 virtual int Resize(vtkIdType numTuples); 00071 virtual void SetVoidArray(void *array, vtkIdType size, int save); 00072 virtual unsigned long GetActualMemorySize(); 00073 virtual int IsNumeric(); 00074 virtual vtkArrayIterator* NewIterator(); 00075 virtual vtkVariant GetVariantValue(vtkIdType idx); 00076 virtual vtkIdType LookupValue(vtkVariant value); 00077 virtual void LookupValue(vtkVariant value, vtkIdList* ids); 00078 00079 virtual void SetVariantValue(vtkIdType idx, vtkVariant value); 00080 virtual void DataChanged(); 00081 virtual void ClearLookup(); 00082 00083 vtkIdType InsertNextValue(const vtkUnicodeString&); 00084 void InsertValue(vtkIdType idx, const vtkUnicodeString&); // Ranged checked 00085 void SetValue(vtkIdType i, const vtkUnicodeString&); // Not ranged checked 00086 vtkUnicodeString& GetValue(vtkIdType i); 00087 00088 void InsertNextUTF8Value(const char*); 00089 void SetUTF8Value(vtkIdType i, const char*); 00090 const char* GetUTF8Value(vtkIdType i); 00091 00092 protected: 00093 vtkUnicodeStringArray(); 00094 ~vtkUnicodeStringArray(); 00095 00096 private: 00097 vtkUnicodeStringArray(const vtkUnicodeStringArray&); // Not implemented. 00098 void operator=(const vtkUnicodeStringArray&); // Not implemented. 00099 00100 //BTX 00101 class Implementation; 00102 Implementation* Internal; 00103 //ETX 00104 }; 00105 00106 #endif 00107