
#############
A3DTess3DData
#############

.. c:struct:: A3DTess3DData

   Structure used to create or parse an :c:type:`~A3DTess3D`\ entity.
   
   
      2.0
   
   
   
      The :c:type:`~A3DTess3D`\ entity includes data stored in the :c:type:`~A3DTessBase`\ entity.
   
   
   Structure containing all global information for solid representation.
   
   The :c:member:`m_bHasFaces <A3DTess3DData.m_bHasFaces>`\ member indicates whether the :c:type:`~A3DTess3D`\ entity is built with a concept of geometrical faces.
   
   Point coordinates :c:member:`A3DTessBaseData::m_pdCoords <A3DTessBaseData.m_pdCoords>`\ are taken 3 by 3 to build up 3D vectors.
   
   Normal coordinates :c:member:`m_pdNormals <A3DTess3DData.m_pdNormals>`\ are taken 3 by 3 to build up 3D vectors.
   
   Wire indexes in the :c:member:`m_puiWireIndexes <A3DTess3DData.m_puiWireIndexes>`\ array are the point indexes describing the face's wire contours in the array of points of :c:member:`A3DTessBaseData::m_pdCoords <A3DTessBaseData.m_pdCoords>`\ .
   
   Triangulated indexes :c:member:`m_puiTriangulatedIndexes <A3DTess3DData.m_puiTriangulatedIndexes>`\ are the point, normal, and texture indexes describing the face triangulated representation (triangles, triangle fans, triangle strips) in the array of points, normals, and textures coordinates. The indexes are multiples of 3 for points and normals, and should be multiples of 1 to 4 for textures coordinates.
   
   The contents of the :c:struct:`~A3DTessFaceData`\ structure specifies how to interpret the data in this array, as described in :ref:`TessFace <group__a3d__tessface>`\ .
   
   The contents of the :c:struct:`~A3DTessFaceData`\ structure also specifies how the texture coordinates :c:member:`m_pdTextureCoords <A3DTess3DData.m_pdTextureCoords>`\ are interpreted according to the final graphics of each :c:struct:`~A3DTessFaceData`\ . This graphics is given either on the :c:struct:`~A3DTessFaceData`\ structure or by the representation item owning the :c:struct:`~A3DTess3DData`\ . Then, this graphics corresponds to a texture with an appropriate number of coordinates.
   
   An :c:struct:`~A3DTessFaceData`\ structure corresponds to a geometrical face if there is an indication that the tessellation has face data (as denoted by :c:member:`m_bHasFaces <A3DTess3DData.m_bHasFaces>`\ ). Otherwise, it is simply a large container of any tessellated data.
   
   
      :c:member:`A3DTessBaseData::m_uiCoordSize <A3DTessBaseData.m_uiCoordSize>`\ represents the size of the array referenced by :c:member:`A3DTessBaseData::m_pdCoords <A3DTessBaseData.m_pdCoords>`\ . It is not the number of 3D points.
   
   
   
   Index
   =====
   
   .. rubric:: Variables
   
   
   .. rst-class:: api-xref-list
   
   
   * :c:member:`~A3DTess3DData.m_bHasFaces`
   * :c:member:`~A3DTess3DData.m_uiNormalSize`
   * :c:member:`~A3DTess3DData.m_pdNormals`
   * :c:member:`~A3DTess3DData.m_uiWireIndexSize`
   * :c:member:`~A3DTess3DData.m_puiWireIndexes`
   * :c:member:`~A3DTess3DData.m_uiTriangulatedIndexSize`
   * :c:member:`~A3DTess3DData.m_puiTriangulatedIndexes`
   * :c:member:`~A3DTess3DData.m_uiFaceTessSize`
   * :c:member:`~A3DTess3DData.m_psFaceTessData`
   * :c:member:`~A3DTess3DData.m_uiTextureCoordSize`
   * :c:member:`~A3DTess3DData.m_pdTextureCoords`
   * :c:member:`~A3DTess3DData.m_bMustRecalculateNormals`
   * :c:member:`~A3DTess3DData.m_ucNormalsRecalculationFlags`
   * :c:member:`~A3DTess3DData.m_dCreaseAngle`
   
   



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

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


.. c:member:: A3DUns32 A3DTess3DData.m_bHasFaces

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      A value of true indicates the geometrical face notion.
      



.. c:member:: A3DUns32 A3DTess3DData.m_uiNormalSize

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      The size of :c:member:`m_pdNormals <A3DTess3DData.m_pdNormals>`\ .
      



.. c:member:: A3DDouble* A3DTess3DData.m_pdNormals

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DDouble`\ \*
      
      Array of :c:type:`~A3DDouble`\ , **x** \ **y** \ **z**\ for each normal.
      



.. c:member:: A3DUns32 A3DTess3DData.m_uiWireIndexSize

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      The size of :c:member:`m_puiWireIndexes <A3DTess3DData.m_puiWireIndexes>`\ .
      



.. c:member:: A3DUns32* A3DTess3DData.m_puiWireIndexes

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`\ \*
      
      Array of indexes of points in :c:member:`A3DTessBaseData::m_pdCoords <A3DTessBaseData.m_pdCoords>`\ .
      



.. c:member:: A3DUns32 A3DTess3DData.m_uiTriangulatedIndexSize

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      The size of :c:member:`m_puiTriangulatedIndexes <A3DTess3DData.m_puiTriangulatedIndexes>`\ .
      



.. c:member:: A3DUns32* A3DTess3DData.m_puiTriangulatedIndexes

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`\ \*
      
      Array of indexes of points in :c:member:`A3DTessBaseData::m_pdCoords <A3DTessBaseData.m_pdCoords>`\ , of normals in :c:member:`A3DTess3DData::m_pdNormals <A3DTess3DData.m_pdNormals>`\ and texture coordinates in m_pdTextureCoords.
      



.. c:member:: A3DUns32 A3DTess3DData.m_uiFaceTessSize

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      The size of :c:member:`m_psFaceTessData <A3DTess3DData.m_psFaceTessData>`\ .
      



.. c:member:: A3DTessFaceData* A3DTess3DData.m_psFaceTessData

      .. rst-class:: sig-pretty-signature
      
         | :c:struct:`~A3DTessFaceData`\ \*
      
      Array of face tessellation definition.
      



.. c:member:: A3DUns32 A3DTess3DData.m_uiTextureCoordSize

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns32`
      
      The size of :c:member:`m_pdTextureCoords <A3DTess3DData.m_pdTextureCoords>`\ .
      



.. c:member:: A3DDouble* A3DTess3DData.m_pdTextureCoords

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DDouble`\ \*
      
      Array of :c:type:`~A3DDouble`\ , as texture coordinates.
      



.. c:member:: A3DBool A3DTess3DData.m_bMustRecalculateNormals

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DBool`
      
      Normals must be recalculated.
      



.. c:member:: A3DUns8 A3DTess3DData.m_ucNormalsRecalculationFlags

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DUns8`
      
      Unused parameter.
      



.. c:member:: A3DDouble A3DTess3DData.m_dCreaseAngle

      .. rst-class:: sig-pretty-signature
      
         | :c:type:`~A3DDouble`
      
      Unused parameter; definition similar to VRML.
      




