- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Friends

# MArrayDataBuilder Class Reference
OpenMaya - API module for common classes

This reference page is linked to from the following overview topics: Implementing a custom transform, Overview of example plug-ins, Example C++ plug-in descriptions.

Search for all occurrences

## Detailed Description

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.

Examples:

  apiMeshShape.cpp, dynExprField.cpp, multiCurveNode.cpp, ownerEmitter.cpp, simpleEmitter.cpp, sweptEmitter.cpp, torusField.cpp, and weightListNode.cpp.

`#include <MArrayDataBuilder.h>`

List of all members.

## Public Member Functions
| MArrayDataBuilder (const MObject &attribute, unsigned int numElements, MStatus *ReturnStatus=NULL)
| Obsolete ...
| MArrayDataBuilder (MDataBlock *, const MObject &attribute, unsigned int, MStatus *ReturnStatus=NULL)
| The class constructor receives an attribute object and the number of elements to allocate space for.
MDataHandle | addLast (MStatus *ReturnStatus=NULL)
| Adds a new element to the end of the array.
MDataHandle | addElement (unsigned int index, MStatus *ReturnStatus=NULL)
| Adds a new element to the array at the given index.
MArrayDataHandle | addLastArray (MStatus *ReturnStatus=NULL)
| Adds a new element to the end of the array.
MArrayDataHandle | addElementArray (unsigned int index, MStatus *ReturnStatus=NULL)
| Adds a new element to the array at the given index.
MStatus | removeElement (unsigned int index)
| Removes the specified element from the array.
unsigned int | elementCount (MStatus *ReturnStatus=NULL) const
| Returns the number of elements in the array.
MStatus | growArray (unsigned int amount)
| Grows the array storage by the given amount.
MStatus | setGrowSize (unsigned int size)
| Sets the grow size of the array.
| MArrayDataBuilder (const MArrayDataBuilder &other)
| Copy constructor.
MArrayDataBuilder & | operator= (const MArrayDataBuilder &other)
| Assignment operator.
| ~MArrayDataBuilder ()
| Class destructor.
## Static Public Member Functions
static const char * | className ()
| Returns the name of this class.
## Friends
class | MArrayDataHandle Search for all occurrences

## Constructor & Destructor Documentation

MArrayDataBuilder | ( | const MObject & | attribute,
|  | unsigned int | numElements,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Obsolete ...

This method is obsolete.

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

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.

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

MArrayDataBuilder | ( | const MArrayDataBuilder & | other | ) |

Copy constructor.

Parameters:

  [in] | other | The source object to copy from.

## Member Function Documentation

MDataHandle addLast | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

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

MDataHandle addElement | ( | unsigned int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

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

Examples:
  apiMeshShape.cpp, dynExprField.cpp, ownerEmitter.cpp, simpleEmitter.cpp, sweptEmitter.cpp, torusField.cpp, and weightListNode.cpp.

MArrayDataHandle addLastArray | ( | MStatus * | ReturnStatus = `NULL` | ) |

Search for all occurrences

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

MArrayDataHandle addElementArray | ( | unsigned int | index,
|  | MStatus * | ReturnStatus = `NULL`
| ) |  |

Search for all occurrences

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 | ) |

Search for all occurrences

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

Search for all occurrences

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 | ) |

Search for all occurrences

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 | ) |

Search for all occurrences

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

MArrayDataBuilder & operator= | ( | const MArrayDataBuilder & | other | ) |

Assignment operator.

Parameters:

  [in] | other | The source object to copy from.

const char * className | ( |  | ) | `[static]`

Search for all occurrences

Returns the name of this class.

Returns:
  Name of this class.

MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder
MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder MArrayDataBuilder