VTK
|
a vtkAbstractArray subclass for strings More...
#include <vtkStringArray.h>
a vtkAbstractArray subclass for strings
$Date$ $Revision$
Points and cells may sometimes have associated data that are stored as strings, e.g. labels for information visualization projects. This class provides a clean way to store and access those strings.
Definition at line 44 of file vtkStringArray.h.
Reimplemented from vtkAbstractArray.
Definition at line 48 of file vtkStringArray.h.
vtkStringArray::vtkStringArray | ( | vtkIdType | numComp = 1 | ) | [protected] |
vtkStringArray::~vtkStringArray | ( | ) | [protected] |
static vtkStringArray* vtkStringArray::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
static int vtkStringArray::IsTypeOf | ( | const char * | name | ) | [static] |
Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkAbstractArray.
virtual int vtkStringArray::IsA | ( | const char * | name | ) | [virtual] |
Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.
Reimplemented from vtkAbstractArray.
static vtkStringArray* vtkStringArray::SafeDownCast | ( | vtkObjectBase * | o | ) | [static] |
Reimplemented from vtkAbstractArray.
virtual vtkObjectBase* vtkStringArray::NewInstanceInternal | ( | ) | const [protected, virtual] |
Reimplemented from vtkAbstractArray.
vtkStringArray* vtkStringArray::NewInstance | ( | ) | const |
Reimplemented from vtkAbstractArray.
void vtkStringArray::PrintSelf | ( | ostream & | os, |
vtkIndent | indent | ||
) | [virtual] |
Methods invoked by print to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from vtkAbstractArray.
int vtkStringArray::GetDataType | ( | ) | [inline, virtual] |
int vtkStringArray::IsNumeric | ( | ) | [inline, virtual] |
This method is here to make backward compatibility easier. It must return true if and only if an array contains numeric data.
Implements vtkAbstractArray.
Definition at line 63 of file vtkStringArray.h.
void vtkStringArray::Initialize | ( | ) | [virtual] |
Release storage and reset array to initial state.
Implements vtkAbstractArray.
int vtkStringArray::GetDataTypeSize | ( | ) | [virtual] |
Return the size of the data type. WARNING: This may not mean what you expect with strings. It will return sizeof(std::string) and not take into account the data included in any particular string.
Implements vtkAbstractArray.
void vtkStringArray::Squeeze | ( | ) | [inline, virtual] |
Free any unnecessary memory. Resize object to just fit data requirement. Reclaims extra memory.
Implements vtkAbstractArray.
Definition at line 75 of file vtkStringArray.h.
int vtkStringArray::Resize | ( | vtkIdType | numTuples | ) | [virtual] |
Resize the array while conserving the data.
Implements vtkAbstractArray.
virtual void vtkStringArray::SetTuple | ( | vtkIdType | i, |
vtkIdType | j, | ||
vtkAbstractArray * | source | ||
) | [virtual] |
Set the tuple at the ith location using the jth tuple in the source array. This method assumes that the two arrays have the same type and structure. Note that range checking and memory allocation is not performed; use in conjunction with SetNumberOfTuples() to allocate space.
Implements vtkAbstractArray.
virtual void vtkStringArray::InsertTuple | ( | vtkIdType | i, |
vtkIdType | j, | ||
vtkAbstractArray * | source | ||
) | [virtual] |
Insert the jth tuple in the source array, at ith location in this array. Note that memory allocation is performed as necessary to hold the data.
Implements vtkAbstractArray.
virtual vtkIdType vtkStringArray::InsertNextTuple | ( | vtkIdType | j, |
vtkAbstractArray * | source | ||
) | [virtual] |
Insert the jth tuple in the source array, at the end in this array. Note that memory allocation is performed as necessary to hold the data. Returns the location at which the data was inserted.
Implements vtkAbstractArray.
virtual void vtkStringArray::InterpolateTuple | ( | vtkIdType | i, |
vtkIdList * | ptIndices, | ||
vtkAbstractArray * | source, | ||
double * | weights | ||
) | [virtual] |
Set the ith tuple in this array as the interpolated tuple value, given the ptIndices in the source array and associated interpolation weights. This method assumes that the two arrays are of the same type and strcuture.
Implements vtkAbstractArray.
virtual void vtkStringArray::InterpolateTuple | ( | vtkIdType | i, |
vtkIdType | id1, | ||
vtkAbstractArray * | source1, | ||
vtkIdType | id2, | ||
vtkAbstractArray * | source2, | ||
double | t | ||
) | [virtual] |
Insert the ith tuple in this array as interpolated from the two values, p1 and p2, and an interpolation factor, t. The interpolation factor ranges from (0,1), with t=0 located at p1. This method assumes that the three arrays are of the same type. p1 is value at index id1 in source1, while, p2 is value at index id2 in source2.
Implements vtkAbstractArray.
virtual void vtkStringArray::GetTuples | ( | vtkIdList * | ptIds, |
vtkAbstractArray * | output | ||
) | [virtual] |
Given a list of indices, return an array of values. You must insure that the output array has been previously allocated with enough space to hold the data and that the types match sufficiently to allow conversion (if necessary).
Reimplemented from vtkAbstractArray.
virtual void vtkStringArray::GetTuples | ( | vtkIdType | p1, |
vtkIdType | p2, | ||
vtkAbstractArray * | output | ||
) | [virtual] |
Get the values for the range of indices specified (i.e., p1->p2 inclusive). You must insure that the output array has been previously allocated with enough space to hold the data and that the type of the output array is compatible with the type of this array.
Reimplemented from vtkAbstractArray.
int vtkStringArray::Allocate | ( | vtkIdType | sz, |
vtkIdType | ext = 1000 |
||
) | [virtual] |
Allocate memory for this array. Delete old storage only if necessary. Note that ext is no longer used.
Implements vtkAbstractArray.
Get the data at a particular index.
void vtkStringArray::SetValue | ( | vtkIdType | id, |
vtkStdString | value | ||
) | [inline] |
Set the data at a particular index. Does not do range checking. Make sure you use the method SetNumberOfValues() before inserting data.
Definition at line 140 of file vtkStringArray.h.
void vtkStringArray::SetValue | ( | vtkIdType | id, |
const char * | value | ||
) |
Set the data at a particular index. Does not do range checking. Make sure you use the method SetNumberOfValues() before inserting data.
virtual void vtkStringArray::SetNumberOfTuples | ( | vtkIdType | number | ) | [inline, virtual] |
Set the number of tuples (a component group) in the array. Note that this may allocate space depending on the number of components.
Implements vtkAbstractArray.
Definition at line 149 of file vtkStringArray.h.
void vtkStringArray::SetNumberOfValues | ( | vtkIdType | number | ) |
Specify the number of values for this object to hold. Does an allocation as well as setting the MaxId ivar. Used in conjunction with SetValue() method for fast insertion.
vtkIdType vtkStringArray::GetNumberOfValues | ( | ) | [inline] |
Definition at line 158 of file vtkStringArray.h.
int vtkStringArray::GetNumberOfElementComponents | ( | ) | [inline] |
Definition at line 160 of file vtkStringArray.h.
int vtkStringArray::GetElementComponentSize | ( | ) | [inline, virtual] |
Return the size, in bytes, of the lowest-level element of an array. For vtkDataArray and subclasses this is the size of the data type. For vtkStringArray, this is sizeof(vtkStdString::value_type), which winds up being sizeof(char).
Implements vtkAbstractArray.
Definition at line 161 of file vtkStringArray.h.
void vtkStringArray::InsertValue | ( | vtkIdType | id, |
vtkStdString | f | ||
) |
Insert data at a specified position in the array.
void vtkStringArray::InsertValue | ( | vtkIdType | id, |
const char * | val | ||
) |
Insert data at a specified position in the array.
void vtkStringArray::SetVariantValue | ( | vtkIdType | idx, |
vtkVariant | value | ||
) | [virtual] |
Set a value in the array form a variant. Insert a value into the array from a variant.
Implements vtkAbstractArray.
Insert data at the end of the array. Return its location in the array.
vtkIdType vtkStringArray::InsertNextValue | ( | const char * | f | ) |
Insert data at the end of the array. Return its location in the array.
vtkStdString* vtkStringArray::WritePointer | ( | vtkIdType | id, |
vtkIdType | number | ||
) |
Get the address of a particular data index. Make sure data is allocated for the number of items requested. Set MaxId according to the number of data values requested.
vtkStdString* vtkStringArray::GetPointer | ( | vtkIdType | id | ) | [inline] |
Get the address of a particular data index. Performs no checks to verify that the memory has been allocated etc.
Definition at line 197 of file vtkStringArray.h.
void* vtkStringArray::GetVoidPointer | ( | vtkIdType | id | ) | [inline, virtual] |
Get the address of a particular data index. Performs no checks to verify that the memory has been allocated etc.
Implements vtkAbstractArray.
Definition at line 198 of file vtkStringArray.h.
void vtkStringArray::DeepCopy | ( | vtkAbstractArray * | aa | ) | [virtual] |
Deep copy of another string array. Will complain and change nothing if the array passed in is not a vtkStringArray.
Reimplemented from vtkAbstractArray.
void vtkStringArray::SetArray | ( | vtkStdString * | array, |
vtkIdType | size, | ||
int | save | ||
) |
This method lets the user specify data to be held by the array. The array argument is a pointer to the data. size is the size of the array supplied by the user. Set save to 1 to keep the class from deleting the array when it cleans up or reallocates memory. The class uses the actual array provided; it does not copy the data from the suppled array. If save is 0, then this class is free to delete the array when it cleans up or reallocates. In that case, it is required that the array was allocated using the C++ new operator (and not malloc).
virtual void vtkStringArray::SetVoidArray | ( | void * | array, |
vtkIdType | size, | ||
int | save | ||
) | [inline, virtual] |
This method lets the user specify data to be held by the array. The array argument is a pointer to the data. size is the size of the array supplied by the user. Set save to 1 to keep the class from deleting the array when it cleans up or reallocates memory. The class uses the actual array provided; it does not copy the data from the suppled array. If save is 0, then this class is free to delete the array when it cleans up or reallocates. In that case, it is required that the array was allocated using the C++ new operator (and not malloc).
Definition at line 219 of file vtkStringArray.h.
unsigned long vtkStringArray::GetActualMemorySize | ( | ) | [virtual] |
Return the memory in kilobytes consumed by this data array. Used to support streaming and reading/writing data. The value returned is guaranteed to be greater than or equal to the memory required to actually represent the data represented by this object. The information returned is valid only after the pipeline has been updated. This function takes into account the size of the contents of the strings as well as the string containers themselves.
Implements vtkAbstractArray.
virtual vtkArrayIterator* vtkStringArray::NewIterator | ( | ) | [virtual] |
Returns a vtkArrayIteratorTemplate<vtkStdString>.
Implements vtkAbstractArray.
virtual vtkIdType vtkStringArray::GetDataSize | ( | ) | [virtual] |
Returns the size of the data in DataTypeSize units. Thus, the number of bytes for the data can be computed by GetDataSize() * GetDataTypeSize(). The size computation includes the string termination character for each string.
Reimplemented from vtkAbstractArray.
virtual vtkIdType vtkStringArray::LookupValue | ( | vtkVariant | value | ) | [virtual] |
Return the indices where a specific value appears.
Implements vtkAbstractArray.
virtual void vtkStringArray::LookupValue | ( | vtkVariant | value, |
vtkIdList * | ids | ||
) | [virtual] |
Return the indices where a specific value appears.
Implements vtkAbstractArray.
Return the indices where a specific value appears.
void vtkStringArray::LookupValue | ( | vtkStdString | value, |
vtkIdList * | ids | ||
) |
Return the indices where a specific value appears.
vtkIdType vtkStringArray::LookupValue | ( | const char * | value | ) |
Return the indices where a specific value appears.
void vtkStringArray::LookupValue | ( | const char * | value, |
vtkIdList * | ids | ||
) |
Return the indices where a specific value appears.
virtual void vtkStringArray::DataChanged | ( | ) | [virtual] |
Tell the array explicitly that the data has changed. This is only necessary to call when you modify the array contents without using the array's API (i.e. you retrieve a pointer to the data and modify the array contents). You need to call this so that the fast lookup will know to rebuild itself. Otherwise, the lookup functions will give incorrect results.
Implements vtkAbstractArray.
virtual void vtkStringArray::DataElementChanged | ( | vtkIdType | id | ) | [virtual] |
Tell the array explicitly that a single data element has changed. Like DataChanged(), then is only necessary when you modify the array contents without using the array's API.
virtual void vtkStringArray::ClearLookup | ( | ) | [virtual] |
Delete the associated fast lookup data structure on this array, if it exists. The lookup will be rebuilt on the next call to a lookup function.
Implements vtkAbstractArray.
vtkStdString* vtkStringArray::ResizeAndExtend | ( | vtkIdType | sz | ) | [protected] |
vtkStdString* vtkStringArray::Array [protected] |
Definition at line 276 of file vtkStringArray.h.
int vtkStringArray::SaveUserArray [protected] |
Definition at line 279 of file vtkStringArray.h.