
#################
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_MAKE_DATA(A3DRootBaseWithGraphicsData);
      A3DStatusresult=A3DRootBaseWithGraphicsGet(base,&base_data);
      assert(result==A3D_SUCCESS);
      
      A3DGraphicsDatagraphics_data=A3D_MAKE_DATA(A3DGraphicsData);
      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.
      




