# NNS_G2dTraverseMCNodes

## C Specification

      #include <nnsys/g2d/g2d_MultiCellAnimation.h>

      void NNS_G2dTraverseMCNodes
      (
          NNSG2dMultiCellInstance* pMCellInst,
          NNSG2dMCTraverseNodeCallBack    pCBFunc,
          u32 userParameter
      );

## Arguments

pMCellInst | [IN] Multicell entity
pCBFunc | [IN] Callback function called for every node in the multicell
userParamater | [IN] Parameter that the user is free to use and passed as the first argument of the callback function

## Return Values

None.

## Description

Scans the nodes that make up a multicell to collect node, cell animation, and node number information, and uses this information as arguments to call the callback function. `NNS_G2dTraverseMCCellAnims()` that cycles through cell animation units is also provided. The definition of `NNSG2dMCTraverseNodeCallBack` is shown below.

    typedef BOOL (*NNSG2dMCTraverseNodeCallBack)
    (
        u32 userParamater,
        const NNSG2dMultiCellHierarchyData* pNodeData,
    NNSG2dCellAnimation* pCellAnim,
        u16 nodeIdx
    );

To suspend the callback, set to return FALSE in the callback function.

Note: If the entity is a multicell initialized with `NNS_G2D_MCTYPE_DONOT_SHARE_CELLANIM`, the user can modify the SRT (scale, rotate, translate) information in the node information. However, the node information passed as the argument of the callback call of this function is a static data resource; therefore, the data will not reflect the changes made by the user.

## See Also

`NNS_G2dTraverseMCCellAnims
`

## Revision History

09/01/2005 Initial version.