31 #include "vtkCommonCoreModule.h"
34 class vtkBitArrayLookup;
52 void Initialize() VTK_OVERRIDE;
55 int GetDataType() VTK_OVERRIDE {
return VTK_BIT;}
147 void RemoveLastTuple() VTK_OVERRIDE;
156 void SetComponent(
vtkIdType i,
int j,
double c) VTK_OVERRIDE;
161 void Squeeze() VTK_OVERRIDE;
166 int Resize(
vtkIdType numTuples) VTK_OVERRIDE;
180 void SetNumberOfValues(
vtkIdType number) VTK_OVERRIDE;
209 void InsertComponent(
vtkIdType i,
int j,
double c) VTK_OVERRIDE;
215 {
return this->Array +
id/8; }
226 return this->WritePointer(
id, number);
231 return static_cast<void *
>(this->GetPointer(
id));
256 this->SetArray(static_cast<unsigned char *>(array),
size,
save);
259 int vtkNotUsed(deleteMethod)) VTK_OVERRIDE
261 this->SetArray(static_cast<unsigned char *>(array), size, save);
277 void LookupValue(
int value,
vtkIdList* ids);
288 void DataChanged() VTK_OVERRIDE;
295 void ClearLookup() VTK_OVERRIDE;
299 ~vtkBitArray() VTK_OVERRIDE;
301 unsigned char *Array;
302 unsigned char *ResizeAndExtend(
vtkIdType sz);
316 void operator=(const
vtkBitArray&) VTK_DELETE_FUNCTION;
318 vtkBitArrayLookup* Lookup;
326 this->MaxId = number - 1;
334 this->Array[
id/8] =
static_cast<unsigned char>(
335 this->Array[
id/8] | (0x80 >>
id%8));
339 this->Array[
id/8] =
static_cast<unsigned char>(
340 this->Array[
id/8] & (~(0x80 >>
id%8)));
347 if (
id >= this->Size )
349 if (!this->ResizeAndExtend(
id+1))
356 this->Array[
id/8] =
static_cast<unsigned char>(
357 this->Array[
id/8] | (0x80 >>
id%8));
361 this->Array[
id/8] =
static_cast<unsigned char>(
362 this->Array[
id/8] & (~(0x80 >>
id%8)));
364 if (
id > this->MaxId )
373 this->SetValue(
id, value.
ToInt());
378 this->InsertValue(
id, value.
ToInt());
383 this->InsertValue (++this->MaxId,i);
void Squeeze() override
Free any unneeded memory.
virtual void DataChanged()=0
Tell the array explicitly that the data has changed.
virtual void DeepCopy(vtkAbstractArray *da)
Deep copy of data.
void SetVariantValue(vtkIdType idx, vtkVariant value) override
Set a value in the array from a variant.
Abstract superclass for all arrays.
virtual double * GetTuple(vtkIdType tupleIdx)=0
Get the data tuple at tupleIdx.
void SetTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override
Set the tuple at dstTupleIdx in this array to the tuple at srcTupleIdx in the source array...
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
void InsertTuple(vtkIdType dstTupleIdx, vtkIdType srcTupleIdx, vtkAbstractArray *source) override
Insert the tuple at srcTupleIdx in the source array into this array at dstTupleIdx.
void SetVoidArray(void *array, vtkIdType size, int save, int vtkNotUsed(deleteMethod)) override
This method lets the user specify data to be held by the array.
int GetDataTypeSize() override
Return the size of the underlying data type.
void DeepCopy(vtkAbstractArray *aa) override
Deep copy of data.
void InsertValue(vtkIdType id, int i)
Inserts values and checks to make sure there is enough memory.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
A atomic type representing the union of many types.
void SetValue(vtkIdType id, int value)
Set the data at a particular index.
int ToInt(bool *valid) const
Convert the variant to a numeric type: If it holds a numeric, cast to the appropriate type...
void * GetVoidPointer(vtkIdType id) override
Return a void pointer.
a simple class to control print indentation
list of point or cell ids
void InsertVariantValue(vtkIdType idx, vtkVariant value) override
Inserts values from a variant and checks to ensure there is enough memory.
abstract superclass for arrays of numeric data
virtual VTK_NEWINSTANCE vtkArrayIterator * NewIterator()=0
Subclasses must override this method and provide the right kind of templated vtkArrayIteratorTemplate...
Abstract superclass to iterate over elements in an vtkAbstractArray.
vtkIdType InsertNextTuple(vtkIdType srcTupleIdx, vtkAbstractArray *source) override
Insert the tuple from srcTupleIdx in the source array at the end of this array.
virtual int Allocate(vtkIdType numValues, vtkIdType ext=1000)=0
Allocate memory for this array.
void save(Archiver &ar, const vtkUnicodeString &str, const unsigned int vtkNotUsed(version))
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
void DeepCopy(vtkAbstractArray *aa) override
Deep copy of data.
dynamic, self-adjusting array of bits
void * WriteVoidPointer(vtkIdType id, vtkIdType number) override
Get the address of a particular data index.
vtkIdType InsertNextValue(int i)
virtual void RemoveTuple(vtkIdType tupleIdx)=0
These methods remove tuples from the data array.
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...
virtual void SetNumberOfTuples(vtkIdType numTuples)=0
Set the number of tuples (a component group) in the array.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
void SetVoidArray(void *array, vtkIdType size, int save) override
This method lets the user specify data to be held by the array.
virtual void RemoveFirstTuple()
These methods remove tuples from the data array.