
###################################
A3DAsmComputeFilePathsFromModelFile
###################################

.. c:function:: A3DStatus A3DAsmComputeFilePathsFromModelFile(const A3DAsmModelFile *pA3DAsmModelFile, A3DUns32 *uNbPartFiles, A3DUTF8Char ***ppPartFilePaths, A3DUns32 *uNbAssemblyFiles, A3DUTF8Char ***ppAssemblyFilePaths, A3DUns32 *uNbMissingFiles, A3DUTF8Char ***ppMissingFilePaths)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DAsmComputeFilePathsFromModelFile(*const* :c:type:`~A3DAsmModelFile`\ * **pA3DAsmModelFile**\ , :c:type:`~A3DUns32`\ * **uNbPartFiles**\ , :c:type:`~A3DUTF8Char`\ *** **ppPartFilePaths**\ , :c:type:`~A3DUns32`\ * **uNbAssemblyFiles**\ , :c:type:`~A3DUTF8Char`\ *** **ppAssemblyFilePaths**\ , :c:type:`~A3DUns32`\ * **uNbMissingFiles**\ , :c:type:`~A3DUTF8Char`\ *** **ppMissingFilePaths**\ )
   
   Extract file paths from a model file. 
   
   This function reads the :c:type:`~A3DAsmModelFile` and extracts the file path of all the sub-assembly files, part files and missing files of the :c:type:`~A3DAsmModelFile` entity. Sub-assembly files are files referencing other files (part files or other sub-assembly files).
   Part files are final files with no reference to another depending file.
   If a file has reference on both types of file, the file will be considered as a sub-assembly file and will not be referenced in the part file paths array.
   Missing files are sub-files that cannot be loaded for some reasons: bad paths, file not found...
   
   If pA3DAsmModelFile is null, the :c:type:`~A3DUTF8Char` arrays will be freed if the corresponding unsigned int parameters are non-null: A3DAsmComputeFilePathsFromModelFile(NULL, [...]) to delete the arrays.
   
   **Parameters**
   
   
      **pA3DAsmModelFile**\ : Input model file. Can be "tree only" :c:type:`~A3DAsmModelFile`\ . 
   
      **uNbPartFiles**\ : Location to the number of found part files. Cannot be null. 
   
      **ppPartFilePaths**\ : Location to the path of each part files. Cannot be null. 
   
      **uNbAssemblyFiles**\ : Location to the number of found sub-assembly files. 
   
      **ppAssemblyFilePaths**\ : Location to the path of each sub-assembly files. 
   
      **uNbMissingFiles**\ : Location to the number of found missing files. 
   
      **ppMissingFilePaths**\ : Location to the path of each missing files.
   
   
   **Returns**
   
   
      ``A3D_SUCCESS`` on success, or an error code on failure
   
   




