.. role:: ts-api-decorator

#####
Plane
#####

.. container:: ts-api-section

   .. js:class:: Plane

      Object representing a Plane.



.. container:: api-index-section

   .. rubric:: Constructors

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

   * :js:meth:`~Plane.constructor`



.. container:: api-index-section

   .. rubric:: Properties

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

   * :js:attr:`~Plane.d`
   * :js:attr:`~Plane.normal`



.. container:: api-index-section

   .. rubric:: Methods

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

   * :js:meth:`~Plane.assign`
   * :js:meth:`~Plane.copy`
   * :js:meth:`~Plane.determineSide`
   * :js:meth:`~Plane.distanceToPoint`
   * :js:meth:`~Plane.equals`
   * :js:meth:`~Plane.getCoefficients`
   * :js:meth:`~Plane.intersectsRay`
   * :js:meth:`~Plane.rayIntersection`
   * :js:meth:`~Plane.setFromCoefficients`
   * :js:meth:`~Plane.setFromPointAndNormal`
   * :js:meth:`~Plane.setFromPoints`
   * :js:meth:`~Plane.createFromCoefficients`
   * :js:meth:`~Plane.createFromPointAndNormal`
   * :js:meth:`~Plane.createFromPoints`





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

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

.. container:: ts-api-section

   .. js:function:: Plane.constructor()



      :rtype: Plane



Properties
==========

.. container:: ts-api-section

   .. js:attribute:: Plane.d

      :type: number





.. container:: ts-api-section

   .. js:attribute:: Plane.normal

      :type: Point3





Methods
=======

.. rst-class:: ts-api-section

assign
------

.. js:method:: Plane.assign( plane)

   :param plane: the plane to assign
   :type plane: Plane


   Sets this plane equal to another plane


   :rtype: void

.. rst-class:: ts-api-section

copy
----

.. js:method:: Plane.copy()



   Creates a copy of this plane

   :returns: a copy of this plane object


   :rtype: Plane

.. rst-class:: ts-api-section

determineSide
-------------

.. js:method:: Plane.determineSide( p)

   :param p: The point to test.
   :type p: Point3


   Returns true if the point is on the side of the plane that the plane's normal is directed. Returns false otherwise.


   :rtype: boolean

.. rst-class:: ts-api-section

distanceToPoint
---------------

.. js:method:: Plane.distanceToPoint( point)

   :param point: None
   :type point: Point3


   :rtype: number

.. rst-class:: ts-api-section

equals
------

.. js:method:: Plane.equals( plane)

   :param plane: None
   :type plane: Plane


   Returns true if the normal and d value are the same.


   :rtype: boolean

.. rst-class:: ts-api-section

getCoefficients
---------------

.. js:method:: Plane.getCoefficients()



   :rtype: (number, number, number, number)

.. rst-class:: ts-api-section

intersectsRay
-------------

.. js:method:: Plane.intersectsRay( ray[, outPoint])

   :param ray: None
   :type ray: Ray
   :param outPoint: :ts-api-decorator:`optional` None
   :type outPoint: Point3


   :rtype: boolean

.. rst-class:: ts-api-section

rayIntersection
---------------

.. js:method:: Plane.rayIntersection( ray)

   :param ray: None
   :type ray: Ray


   :rtype: null | Point3

.. rst-class:: ts-api-section

setFromCoefficients
-------------------

.. js:method:: Plane.setFromCoefficients( a, b, c, d)

   :param a: None
   :type a: number
   :param b: None
   :type b: number
   :param c: None
   :type c: number
   :param d: None
   :type d: number


   :rtype: void

.. rst-class:: ts-api-section

setFromPointAndNormal
---------------------

.. js:method:: Plane.setFromPointAndNormal( point, normal)

   :param point: None
   :type point: Point3
   :param normal: None
   :type normal: Point3


   :rtype: this

.. rst-class:: ts-api-section

setFromPoints
-------------

.. js:method:: Plane.setFromPoints( p1, p2, p3)

   :param p1: None
   :type p1: Point3
   :param p2: None
   :type p2: Point3
   :param p3: None
   :type p3: Point3


   Update the plane to pass through the three points


   :rtype: void

.. rst-class:: ts-api-section

:ts-api-decorator:`static` createFromCoefficients
-------------------------------------------------

.. js:method:: Plane.createFromCoefficients( a, b, c, d)

   :param a: None
   :type a: number
   :param b: None
   :type b: number
   :param c: None
   :type c: number
   :param d: None
   :type d: number


   :rtype: Plane

.. rst-class:: ts-api-section

:ts-api-decorator:`static` createFromPointAndNormal
---------------------------------------------------

.. js:method:: Plane.createFromPointAndNormal( point, normal)

   :param point: None
   :type point: Point3
   :param normal: None
   :type normal: Point3


   :rtype: Plane

.. rst-class:: ts-api-section

:ts-api-decorator:`static` createFromPoints
-------------------------------------------

.. js:method:: Plane.createFromPoints( p1, p2, p3)

   :param p1: None
   :type p1: Point3
   :param p2: None
   :type p2: Point3
   :param p3: None
   :type p3: Point3


   :rtype: Plane

