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


##########
PartArrows
##########

.. js:class:: cee.mrk.PartArrows

   A part that can show arrows in a :js:class:`MarkupModel <cee.mrk.MarkupModel>`\ .
   
   Use :js:meth:`MarkupModel.addArrowsPart <cee.mrk.MarkupModel.addArrowsPart>` to create a new instance of this class.
   
   
   Index
   =====
   
   .. rubric:: Accessors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~cee.mrk.PartArrows.color`
   * :js:func:`~cee.mrk.PartArrows.customData`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~cee.mrk.PartArrows.addArrow`
   * :js:meth:`~cee.mrk.PartArrows.rayIntersect`
   * :js:meth:`~cee.mrk.PartArrows.removeAllArrows`
   * :js:meth:`~cee.mrk.PartArrows.setArrows`
   * :js:meth:`~cee.mrk.PartArrows.setArrowsFloat32Array`
   
   



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

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


.. js:method:: cee.mrk.PartArrows.color

      .. rst-class:: sig-pretty-signature
      
         | *get* color(): :js:class:`Color3Like <cee.Color3Like>`
      
      The single color of all arrows
      
      **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.PartArrows.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*
      



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

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


.. js:method:: cee.mrk.PartArrows.addArrow

      .. rst-class:: sig-pretty-signature
      
         | addArrow(**position**\ : :js:class:`Vec3Like <cee.Vec3Like>`\ , **direction**\ : :js:class:`Vec3Like <cee.Vec3Like>`\ ): *void*
      
      Add an arrow with position and direction to the part
      
      **Parameters**
      
      
         **position**\ : :js:class:`Vec3Like <cee.Vec3Like>`
      
         **direction**\ : :js:class:`Vec3Like <cee.Vec3Like>`
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartArrows.rayIntersect

      .. rst-class:: sig-pretty-signature
      
         | rayIntersect(**_ray**\ : :js:class:`Ray <cee.Ray>`\ , **_hitItem**\ : :js:class:`PartHitItem <cee.mrk.PartHitItem>`\ ): *boolean*
      
      Not implemented, always returns false
      
      **Parameters**
      
      
         **_ray**\ : :js:class:`Ray <cee.Ray>`
      
         **_hitItem**\ : :js:class:`PartHitItem <cee.mrk.PartHitItem>`
      
      
      **Returns**\ : *boolean*
      



.. js:method:: cee.mrk.PartArrows.removeAllArrows

      .. rst-class:: sig-pretty-signature
      
         | removeAllArrows(): *void*
      
      Remove all arrows from the part
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartArrows.setArrows

      .. rst-class:: sig-pretty-signature
      
         | setArrows(**vertexArray**\ : *ArrayLike*\ , **vectorArray**\ : *ArrayLike*\ ): *void*
      
      Sets the arrows by providing the vertices (start points) and the vectors (direction and length)
      
      The coordinates and vectors need to be interleaved (x0, y0, z0, x1, y1, z1, ...)
      
      **Parameters**
      
      
         **vertexArray**\ : *ArrayLike*
      
         **vectorArray**\ : *ArrayLike*
      
      
      **Returns**\ : *void*
      



.. js:method:: cee.mrk.PartArrows.setArrowsFloat32Array

      .. rst-class:: sig-pretty-signature
      
         | setArrowsFloat32Array(**vertexArray**\ : *Float32Array*\ , **vectorArray**\ : *Float32Array*\ ): *void*
      
      Sets the arrows by providing the vertices (start points) and the vectors (direction and length)
      
      The coordinates and vectors need to be interleaved (x0, y0, z0, x1, y1, z1, ...)
      
      This is the most optimal setting as the PartArrows will just hold a reference to the passed array and not copy any data.
      
      **Parameters**
      
      
         **vertexArray**\ : *Float32Array*
      
         **vectorArray**\ : *Float32Array*
      
      
      **Returns**\ : *void*
      




