.. role:: clio-inherited
   :class: clio-flag clio-flag-inherited


##########
PartPoints
##########

.. js:class:: cee.mrk.PartPoints

   A part that can show points in a :js:class:`MarkupModel <cee.mrk.MarkupModel>`\ .
   
   Use :js:meth:`MarkupModel.addPointsPart <cee.mrk.MarkupModel.addPointsPart>` to create a new instance of this class.
   
   
   Index
   =====
   
   .. rubric:: Accessors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~cee.mrk.PartPoints.color`
   * :js:func:`~cee.mrk.PartPoints.colorArray`
   * :js:func:`~cee.mrk.PartPoints.customData`
   * :js:func:`~cee.mrk.PartPoints.pointSize`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~cee.mrk.PartPoints.rayIntersect`
   * :js:meth:`~cee.mrk.PartPoints.setColorArray`
   * :js:meth:`~cee.mrk.PartPoints.setColorArrayUint8Array`
   * :js:meth:`~cee.mrk.PartPoints.setVertices`
   * :js:meth:`~cee.mrk.PartPoints.setVerticesFloat32Array`
   
   



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

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


.. js:method:: cee.mrk.PartPoints.color

      .. rst-class:: sig-pretty-signature
      
         | *get* color(): :js:class:`Color3Like <cee.Color3Like>`
      
      The single color of the part if no per-point color is specified with the colorArray() property
      
      **Returns**\ : :js:class:`Color3Like <cee.Color3Like>`
      
      .. rst-class:: sig-pretty-signature
      
         | *set* color(**color**\ : :js:class:`Color3Like <cee.Color3Like>`\ ): *void*
      
      **Parameters**
      
      
         **color**\ : :js:class:`Color3Like <cee.Color3Like>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartPoints.colorArray

      .. rst-class:: sig-pretty-signature
      
         | *get* colorArray(): *Uint8Array*
      
      The Uint8Array with the per point colors (if any).
      
      Colors are interleaved in a Uint8Array with (r0,g0,b0,r1,g1,b1,...) ordering and each component being 0..255
      
      **Returns**\ : *Uint8Array*
      



.. js:method:: cee.mrk.PartPoints.customData

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. 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.mrk.PartPoints.pointSize

      .. rst-class:: sig-pretty-signature
      
         | *get* pointSize(): *number*
      
      Controls the point size
      
      **Returns**\ : *number*
      
      .. rst-class:: sig-pretty-signature
      
         | *set* pointSize(**pointSize**\ : *number*\ ): *void*
      
      **Parameters**
      
      
         **pointSize**\ : *number*
      
      
      **Returns**\ : *void*
      



.. rst-class:: kind-group kind-methods

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


.. js:method:: cee.mrk.PartPoints.rayIntersect

      .. rst-class:: sig-pretty-signature
      
         | rayIntersect(**ray**\ : :js:class:`Ray <cee.Ray>`\ , **hitItem**\ : :js:class:`PartHitItem <cee.mrk.PartHitItem>`\ ): *boolean*
      
      Picking
      
      **Parameters**
      
      
         **ray**\ : :js:class:`Ray <cee.Ray>`
      
         **hitItem**\ : :js:class:`PartHitItem <cee.mrk.PartHitItem>`
      
      
      **Returns**\ : *boolean*
      



.. js:method:: cee.mrk.PartPoints.setColorArray

      .. rst-class:: sig-pretty-signature
      
         | setColorArray(**colorArr**\ : *ArrayLike*\ ): *void*
      
      Specify one color per point/vertex.
      
      The size of the array must match the number of vertices (points) in the part.
      
      The colors needs to be interleaved (r0, g0, b0, r1, g1, b1, ...)
      
      **Parameters**
      
      
         **colorArr**\ : *ArrayLike*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartPoints.setColorArrayUint8Array

      .. rst-class:: sig-pretty-signature
      
         | setColorArrayUint8Array(**colorArr**\ : *Uint8Array*\ ): *void*
      
      Specify one color per point/vertex.
      
      Colors needs to be specified in a Uint8Array with (r0,g0,b0,r1,g1,b1,...) ordering and each component being 0..255
      
      This is the most optimal setting as the PartPoints will just hold a reference to the passed array and not copy any data.
      
      **Parameters**
      
      
         **colorArr**\ : *Uint8Array*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartPoints.setVertices

      .. rst-class:: sig-pretty-signature
      
         | setVertices(**vertices**\ : *ArrayLike*\ ): *void*
      
      Sets the vertices for the points
      
      **Parameters**
      
      
         **vertices**\ : *ArrayLike*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartPoints.setVerticesFloat32Array

      .. rst-class:: sig-pretty-signature
      
         | setVerticesFloat32Array(**vertices**\ : *Float32Array*\ ): *void*
      
      Sets the vertices for the points from a Float32Array
      
      The coordinates needs to be interleaved (x0, y0, z0, x1, y1, z1, ...)
      
      This is the most optimal setting as the PartPoints will just hold a reference to the passed array and not copy any data.
      
      **Parameters**
      
      
         **vertices**\ : *Float32Array*
      
      
      **Returns**\ : *void*
      




