Plane
=====

.. lua:module:: Imath

Imath.Plane3f
^^^^^^^^^^^^^

.. lua:class:: Plane3f

   .. lua:attribute:: V3f normal
   .. lua:attribute:: float distance

   .. lua:method:: Plane3f() -> Plane3f
   .. lua:method:: Plane3f(Plane3f o) -> Plane3f
   .. lua:method:: Plane3f(V3f normal, float distance) -> Plane3f
   .. lua:method:: Plane3f(float n0, float n1, float n2, float distance) \
                             -> Plane3f
   .. lua:method:: Plane3f(V3f point, V3f normal) -> Plane3f
   .. lua:method:: Plane3f(V3f point1, V3f point2, V3f point3) -> Plane3f
   .. lua:method:: Plane3f(table[3] normal, float distance) -> Plane3f
   .. lua:method:: Plane3f(table[4] t) -> Plane3f
   .. lua:method:: Plane3f(table[3] point, table[3] normal) -> Plane3f
   .. lua:method:: Plane3f(table[3] point1, table[3] point2, table[3] point3) \
                             -> Plane3f

   .. lua:method:: operator==(Plane3f o) const -> boolean
   .. lua:method:: operator!=(Plane3f o) const -> boolean
   .. lua:method:: operator[](int idx) const -> float
   .. lua:method:: operator[](int idx, float value)

   .. lua:method:: set(V3f normal, T distance)
   .. lua:method:: set(V3f point, V3f normal)
   .. lua:method:: set(V3f point1, V3f point2, V3f point3)
   .. lua:method:: set(table[3] normal, T distance)
   .. lua:method:: set(table[4] t)
   .. lua:method:: set(table[3] point, table[3] normal)
   .. lua:method:: set(table[3] point1, table[3] point2, table[3] point3)

   .. lua:method:: intersect(Line3f l, V3f& intersection) const -> boolean
   .. lua:method:: intersect(Line3f l) const -> boolean, V3f
   .. lua:method:: intersectT(Line3f l) const -> boolean, float

   .. lua:method:: toTable() const -> table[4]

Imath.Plane3d
^^^^^^^^^^^^^

.. lua:class:: Plane3d

   .. lua:attribute:: V3d normal
   .. lua:attribute:: double distance

   .. lua:method:: Plane3d() -> Plane3d
   .. lua:method:: Plane3d(Plane3d o) -> Plane3d
   .. lua:method:: Plane3d(V3d normal, double distance) -> Plane3d
   .. lua:method:: Plane3d(double n0, double n1, double n2, double distance) \
                             -> Plane3d
   .. lua:method:: Plane3d(V3d point, V3d normal) -> Plane3d
   .. lua:method:: Plane3d(V3d point1, V3d point2, V3d point3) -> Plane3d
   .. lua:method:: Plane3d(table[3] normal, double distance) -> Plane3d
   .. lua:method:: Plane3d(table[4] t) -> Plane3d
   .. lua:method:: Plane3d(table[3] point, table[3] normal) -> Plane3d
   .. lua:method:: Plane3d(table[3] point1, table[3] point2, table[3] point3) \
                             -> Plane3d

   .. lua:method:: operator==(Plane3d o) const -> boolean
   .. lua:method:: operator!=(Plane3d o) const -> boolean
   .. lua:method:: operator[](int idx) const -> double
   .. lua:method:: operator[](int idx, double value)

   .. lua:method:: set(V3d normal, T distance)
   .. lua:method:: set(V3d point, V3d normal)
   .. lua:method:: set(V3d point1, V3d point2, V3d point3)
   .. lua:method:: set(table[3] normal, T distance)
   .. lua:method:: set(table[4] t)
   .. lua:method:: set(table[3] point, table[3] normal)
   .. lua:method:: set(table[3] point1, table[3] point2, table[3] point3)

   .. lua:method:: intersect(Line3d l, V3d& intersection) const -> boolean
   .. lua:method:: intersect(Line3d l) const -> boolean, V3d
   .. lua:method:: intersectT(Line3d l) const -> boolean, double

   .. lua:method:: toTable() const -> table[4]