
##############
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
   
   




