#include <MArrayDataBuilder.h>
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.
Public Member Functions | |
MArrayDataBuilder (const MObject &attribute, unsigned int numElements, MStatus *ReturnStatus=NULL) | |
Obsolete ... | |
MArrayDataBuilder (MDataBlock *, const MObject &attribute, unsigned int, MStatus *ReturnStatus=NULL) | |
MDataHandle | addLast (MStatus *ReturnStatus=NULL) |
MDataHandle | addElement (unsigned int index, MStatus *ReturnStatus=NULL) |
MArrayDataHandle | addLastArray (MStatus *ReturnStatus=NULL) |
MArrayDataHandle | addElementArray (unsigned int index, MStatus *ReturnStatus=NULL) |
MStatus | removeElement (unsigned int index) |
unsigned int | elementCount (MStatus *ReturnStatus=NULL) const |
MStatus | growArray (unsigned int amount) |
MStatus | setGrowSize (unsigned int size) |
MArrayDataBuilder (const MArrayDataBuilder &other) | |
MArrayDataBuilder & | operator= (const MArrayDataBuilder &other) |
~MArrayDataBuilder () | |
Friends | |
class | MArrayDataHandle |
MArrayDataBuilder::MArrayDataBuilder | ( | const MObject & | attribute, | |
unsigned int | numElements, | |||
MStatus * | ReturnStatus = NULL | |||
) |
Obsolete ...
This method is obsolete.
[in] | attribute | attribute for which we wish to build data |
[in] | numElements | number of elements to allocate space for |
[out] | ReturnStatus | result status code |
MArrayDataBuilder::MArrayDataBuilder | ( | MDataBlock * | block, | |
const MObject & | attribute, | |||
unsigned int | numElements, | |||
MStatus * | ReturnStatus = NULL | |||
) |
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.
[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 |
MArrayDataBuilder::MArrayDataBuilder | ( | const MArrayDataBuilder & | other | ) |
Copy constructor.
[in] | other | The source object to copy from. |
MArrayDataBuilder::~MArrayDataBuilder | ( | ) |
Class destructor.
MDataHandle MArrayDataBuilder::addLast | ( | MStatus * | ReturnStatus = NULL |
) |
Adds a new element to the end of the array. The index of the element will be the current highest index + 1.
[out] | ReturnStatus | result status code |
MDataHandle MArrayDataBuilder::addElement | ( | unsigned int | index, | |
MStatus * | ReturnStatus = NULL | |||
) |
Adds a new element to the array at the given index.
[in] | index | the index at which we wish to add the new element |
[out] | ReturnStatus | result status code |
MArrayDataHandle MArrayDataBuilder::addLastArray | ( | MStatus * | ReturnStatus = NULL |
) |
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.
[out] | ReturnStatus | result status code |
MArrayDataHandle MArrayDataBuilder::addElementArray | ( | unsigned int | index, | |
MStatus * | ReturnStatus = NULL | |||
) |
Adds a new element to the array at the given index. The added element is also an array.
[in] | index | the index at which we wish to add the new element |
[out] | ReturnStatus | result status code |
MStatus MArrayDataBuilder::removeElement | ( | unsigned int | index | ) |
Removes the specified element from the array
[in] | index | the element of the array to remove |
unsigned int MArrayDataBuilder::elementCount | ( | MStatus * | ReturnStatus = NULL |
) | const |
Returns the number of elements in the array
[out] | ReturnStatus | result status code |
MStatus MArrayDataBuilder::growArray | ( | unsigned int | amount | ) |
Grows the array storage by the given amount.
[in] | amount | the amount to grow the array by |
MStatus MArrayDataBuilder::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.
[in] | size | the number of elements to allocate when growing the array |
MArrayDataBuilder & MArrayDataBuilder::operator= | ( | const MArrayDataBuilder & | other | ) |
Assignment operator.
[in] | other | The source object to copy from. |
Autodesk® Maya® 2009 © 1997-2008 Autodesk, Inc. All rights reserved. | Generated with 1.5.6 |