
############################
A3DGlobalInsertGraphRgbColor
############################

.. c:function:: A3DStatus A3DGlobalInsertGraphRgbColor(const A3DGraphRgbColorData *pData, A3DUns32 *puiIndexRgbColor)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DGlobalInsertGraphRgbColor(*const* :c:struct:`~A3DGraphRgbColorData`\ * **pData**\ , :c:type:`~A3DUns32`\ * **puiIndexRgbColor**\ )
   
   Creates a new indexed color, returning its index. 
   
   
      2.0
   
   
   
   When given an ``A3DGraphRgbColorData``\ , the function searches for an already existing color code of the same value and returns its index. If the color does not exist, it is created and a new index is returned.
   
   
   In case of success, ``puiIndexRgbColor`` is set to the index of the color. This index can be compared to ``A3D_DEFAULT_COLOR_INDEX`` to check whether the input color code matches the default color. In case of failure ``*puiIndexRgbColor`` is unchanged.
   
   
   ::
   
      A3DGraphRgbColorDatargb;
      A3D_INITIALIZE_DATA(A3DGraphRgbColorData,rgb);
      rgb.m_dRed=rgb.m_dGreen=rgb.m_dBlue=0.75f;
      A3DUns32idx_0=A3D_DEFAULT_COLOR_INDEX;
      
      A3DStatusresult=A3DGlobalInsertGraphRgbColor(&rgb,&idx_0);
      assert(result==A3D_SUCCESS);
      
      Secondinsertionwiththesamecolor,expectindextobethesame.
      A3DUns32idx_1=A3D_DEFAULT_COLOR_INDEX;
      result=A3DGlobalInsertGraphRgbColor(&rgb,&idx_1);
      assert(result==A3D_SUCCESS);
      assert(idx_0==idx_1);
   
   **Parameters**
   
   
      **pData**\ : The color code to insert. 
   
      **puiIndexRgbColor**\ : The resulting index for the input color. 
   
   
   **Returns**
   
   
      A3D_SUCCESS or an error code.
   
   




