#include <vtkBitArray.h>
vtkBitArray is an array of bits (0/1 data value). The array is packed so that each byte stores eight bits. vtkBitArray provides methods for insertion and retrieval of bits, and will automatically resize itself to hold new data.
Definition at line 34 of file vtkBitArray.h.
Public Types | |
typedef vtkDataArray | Superclass |
Public Member Functions | |
virtual const char * | GetClassName () |
virtual int | IsA (const char *type) |
void | PrintSelf (ostream &os, vtkIndent indent) |
int | Allocate (vtkIdType sz, vtkIdType ext=1000) |
void | Initialize () |
int | GetDataType () |
int | GetDataTypeSize () |
void | SetNumberOfTuples (vtkIdType number) |
virtual void | SetTuple (vtkIdType i, vtkIdType j, vtkAbstractArray *source) |
virtual void | InsertTuple (vtkIdType i, vtkIdType j, vtkAbstractArray *source) |
virtual vtkIdType | InsertNextTuple (vtkIdType j, vtkAbstractArray *source) |
double * | GetTuple (vtkIdType i) |
void | GetTuple (vtkIdType i, double *tuple) |
void | SetComponent (vtkIdType i, int j, double c) |
void | Squeeze () |
virtual int | Resize (vtkIdType numTuples) |
int | GetValue (vtkIdType id) |
void | SetNumberOfValues (vtkIdType number) |
void | SetValue (vtkIdType id, int value) |
void | InsertValue (vtkIdType id, int i) |
vtkIdType | InsertNextValue (int i) |
virtual void | InsertComponent (vtkIdType i, int j, double c) |
unsigned char * | GetPointer (vtkIdType id) |
vtkArrayIterator * | NewIterator () |
virtual void | DataChanged () |
virtual void | ClearLookup () |
void | SetTuple (vtkIdType i, const float *tuple) |
void | SetTuple (vtkIdType i, const double *tuple) |
void | InsertTuple (vtkIdType i, const float *tuple) |
void | InsertTuple (vtkIdType i, const double *tuple) |
vtkIdType | InsertNextTuple (const float *tuple) |
vtkIdType | InsertNextTuple (const double *tuple) |
virtual void | RemoveTuple (vtkIdType id) |
virtual void | RemoveFirstTuple () |
virtual void | RemoveLastTuple () |
void | InsertVariantValue (vtkIdType idx, vtkVariant value) |
unsigned char * | WritePointer (vtkIdType id, vtkIdType number) |
void * | WriteVoidPointer (vtkIdType id, vtkIdType number) |
void * | GetVoidPointer (vtkIdType id) |
void | DeepCopy (vtkDataArray *da) |
void | DeepCopy (vtkAbstractArray *aa) |
void | SetArray (unsigned char *array, vtkIdType size, int save) |
void | SetVoidArray (void *array, vtkIdType size, int save) |
virtual vtkIdType | LookupValue (vtkVariant value) |
virtual void | LookupValue (vtkVariant value, vtkIdList *ids) |
vtkIdType | LookupValue (int value) |
void | LookupValue (int value, vtkIdList *ids) |
Static Public Member Functions | |
static vtkBitArray * | New () |
static int | IsTypeOf (const char *type) |
static vtkBitArray * | SafeDownCast (vtkObject *o) |
Protected Member Functions | |
vtkBitArray (vtkIdType numComp=1) | |
~vtkBitArray () | |
unsigned char * | ResizeAndExtend (vtkIdType sz) |
Protected Attributes | |
unsigned char * | Array |
int | TupleSize |
double * | Tuple |
int | SaveUserArray |
typedef vtkDataArray vtkBitArray::Superclass |
vtkBitArray::vtkBitArray | ( | vtkIdType | numComp = 1 |
) | [protected] |
vtkBitArray::~vtkBitArray | ( | ) | [protected] |
static vtkBitArray* vtkBitArray::New | ( | ) | [static] |
Create an object with Debug turned off, modified time initialized to zero, and reference counting on.
Reimplemented from vtkObject.
virtual const char* vtkBitArray::GetClassName | ( | ) | [virtual] |
Reimplemented from vtkDataArray.
static int vtkBitArray::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 vtkDataArray.
virtual int vtkBitArray::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 vtkDataArray.
static vtkBitArray* vtkBitArray::SafeDownCast | ( | vtkObject * | o | ) | [static] |
Reimplemented from vtkDataArray.
void vtkBitArray::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 vtkDataArray.
Allocate memory for this array. Delete old storage only if necessary. Note that ext is no longer used.
Implements vtkAbstractArray.
void vtkBitArray::Initialize | ( | ) | [virtual] |
Release storage and reset array to initial state.
Implements vtkAbstractArray.
int vtkBitArray::GetDataType | ( | ) | [inline, virtual] |
Return the underlying data type. An integer indicating data type is returned as specified in vtkSetGet.h.
Implements vtkAbstractArray.
Definition at line 49 of file vtkBitArray.h.
int vtkBitArray::GetDataTypeSize | ( | ) | [inline, virtual] |
Return the size of the underlying data type. For a bit, 0 is returned. For string 0 is returned. Arrays with variable length components return 0.
Implements vtkAbstractArray.
Definition at line 50 of file vtkBitArray.h.
void vtkBitArray::SetNumberOfTuples | ( | vtkIdType | number | ) | [virtual] |
Set the number of n-tuples in the array.
Implements vtkAbstractArray.
virtual void vtkBitArray::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 vtkDataArray.
virtual void vtkBitArray::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 vtkDataArray.
virtual vtkIdType vtkBitArray::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 vtkDataArray.
double* vtkBitArray::GetTuple | ( | vtkIdType | i | ) | [virtual] |
Get a pointer to a tuple at the ith location. This is a dangerous method (it is not thread safe since a pointer is returned).
Implements vtkDataArray.
void vtkBitArray::GetTuple | ( | vtkIdType | i, | |
double * | tuple | |||
) | [virtual] |
Copy the tuple value into a user-provided array.
Implements vtkDataArray.
void vtkBitArray::SetTuple | ( | vtkIdType | i, | |
const float * | tuple | |||
) | [virtual] |
Set the tuple value at the ith location in the array.
Implements vtkDataArray.
void vtkBitArray::SetTuple | ( | vtkIdType | i, | |
const double * | tuple | |||
) | [virtual] |
Set the tuple value at the ith location in the array.
Implements vtkDataArray.
void vtkBitArray::InsertTuple | ( | vtkIdType | i, | |
const float * | tuple | |||
) | [virtual] |
Insert (memory allocation performed) the tuple into the ith location in the array.
Implements vtkDataArray.
void vtkBitArray::InsertTuple | ( | vtkIdType | i, | |
const double * | tuple | |||
) | [virtual] |
Insert (memory allocation performed) the tuple into the ith location in the array.
Implements vtkDataArray.
vtkIdType vtkBitArray::InsertNextTuple | ( | const float * | tuple | ) | [virtual] |
Insert (memory allocation performed) the tuple onto the end of the array.
Implements vtkDataArray.
vtkIdType vtkBitArray::InsertNextTuple | ( | const double * | tuple | ) | [virtual] |
Insert (memory allocation performed) the tuple onto the end of the array.
Implements vtkDataArray.
virtual void vtkBitArray::RemoveTuple | ( | vtkIdType | id | ) | [virtual] |
These methods remove tuples from the data array. They shift data and resize array, so the data array is still valid after this operation. Note, this operation is fairly slow.
Implements vtkDataArray.
virtual void vtkBitArray::RemoveFirstTuple | ( | ) | [virtual] |
These methods remove tuples from the data array. They shift data and resize array, so the data array is still valid after this operation. Note, this operation is fairly slow.
Implements vtkDataArray.
virtual void vtkBitArray::RemoveLastTuple | ( | ) | [virtual] |
These methods remove tuples from the data array. They shift data and resize array, so the data array is still valid after this operation. Note, this operation is fairly slow.
Implements vtkDataArray.
void vtkBitArray::SetComponent | ( | vtkIdType | i, | |
int | j, | |||
double | c | |||
) | [virtual] |
Set the data component at the ith tuple and jth component location. Note that i is less then NumberOfTuples and j is less then NumberOfComponents. Make sure enough memory has been allocated (use SetNumberOfTuples() and SetNumberOfComponents()).
Reimplemented from vtkDataArray.
void vtkBitArray::Squeeze | ( | ) | [inline, virtual] |
Free any unneeded memory.
Implements vtkAbstractArray.
Definition at line 299 of file vtkBitArray.h.
virtual int vtkBitArray::Resize | ( | vtkIdType | numTuples | ) | [virtual] |
Resize the array while conserving the data.
Implements vtkAbstractArray.
int vtkBitArray::GetValue | ( | vtkIdType | id | ) |
Get the data at a particular index.
void vtkBitArray::SetNumberOfValues | ( | vtkIdType | number | ) | [inline] |
Fast method based setting of values without memory checks. First use SetNumberOfValues then use SetValue to actually set them. 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.
Definition at line 242 of file vtkBitArray.h.
void vtkBitArray::SetValue | ( | vtkIdType | id, | |
int | 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 249 of file vtkBitArray.h.
void vtkBitArray::InsertValue | ( | vtkIdType | id, | |
int | i | |||
) | [inline] |
Insets values and checks to make sure there is enough memory
Definition at line 264 of file vtkBitArray.h.
void vtkBitArray::InsertVariantValue | ( | vtkIdType | idx, | |
vtkVariant | value | |||
) | [inline, virtual] |
Insert a value into the array from a variant.
Implements vtkAbstractArray.
Definition at line 287 of file vtkBitArray.h.
vtkIdType vtkBitArray::InsertNextValue | ( | int | i | ) | [inline] |
Definition at line 292 of file vtkBitArray.h.
virtual void vtkBitArray::InsertComponent | ( | vtkIdType | i, | |
int | j, | |||
double | c | |||
) | [virtual] |
Insert the data component at ith tuple and jth component location. Note that memory allocation is performed as necessary to hold the data.
Reimplemented from vtkDataArray.
unsigned char* vtkBitArray::GetPointer | ( | vtkIdType | id | ) | [inline] |
Direct manipulation of the underlying data.
Definition at line 152 of file vtkBitArray.h.
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.
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.
Implements vtkDataArray.
Definition at line 159 of file vtkBitArray.h.
void* vtkBitArray::GetVoidPointer | ( | vtkIdType | id | ) | [inline, virtual] |
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.
Implements vtkAbstractArray.
Definition at line 161 of file vtkBitArray.h.
void vtkBitArray::DeepCopy | ( | vtkDataArray * | da | ) | [virtual] |
Deep copy of another bit array.
Reimplemented from vtkDataArray.
void vtkBitArray::DeepCopy | ( | vtkAbstractArray * | aa | ) | [inline, virtual] |
Deep copy of another bit array.
Reimplemented from vtkDataArray.
Definition at line 170 of file vtkBitArray.h.
void vtkBitArray::SetArray | ( | unsigned char * | 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 0, the array must have been allocated with new[] not malloc.
void vtkBitArray::SetVoidArray | ( | void * | array, | |
vtkIdType | size, | |||
int | save | |||
) | [inline] |
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 0, the array must have been allocated with new[] not malloc.
Definition at line 183 of file vtkBitArray.h.
vtkArrayIterator* vtkBitArray::NewIterator | ( | ) | [virtual] |
Returns a new vtkBitArrayIterator instance.
Implements vtkAbstractArray.
virtual vtkIdType vtkBitArray::LookupValue | ( | vtkVariant | value | ) | [virtual] |
Return the indices where a specific value appears.
Implements vtkAbstractArray.
virtual void vtkBitArray::LookupValue | ( | vtkVariant | value, | |
vtkIdList * | ids | |||
) | [virtual] |
Return the indices where a specific value appears.
Implements vtkAbstractArray.
vtkIdType vtkBitArray::LookupValue | ( | int | value | ) |
Return the indices where a specific value appears.
void vtkBitArray::LookupValue | ( | int | value, | |
vtkIdList * | ids | |||
) |
Return the indices where a specific value appears.
virtual void vtkBitArray::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 vtkBitArray::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.
unsigned char* vtkBitArray::ResizeAndExtend | ( | vtkIdType | sz | ) | [protected] |
unsigned char* vtkBitArray::Array [protected] |
Definition at line 219 of file vtkBitArray.h.
int vtkBitArray::TupleSize [protected] |
Definition at line 223 of file vtkBitArray.h.
double* vtkBitArray::Tuple [protected] |
Definition at line 224 of file vtkBitArray.h.
int vtkBitArray::SaveUserArray [protected] |
Definition at line 226 of file vtkBitArray.h.