
####
Part
####

.. js:class:: cee.geo.Part

   A Part is a collection of primitives (triangles, lines, points) and a specification of how to render these primitives.
   
   The primitives are defined as a Mesh.
   
   The PartSettings class defines how a part will be rendered (color, opacity, visibility) and if the part should be intersectable or not.
   
   The GeometryModel is designed to handle a large number of parts (at least 300k+ without issues).
   
   
   Index
   =====
   
   .. rubric:: Accessors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~cee.geo.Part.customData`
   * :js:func:`~cee.geo.Part.mesh`
   * :js:func:`~cee.geo.Part.partIndex`
   * :js:func:`~cee.geo.Part.settings`
   * :js:func:`~cee.geo.Part.transformationMatrix`
   
   



.. rst-class:: kind-group kind-accessors

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


.. js:method:: cee.geo.Part.customData

      .. rst-class:: sig-pretty-signature
      
         | *get* customData(): *any*
      
      Custom data for the part. This field is not used by EnvisionWeb.
      
      **Returns**\ : *any*
      
      .. rst-class:: sig-pretty-signature
      
         | *set* customData(**data**\ : *any*\ ): *void*
      
      **Parameters**
      
      
         **data**\ : *any*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.geo.Part.mesh

      .. rst-class:: sig-pretty-signature
      
         | *get* mesh(): :js:class:`Mesh <cee.geo.Mesh>`
      
      The mesh defining the geometry of the part. If no mesh is defined, null is returned.
      
      **Returns**\ : :js:class:`Mesh <cee.geo.Mesh>`
      
      .. rst-class:: sig-pretty-signature
      
         | *set* mesh(**mesh**\ : :js:class:`Mesh <cee.geo.Mesh>`\ ): *void*
      
      **Parameters**
      
      
         **mesh**\ : :js:class:`Mesh <cee.geo.Mesh>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.geo.Part.partIndex

      .. rst-class:: sig-pretty-signature
      
         | *get* partIndex(): *number*
      
      The index of the part in the parent geometry model
      
      **Returns**\ : *number*
      



.. js:method:: cee.geo.Part.settings

      .. rst-class:: sig-pretty-signature
      
         | *get* settings(): :js:class:`PartSettings <cee.geo.PartSettings>`
      
      Returns an active reference to the settings for this part.
      
      **Returns**\ : :js:class:`PartSettings <cee.geo.PartSettings>`
      



.. js:method:: cee.geo.Part.transformationMatrix

      .. rst-class:: sig-pretty-signature
      
         | *get* transformationMatrix(): :js:class:`Mat4 <cee.Mat4>`
      
      The transformation matrix to use for this part.
      
      The default is null.
      
      **Returns**\ : :js:class:`Mat4 <cee.Mat4>`
      
      .. rst-class:: sig-pretty-signature
      
         | *set* transformationMatrix(**transformationMatrix**\ : :js:class:`Mat4 <cee.Mat4>`\ ): *void*
      
      **Parameters**
      
      
         **transformationMatrix**\ : :js:class:`Mat4 <cee.Mat4>`
      
      
      **Returns**\ : *void*
      




