
############################
A3DPDFDataTable3DViewsCreate
############################

.. c:function:: A3DStatus A3DPDFDataTable3DViewsCreate(A3DPDFDocument *pDoc, A3DPDF3DArtwork *p3DArtwork, A3DAsmModelFile *pModelFile, const int iModeFlags, const A3DPDFTable3DViewsData *pTable3DViewsData, A3DPDFDataTable3DViews **ppDataTable)

   .. rst-class:: sig-pretty-signature
   
      | :c:enum:`~A3DStatus` A3DPDFDataTable3DViewsCreate(:c:type:`~A3DPDFDocument`\ \* **pDoc**\ , :c:type:`~A3DPDF3DArtwork`\ \* **p3DArtwork**\ , :c:type:`~A3DAsmModelFile`\ \* **pModelFile**\ , *const* *int* **iModeFlags**\ , *const* :c:struct:`~A3DPDFTable3DViewsData`\ \* **pTable3DViewsData**\ , :c:type:`~A3DPDFDataTable3DViews`\ \*\* **ppDataTable**\ )
   
   Function to create a table for 3D views.
   
   The table generated is derived from the list obtained with A3DPDF3DArtworkGetViews: it has the same size, and each row has the following columns:
   
   
   - column 0 is for the index in 3D annot internal views (internally assigned).
   - column 1 is the internal name of the view (internally assigned).
   - column 2 is the label of the view to be displayed in carousel buttons (assigned using :c:member:`~A3DPDFTable3DViewsData.m_ppcViewLabels`\ parameter).
   - column 3 is the icon name for the view (internally assigned from icons generation for carousel and :c:member:`~A3DPDFTable3DViewsData.m_ppImages`\ parameter)
   - additional columns are defined in pTable3DViewsData in m_pDataTableData member.
   
   **Important:**\ If iModeFlags is set to :c:macro:`~kA3DPDFTableFor3DViewsComputePosters`\ , the following applies: HOOPS Exchange publish component uses the graphics driver of the user's PC. By default, HOOPS Publish attempts to select the graphics driver in this order: DX11->DX9->OpenGL2->OpenGL. To override the default driver selection, set the A3DPOSTERDRV environment variable to one of the following values: DX11, DX9, OGL2, OGL1
   
   **Parameters**
   
   
      **pDoc**\ : The Document object to work with.
   
      **p3DArtwork**\ : Artwork object, used to get view definitions to compute posters.
   
      **pModelFile**\ : Used to compute posters - must be the modelfile as stored into p3DArtwork.
   
      **iModeFlags**\ : indicate how views are specified. see :ref:`Bit Field to indicate the options for creating table for 3D views. <group__a3d__pdf___table_for3_d_views>`\ . For information about graphics driver selection for poster generation, please the details section above.
   
      **pTable3DViewsData**\ : This allows specification of custom data in addition to internal data. Only used if kA3DPDFTableFor3DViewsCustom is specified in iModeFlags.
   
      **ppDataTable**\ : The DataTable3DViews object created.
   
   
   **Returns**
   
   
      A3D_SUCCESS in case of success or an error code
   
   




