# NNS_G2dMakeCellToOams

## Syntax

      #include <nnsys/g2d/g2d_CellAnimation.h>

      u16 NNS_G2dMakeCellToOams
      (
          GXOamAttr*              pDstOams,
          u16                     numDstOam,
          const NNSG2dCellData*   pCell,
          const MtxFx22*          pMtxSR,
          const NNSG2dFVec2*      pBaseTrans,
          u16                     affineIndex,
          BOOL                    bDoubleAffine
      );

## Arguments

`pDstOams` | [OUT] Pointer to the start of the buffer that stores the transformation result
`numDstOam` | [IN] Length of the buffer that stores the transformation result
`pCell` | [IN] Cell data
`pMtxSR` | [IN] Affine transformation (optional)
`pBaseTrans` | [IN] Translation value (optional)
`affineIdx` | [IN] Affine index (optional)
`bDoubleAffine` | [IN] Whether to use the double-size affine mode

## Return Values

The number of OBJs used.

## Description

Writes out the OBJ array that renders the cell. Sufficient space must be secured in the buffer. Pass `NULL` to `pMtxSR` and `pBaseTrans` when you do not want to perform affine transformation or translation. If performing an affine transformation, specify an affine index.
The affine transformation matrix that is taken in by this function must be a standard-format matrix.
Note that inverse-format matrices cannot be used for scale values that are used as affine parameters of the 2D graphics engine.
When double-size affine mode is specified, the function internally performs position correction of the OBJ.
Starting with the 2005/06/06 version, position correction processing is performed only when the OBJ's affine transformation mode is actually changed. (In other words, data created as a double-size affine OBJ is not corrected.)

## See Also

`NNS_G2dCopyCellAsOamAttr`

## Revision History

2005/06/06 Added warning about position correction processing.
2004/05/28 Initial version.

CONFIDENTIAL