
#################
A3DGraphStyleData
#################

.. c:struct:: A3DGraphStyleData

   General style information. 
   
   
      2.0
   
   
   
   The ``A3DGraphStyleData`` is a globally indexed entity describing all the graphics properties a renderable object can be assigned to, such as drawing patterns, materials or textures.
   
   Any ``A3DRootBaseWithGraphics`` entity holds an instance of ``A3DGraphStyle`` through its ``A3DGraphics`` entity. The following example function fills in an ``A3DGraphStyleData`` given an ``A3DRootBaseWithGraphics`` instance: 
   
   
   ::
   
      voidGetGraphStyleData(constA3DRootBaseWithGraphics*base,A3DGraphStyleData*style_data)
      {
      assert(style_data!=0);
      
      A3DRootBaseWithGraphicsDatabase_data;
      A3D_INITIALIZE_DATA(A3DRootBaseWithGraphicsData,base_data);
      A3DStatusresult=A3DRootBaseWithGraphicsGet(base,&base_data);
      assert(result==A3D_SUCCESS);
      
      A3DGraphicsDatagraphics_data;
      A3D_INITIALIZE_DATA(A3DGraphicsData,graphics_data);
      result=A3DGraphicsGet(base_data.m_pGraphics,&graphics_data);
      assert(result==A3D_SUCCESS);
      
      result=A3DGlobalGetGraphStyleData(graphics_data.m_uiStyleIndex,style_data);
      assert(result==A3D_SUCCESS);
      
      A3DGraphicsGet(0,&graphics_data);
      A3DRootBaseWithGraphicsGet(0,&base_data);
      }
   
   
      :c:struct:`~A3DGraphicsData` 
   
   
   
      :c:func:`~A3DGraphicsGet` 
   
   
   
      :c:enum:`~A3DERenderingMode` 
   
   
   
      :c:func:`~A3DGlobalGetGraphStyleData` 
   
   
   
      :c:func:`~A3DGlobalInsertGraphStyle` 
   
   
   
      :c:struct:`~A3DRootBaseWithGraphicsData` 
   
   
   
      :c:func:`~A3DRootBaseWithGraphicsGet` 
   
   
   
   Index
   =====
   
   .. rubric:: Variables
   
   
   .. rst-class:: api-xref-list
   
   
   * :c:member:`~A3DGraphStyleData.m_dWidth`
   * :c:member:`~A3DGraphStyleData.m_bVPicture`
   * :c:member:`~A3DGraphStyleData.m_uiLinePatternIndex`
   * :c:member:`~A3DGraphStyleData.m_bMaterial`
   * :c:member:`~A3DGraphStyleData.m_uiRgbColorIndex`
   * :c:member:`~A3DGraphStyleData.m_bIsTransparencyDefined`
   * :c:member:`~A3DGraphStyleData.m_ucTransparency`
   * :c:member:`~A3DGraphStyleData.m_bSpecialCulling`
   * :c:member:`~A3DGraphStyleData.m_bFrontCulling`
   * :c:member:`~A3DGraphStyleData.m_bBackCulling`
   * :c:member:`~A3DGraphStyleData.m_bNoLight`
   * :c:member:`~A3DGraphStyleData.m_eRenderingMode`
   
   



.. rst-class:: kind-group kind-variable

.. rubric:: Variables
   :class: kind-group-title


.. c:member:: A3DDouble A3DGraphStyleData.m_dWidth

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DDouble`
      
      Drawing lines width in millimeters. 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bVPicture

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Indicates whether ``m_uiLinePatternIndex`` indexes an ``A3DGraphVPicturePattern`` (``A3D_TRUE``\ ) or an ``A3DGraphLinePattern`` (``A3D_FALSE``\ ). 
      



.. c:member:: A3DUns32 A3DGraphStyleData.m_uiLinePatternIndex

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      A global index to either an ``A3DGraphVPicturePattern`` or an ``A3DGraphLinePattern`` according to the value of ``m_bVPicture``\ . 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bMaterial

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Indicates whether ``m_uiRgbColorIndex`` indexes an ``A3DGraphMaterialData`` (``A3D_TRUE``\ ) or an ``A3DGraphRgbColorData`` (``A3D_FALSE``\ ). 
      



.. c:member:: A3DUns32 A3DGraphStyleData.m_uiRgbColorIndex

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      A global index to either an ``A3DGraphMaterialData`` or an ``A3DGraphRgbColorData`` according to the value of ``m_bMaterial``\ . 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bIsTransparencyDefined

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Indicates whether transparency is defined. 
      



.. c:member:: A3DUns8 A3DGraphStyleData.m_ucTransparency

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns8`
      
      The transparency value from *0* (invisible) to *255* (fully visible) when ``m_bIsTransparencyDefined`` is set. 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bSpecialCulling

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      If true, front and back face culling can be enabled separately using ``m_bFrontCulling`` and ``m_bBackCulling`` respectively. 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bFrontCulling

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Enables front face culling. Active only when ``m_bSpecialCulling`` is set to ``A3D_TRUE``\ . 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bBackCulling

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Enables back face culling. Active only when ``m_bSpecialCulling`` is set to ``A3D_TRUE``\ . 
      



.. c:member:: A3DBool A3DGraphStyleData.m_bNoLight

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      If true, lighting is disabled for the whole style. 
      



.. c:member:: A3DERenderingMode A3DGraphStyleData.m_eRenderingMode

      .. rst-class:: sig-pretty-signature
      
         | :c:enum:`~A3DERenderingMode`
      
      Surface rendering mode: solid, outline, wireframe or hidden line removal. 
      




