
##############
A3DRootBaseSet
##############

.. c:function:: A3DStatus A3DRootBaseSet(A3DRootBase *pRootBase, const A3DRootBaseData *pData)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DRootBaseSet(:c:type:`~A3DRootBase`\ \* **pRootBase**\ , *const* :c:struct:`~A3DRootBaseData`\ \* **pData**\ )
   
   Adds an :c:struct:`~A3DRootBaseData`\ structure to an existing PRC entity.
   
   According to what is defined in the parameter pData, the :c:type:`~A3DEntity`\ will be updated.
   
   
   - If :c:member:`A3DRootBaseData::m_pcName <A3DRootBaseData.m_pcName>`\ is initialized, the entity will be renamed.
   - Persistent and non-persistent id's are systematically replaced.
   - The array :c:member:`A3DRootBaseData::m_ppAttributes <A3DRootBaseData.m_ppAttributes>`\ will be appended to the current attribute array of the Entity. To manipulate just the Entity attributes, please use the following functions::c:func:`~A3DRootBaseAttributeRemoveAll`\ , :c:func:`~A3DRootBaseAttributeRemove`\ , :c:func:`~A3DRootBaseAttributeRemoveAt`\ , :c:func:`~A3DRootBaseAttributeAppend`\ , :c:func:`~A3DRootBaseAttributeAdd`\ .
   
   **Returns**
   
   
      ``A3D_SUCCESS``\ on success, or an error code on failure
   
   




