Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members Related Pages

# vtkBitArray Class Reference

`#include <vtkBitArray.h>`

Inheritance diagram for vtkBitArray:

[legend]
Collaboration diagram for vtkBitArray:

[legend]
List of all members.

## Detailed Description

dynamic, self-adjusting array of bits

Date:
  2002/11/12 18:32:03

Revision:
  1.65

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.

Created by:
  - Martin, Ken

CVS contributions (if > 5%):
  - Martin, Ken (41%)
  - Schroeder, Will (25%)
  - Henderson, Amy (7%)
  - Miller, Jim (7%)
  - Geveci, Berk (5%)
  - Kelly, Ann (5%)

CVS logs (CVSweb):
  - .`h` (`/Common/vtkBitArray.h)`
  - .`cxx` (`/Common/vtkBitArray.cxx)`

Definition at line 48 of file vtkBitArray.h.

## Public Types

typedef vtkDataArray | Superclass

## Public Methods

virtual const char * | GetClassName ()
virtual int | IsA (const char *type)
void | PrintSelf (ostream &os, vtkIndent indent)
int | Allocate (const vtkIdType sz, const vtkIdType ext=1000)
void | Initialize ()
int | GetDataType ()
int | GetDataTypeSize ()
void | SetNumberOfTuples (const vtkIdType number)
float * | GetTuple (const vtkIdType i)
void | SetComponent (const vtkIdType i, const int j, float c)
void | Squeeze ()
virtual void | Resize (vtkIdType numTuples)
int | GetValue (const vtkIdType id)
void | SetNumberOfValues (const vtkIdType number)
void | SetValue (const vtkIdType id, const int value)
virtual void | InsertComponent (const vtkIdType i, const int j, float c)
unsigned char * | GetPointer (const vtkIdType id)
void | DeepCopy (vtkDataArray *da)
void | GetTuple (const vtkIdType i, float *tuple)
void | GetTuple (const vtkIdType i, double *tuple)
void | SetTuple (const vtkIdType i, const float *tuple)
void | SetTuple (const vtkIdType i, const double *tuple)
void | InsertTuple (const vtkIdType i, const float *tuple)
void | InsertTuple (const vtkIdType i, const double *tuple)
vtkIdType | InsertNextTuple (const float *tuple)
vtkIdType | InsertNextTuple (const double *tuple)
void | InsertValue (const vtkIdType id, const int i)
vtkIdType | InsertNextValue (const int i)
unsigned char * | WritePointer (const vtkIdType id, const vtkIdType number)
void * | GetVoidPointer (const vtkIdType id)
void | SetArray (unsigned char *array, vtkIdType size, int save)
void | SetVoidArray (void *array, vtkIdType size, int save)

## Static Public Methods

vtkBitArray * | New ()
int | IsTypeOf (const char *type)
vtkBitArray * | SafeDownCast (vtkObject *o)

## Protected Methods

| vtkBitArray (vtkIdType numComp=1)
| ~vtkBitArray ()
unsigned char * | ResizeAndExtend (const vtkIdType sz)

## Protected Attributes

unsigned char * | Array
int | TupleSize
float * | Tuple
int | SaveUserArray

## Member Typedef Documentation

typedef vtkDataArray vtkBitArray::Superclass

| Reimplemented from vtkDataArray. Definition at line 52 of file vtkBitArray.h.

## Constructor & Destructor Documentation

vtkBitArray::vtkBitArray | ( | vtkIdType | numComp = 1 | ) | `[protected]`

vtkBitArray::~vtkBitArray | ( |  | ) | `[protected]`

## Member Function Documentation

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.

int vtkBitArray::IsTypeOf | ( | const char * | type | ) | `[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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkDataArray.

virtual int vtkBitArray::IsA | ( | const char * | type | ) | `[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 vtkTypeRevisionMacro found in vtkSetGet.h. Reimplemented from vtkDataArray.

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.

int vtkBitArray::Allocate | ( | const vtkIdType | sz,
|  | const vtkIdType | ext = 1000
| ) | `[virtual]`

| Allocate memory for this array. Delete old storage only if necessary. Note that ext is no longer used. Implements vtkDataArray. Referenced by SetNumberOfValues().

void vtkBitArray::Initialize | ( |  | ) | `[virtual]`

| Release storage and reset array to initial state. Implements vtkDataArray.

int vtkBitArray::GetDataType | ( |  | ) | `[inline, virtual]`

| Return the underlying data type. An integer indicating data type is returned as specified in vtkSetGet.h. Implements vtkDataArray. Definition at line 63 of file vtkBitArray.h. References VTK_BIT.

int vtkBitArray::GetDataTypeSize | ( |  | ) | `[inline, virtual]`

| Return the size of the underlying data type. For a bit, 0 is returned. Implements vtkDataArray. Definition at line 64 of file vtkBitArray.h.

void vtkBitArray::SetNumberOfTuples | ( | const vtkIdType | number | ) | `[virtual]`

| Set the number of n-tuples in the array. Implements vtkDataArray.

float* vtkBitArray::GetTuple | ( | const 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 | ( | const vtkIdType | i,
|  | float * | tuple
| ) | `[virtual]`

| Copy the tuple value into a user-provided array. Implements vtkDataArray.

void vtkBitArray::GetTuple | ( | const vtkIdType | i,
|  | double * | tuple
| ) | `[virtual]`

| Copy the tuple value into a user-provided array. Reimplemented from vtkDataArray.

void vtkBitArray::SetTuple | ( | const vtkIdType | i,
|  | const float * | tuple
| ) | `[virtual]`

| Set the tuple value at the ith location in the array. Implements vtkDataArray.

void vtkBitArray::SetTuple | ( | const vtkIdType | i,
|  | const double * | tuple
| ) | `[virtual]`

| Set the tuple value at the ith location in the array. Reimplemented from vtkDataArray.

void vtkBitArray::InsertTuple | ( | const vtkIdType | i,
|  | const float * | tuple
| ) | `[virtual]`

| Insert (memory allocation performed) the tuple into the ith location in the array. Implements vtkDataArray.

void vtkBitArray::InsertTuple | ( | const vtkIdType | i,
|  | const double * | tuple
| ) | `[virtual]`

| Insert (memory allocation performed) the tuple into the ith location in the array. Reimplemented from 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. Reimplemented from vtkDataArray.

void vtkBitArray::SetComponent | ( | const vtkIdType | i,
|  | const int | j,
|  | float | 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 vtkDataArray. Definition at line 244 of file vtkBitArray.h. References ResizeAndExtend().

virtual void vtkBitArray::Resize | ( | vtkIdType | numTuples | ) | `[virtual]`

| Resize the array while conserving the data. Implements vtkDataArray.

int vtkBitArray::GetValue | ( | const vtkIdType | id | ) |

| Get the data at a particular index.

void vtkBitArray::SetNumberOfValues | ( | const 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 201 of file vtkBitArray.h.

References Allocate(), vtkDataArray::MaxId, and vtkIdType.

void vtkBitArray::SetValue | ( | const vtkIdType | id,
|  | const 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 207 of file vtkBitArray.h. References Array, id, and vtkIdType.

void vtkBitArray::InsertValue | ( | const vtkIdType | id,
|  | const int | i
| ) | `[inline]`

| Insets values and checks to make sure there is enough memory Definition at line 219 of file vtkBitArray.h. References Array, id, vtkDataArray::MaxId, ResizeAndExtend(), vtkDataArray::Size, and vtkIdType. Referenced by InsertNextValue().

vtkIdType vtkBitArray::InsertNextValue | ( | const int | i | ) | `[inline]`

| Insets values and checks to make sure there is enough memory Definition at line 239 of file vtkBitArray.h. References InsertValue(), vtkDataArray::MaxId, and vtkIdType.

virtual void vtkBitArray::InsertComponent | ( | const vtkIdType | i,
|  | const int | j,
|  | float | 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 | ( | const vtkIdType | id | ) | `[inline]`

| Direct manipulation of the underlying data. Definition at line 137 of file vtkBitArray.h. References id, and vtkIdType.

unsigned char * vtkBitArray::WritePointer | ( | const vtkIdType | id,
|  | const vtkIdType | number
| ) | `[inline]`

| 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. Definition at line 186 of file vtkBitArray.h. References Array, id, vtkDataArray::MaxId, ResizeAndExtend(), vtkDataArray::Size, and vtkIdType.

void* vtkBitArray::GetVoidPointer | ( | const 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 vtkDataArray. Definition at line 144 of file vtkBitArray.h. References id, and vtkIdType.

void vtkBitArray::DeepCopy | ( | vtkDataArray * | da | ) | `[virtual]`

| Deep copy of another bit array. Reimplemented from vtkDataArray.

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.

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.

Definition at line 159 of file vtkBitArray.h.

References vtkIdType.

unsigned char* vtkBitArray::ResizeAndExtend | ( | const vtkIdType | sz | ) | `[protected]`

| Referenced by InsertValue(), Squeeze(), and WritePointer().

## Member Data Documentation

unsigned char* vtkBitArray::Array`[protected]`

| Definition at line 168 of file vtkBitArray.h. Referenced by InsertValue(), SetValue(), and WritePointer().

int vtkBitArray::TupleSize`[protected]`

| Definition at line 172 of file vtkBitArray.h.

float* vtkBitArray::Tuple`[protected]`

| Definition at line 173 of file vtkBitArray.h.

int vtkBitArray::SaveUserArray`[protected]`

| Definition at line 175 of file vtkBitArray.h.

The documentation for this class was generated from the following file:

- Common/vtkBitArray.h