31 template <
class ScalarTypeT>
36 typedef ScalarTypeT ScalarType;
59 void SetFreeFunction(
bool noFreeFunction,
void(*deleteFunction)(
void*)=free);
96 void operator=(
const vtkBuffer&) =
delete;
99 template <
class ScalarT>
106 template <
typename ScalarT>
120 template <
typename ScalarT>
134 template <
typename ScalarT>
141 ScalarType* newArray =
142 static_cast<ScalarType*
>(malloc(size *
sizeof(ScalarType)));
155 template <
typename ScalarT>
158 if (newsize == 0) {
return this->
Allocate(0); }
162 ScalarType* newArray =
163 static_cast<ScalarType*
>(malloc(newsize *
sizeof(ScalarType)));
178 ScalarType* newArray =
static_cast<ScalarType*
>(
179 realloc(this->
Pointer, newsize *
sizeof(ScalarType)));
185 this->
Size = newsize;
static vtkBuffer< ScalarTypeT > * New()
abstract base class for most VTK objects
vtkTemplateTypeMacro(vtkBuffer< ScalarTypeT >, vtkObject) typedef ScalarTypeT ScalarType
vtkIdType GetSize() const
Return the number of elements the current buffer can hold.
void SetFreeFunction(bool noFreeFunction, void(*deleteFunction)(void *)=free)
Set the free function to be used when releasing this object.
internal storage class used by vtkSOADataArrayTemplate, vtkAOSDataArrayTemplate, and others...
ScalarType * GetBuffer()
Access the buffer as a scalar pointer.
void SetBuffer(ScalarType *array, vtkIdType size)
Set the memory buffer that this vtkBuffer object will manage.
bool Reallocate(vtkIdType newsize)
Allocate a new buffer that holds newsize elements.
void(* DeleteFunction)(void *)
bool Allocate(vtkIdType size)
Allocate a new buffer that holds size elements.
#define VTK_STANDARD_NEW_BODY(thisClass)
const ScalarType * GetBuffer() const