# NNS_G2dMakeCellToOams

## C Specification

      #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] Points to the start of the buffer that stores the conversion result
numDstOam | [IN] Length of the buffer that stores the conversion result
pCell | [IN] Cell data
pMtxSR | [IN] Affine transformation (optional)
pBaseTrans | [IN] Translation value (optional)
affineIdx | [IN] Affine index (optional)
bDoubleAffine | [IN] Whether or not to use the double-size affine mode

## Return Values

The number of OBJ used.

## Description

Writes out a string of OBJ that draws the cell. Sufficient space must be secured in the buffer. It also passes a NULL value to `pMtxSR` and `pBaseTrans` when there are no affine conversions and translation values. Designate an affine index when performing an affine conversion.
The affine conversion matrix that is taken in by this function must be a standard-format matrix.
Be aware that matrices with reciprocals for the scale values that are used as the affine parameters of the 2D graphics engine are not allowed.
When double-size affine mode is specified, the function will internally perform position correction of the OBJ.
Starting with the 06/06/2005 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 will not be corrected.)

## See Also

`NNS_G2dCopyCellAsOamAttr
`

## Revision History

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