.. role:: ts-api-decorator

####
Part
####

.. js:module:: cee.geo
   :noindex:

.. container:: ts-api-section

   .. js:class:: 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).



.. container:: api-index-section

   .. rubric:: Accessors

   .. rst-class:: api-index-list-item api-kind-accessor api-parent-kind-class

   * :js:attr:`~cee.geo.Part.customData`
   * :js:attr:`~cee.geo.Part.mesh`
   * :js:attr:`~cee.geo.Part.partIndex`
   * :js:attr:`~cee.geo.Part.settings`
   * :js:attr:`~cee.geo.Part.transformationMatrix`





------------

Accessors
=========

.. container:: ts-api-section

   .. js:function:: Part.customData()



      Custom data for the part. This field is not used by EnvisionWeb.


      :rtype: any

   .. js:function:: Part.customData( data)

      :param data: None
      :type data: any


      :rtype: void



.. container:: ts-api-section

   .. js:function:: Part.mesh()



      The mesh defining the geometry of the part. If no mesh is defined, null is returned.


      :rtype: Mesh

   .. js:function:: Part.mesh( mesh)

      :param mesh: None
      :type mesh: Mesh


      :rtype: void



.. container:: ts-api-section

   .. js:function:: Part.partIndex()



      The index of the part in the parent geometry model


      :rtype: number



.. container:: ts-api-section

   .. js:function:: Part.settings()



      Returns an active reference to the settings for this part.


      :rtype: PartSettings



.. container:: ts-api-section

   .. js:function:: Part.transformationMatrix()



      The transformation matrix to use for this part.

      The default is null.


      :rtype: Mat4

   .. js:function:: Part.transformationMatrix( transformationMatrix)

      :param transformationMatrix: None
      :type transformationMatrix: Mat4


      :rtype: void



