C++ API Reference: MArrayDataBuilder Class Reference
Array builder for arrays in data blocks.
More...
#include <MArrayDataBuilder.h>
Array builder for arrays in data blocks.
An MArrayDataBuilder is used to construct data for attributes/plugs that have an array of data. An array builder is used with an MArrayDataHandle for managing data.
The class constructor receives an attribute object and the number of elements to allocate space for.
The MObject must be a multi attribute (i.e. a plug that is a composite of multiple element plugs). This is different, for example, from a single attribute of type kVectorArrayData, which would be passed through a single plug as a single lump of data. Common examples of a multi-plug are the worldMatrix attribute that is on all DAG nodes, or the position attribute on the particleShape node.
This class will also take as input the datablock that the builder belongs to. You must specify this datablock if you want your builder to support per-plug caching.
Parameters
[in] block the data block that the builder belongs to.
[in] attribute attribute for which we wish to build data
[in] numElements number of elements to allocate space for
[out] ReturnStatus result status code
Status Codes:
MS::kSuccess operation successful
MS::kInvalidParameter object argument is invalid
MS::kFailure attribute pointer is NULL
Copy constructor.
Parameters
[in] other The source object to copy from.
This method is obsolete.
[as of Maya 2019]
Deprecated: Use the other constructor instead.
Parameters
[in] attribute attribute for which we wish to build data
[in] numElements number of elements to allocate space for
[out] ReturnStatus result status code
Adds a new element to the end of the array.
The index of the element will be the current highest index + 1.
Parameters
[out] ReturnStatus result status code
Returns The handle for the new element
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
Adds a new element to the array at the given index.
Parameters
[in] index the index at which we wish to add the new element
[out] ReturnStatus result status code
Returns The handle for the new element
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
Adds a new element to the end of the array.
The added element is also an array. The index of the element will the current highest index + 1.
Parameters
[out] ReturnStatus result status code
Returns The handle for the new array element
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
Adds a new element to the array at the given index.
The added element is also an array.
Parameters
[in] index the index at which we wish to add the new element
[out] ReturnStatus result status code
Returns The handle for the new array element
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
MStatus removeElement
(
unsigned int
index )
Removes the specified element from the array.
Parameters
[in] index the element of the array to remove
Returns Result status code
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid or remove the remove failed.
unsigned int elementCount
(
MStatus *
ReturnStatus = NULL
)
const
Returns the number of elements in the array.
Parameters
[out] ReturnStatus result status code
Returns The number of elements
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
MStatus growArray
(
unsigned int
amount )
Grows the array storage by the given amount.
Parameters
[in] amount the amount to grow the array by
Returns Result status code
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
MStatus setGrowSize
(
unsigned int
size )
Sets the grow size of the array.
As elements are added to the array, the builder will allocate memory in chunks. This method tells the builder how many elements to allocate each time it grows the array.
Parameters
[in] size the number of elements to allocate when growing the array
Returns Result status code
Status Codes:
MS::kSuccess operation successful
MS::kFailure the object is invalid
Assignment operator.
Parameters
[in] other The source object to copy from.
const char * className
(
)
static
Returns the name of this class.
Returns Name of this class.
The documentation for this class was generated from the following files:
MArrayDataBuilder.h
MArrayDataBuilder.cpp