
###
Ray
###

.. js:class:: Ray

   Object representing a Ray.
   
   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Ray.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~Ray.direction`
   * :js:data:`~Ray.origin`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Ray.assign`
   * :js:meth:`~Ray.copy`
   * :js:meth:`~Ray.negate`
   
   




Constructors
============

.. js:method:: Ray.constructor

   .. rst-class:: sig-pretty-signature
   
      | Ray(**origin**\ : :js:class:`~Point3`\ , **direction**\ : :js:class:`~Point3`\ ): :js:class:`~Ray`
   
   **Parameters**
   
      **origin**\ : :js:class:`~Point3`
   
      **direction**\ : :js:class:`~Point3`
   
   
   **Returns**\ : :js:class:`~Ray`
   





Properties
==========

.. js:data:: Ray.direction

   .. rst-class:: sig-pretty-signature
   
      | direction: :js:class:`~Point3`
   



.. js:data:: Ray.origin

   .. rst-class:: sig-pretty-signature
   
      | origin: :js:class:`~Point3`
   





Methods
=======

.. js:method:: Ray.assign

   .. rst-class:: sig-pretty-signature
   
      | assign(**ray**\ : :js:class:`~Ray`\ ): *this*
   
   Sets this ray equal to another ray
   
   **Parameters**
   
      **ray**\ : :js:class:`~Ray`
   
         the ray to assign
   
   
   
   **Returns**\ : *this*
   



.. js:method:: Ray.copy

   .. rst-class:: sig-pretty-signature
   
      | copy(): :js:class:`~Ray`
   
   Creates a copy of this ray
   
   **Returns**\ : :js:class:`~Ray`
   
      a copy of this ray object
   
   



.. js:method:: Ray.negate

   .. rst-class:: sig-pretty-signature
   
      | negate(): *this*
   
   Flips the ray's direction.
   
   **Returns**\ : *this*
   





