Sphere
======

.. lua:module:: Imath

Imath.Sphere3f
^^^^^^^^^^^^^^

.. lua:class:: Sphere3f

   .. lua:attribute:: V3f center
   .. lua:attribute:: float radius

   .. lua:method:: Sphere3f() -> Sphere3f
   .. lua:method:: Sphere3f(Sphere3f o) -> Sphere3f
   .. lua:method:: Sphere3f(V3f c, float r) -> Sphere3f
   .. lua:method:: Sphere3f(float x, float y, float z, float r) -> Sphere3f
   .. lua:method:: Sphere3f(table[3] c, float r) -> Sphere3f
   .. lua:method:: Sphere3f(table[4] t) -> Sphere3f

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

   .. lua:method:: circumscribe(Box3f box)
   .. 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.Sphere3d
^^^^^^^^^^^^^^

.. lua:class:: Sphere3d

   .. lua:attribute:: V3d center
   .. lua:attribute:: double radius

   .. lua:method:: Sphere3d() -> Sphere3d
   .. lua:method:: Sphere3d(Sphere3d o) -> Sphere3d
   .. lua:method:: Sphere3d(V3d c, double r) -> Sphere3d
   .. lua:method:: Sphere3d(double x, double y, double z, double r) -> Sphere3d
   .. lua:method:: Sphere3d(table[3] c, double r) -> Sphere3d
   .. lua:method:: Sphere3d(table[4] t) -> Sphere3d

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

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

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