## Uses of Class
org.sunflow.math.Point3

- Packages that use Point3
  Package | Description
  --- | ---
  org.sunflow |
  org.sunflow.core |
  org.sunflow.core.light |
  org.sunflow.core.photonmap |
  org.sunflow.core.primitive |
  org.sunflow.math |

- - ### Uses of Point3 in org.sunflow

    Methods in org.sunflow with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | SunflowAPI.`parameter​(java.lang.String name, Point3 value)` |
    `void` | SunflowAPIInterface.`parameter​(java.lang.String name, Point3 value)` | Declare a parameter with the specified name and value.

  - ### Uses of Point3 in org.sunflow.core

    Methods in org.sunflow.core that return Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `Point3` | ParameterList.`getPoint​(java.lang.String name, Point3 defaultValue)` | Get the specified point parameter from this list.
    `Point3` | Ray.`getPoint​(Point3 dest)` | Gets the end point of the ray.
    `Point3` | ShadingState.`getPoint()` | Get hit point.
    `Point3` | ShadingState.`transformObjectToWorld​(Point3 p)` | Transform the given point from object space to world space.
    `Point3` | ShadingState.`transformWorldToObject​(Point3 p)` | Transform the given point from world space to object space.

    Methods in org.sunflow.core with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | LightSource.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` | Gets a photon to emit from this light source by setting each of the arguments.
    `Point3` | ParameterList.`getPoint​(java.lang.String name, Point3 defaultValue)` | Get the specified point parameter from this list.
    `Point3` | Ray.`getPoint​(Point3 dest)` | Gets the end point of the ray.
    `Color` | GlobalPhotonMapInterface.`getRadiance​(Point3 p, Vector3 n)` | Lookup the global diffuse radiance at the specified surface point.
    `boolean` | ShadingState.`getTrianglePoints​(Point3[] p)` | Get the three triangle corners in object space if the hit object is a mesh, returns false otherwise.
    `Point3` | ShadingState.`transformObjectToWorld​(Point3 p)` | Transform the given point from object space to world space.
    `Point3` | ShadingState.`transformWorldToObject​(Point3 p)` | Transform the given point from world space to object space.

    Constructors in org.sunflow.core with parameters of type Point3
    Constructor | Description
    --- | ---
    `Ray​(Point3 a, Point3 b)` | Creates a new ray that points from point a to point b.
    `Ray​(Point3 o, Vector3 d)` | Creates a new ray that points from the given origin to the given direction.

  - ### Uses of Point3 in org.sunflow.core.light

    Methods in org.sunflow.core.light with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DirectionalSpotlight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | ImageBasedLight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | PointLight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | SphereLight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | SunSkyLight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | TriangleMeshLight.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |

  - ### Uses of Point3 in org.sunflow.core.photonmap

    Methods in org.sunflow.core.photonmap with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `Color` | GlobalPhotonMap.`getRadiance​(Point3 p, Vector3 n)` |
    `Color` | GridPhotonMap.`getRadiance​(Point3 p, Vector3 n)` |

  - ### Uses of Point3 in org.sunflow.core.primitive

    Methods in org.sunflow.core.primitive that return Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected Point3` | QuadMesh.`getPoint​(int i)` |
    `protected Point3` | TriangleMesh.`getPoint​(int i)` |

    Methods in org.sunflow.core.primitive with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | CornellBox.`getPhoton​(double randX1, double randY1, double randX2, double randY2, Point3 p, Vector3 dir, Color power)` |
    `void` | TriangleMesh.`getPoint​(int tri, int i, Point3 p)` |

  - ### Uses of Point3 in org.sunflow.math

    Methods in org.sunflow.math that return Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Point3` | Point3.`add​(Point3 p, Vector3 v, Point3 dest)` |
    `static Point3` | Point3.`blend​(Point3 p0, Point3 p1, float blend, Point3 dest)` |
    `Point3` | BoundingBox.`getCenter()` | Gets the center of the box, computed as (min + max) / 2.
    `Point3` | BoundingBox.`getCorner​(int i)` | Gets a corner of the bounding box.
    `Point3` | BoundingBox.`getMaximum()` | Gets the maximum corner of the box.
    `Point3` | BoundingBox.`getMinimum()` | Gets the minimum corner of the box.
    `static Point3` | Point3.`mid​(Point3 p1, Point3 p2, Point3 dest)` |
    `Point3` | Point3.`set​(float x, float y, float z)` |
    `Point3` | Point3.`set​(Point3 p)` |
    `Point3` | Matrix4.`transformP​(Point3 p)` | Computes this*p and returns the result as a new Point3 object.

    Methods in org.sunflow.math with parameters of type Point3
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Point3` | Point3.`add​(Point3 p, Vector3 v, Point3 dest)` |
    `static Point3` | Point3.`blend​(Point3 p0, Point3 p1, float blend, Point3 dest)` |
    `boolean` | BoundingBox.`contains​(Point3 p)` | Checks to see if the specified `point`is inside the volume defined by this box.
    `float` | Point3.`distanceTo​(Point3 p)` |
    `float` | Point3.`distanceToSquared​(Point3 p)` |
    `void` | BoundingBox.`include​(Point3 p)` | Changes the extents of the box as needed to include the given `point`into this box.
    `static Matrix4` | Matrix4.`lookAt​(Point3 eye, Point3 target, Vector3 up)` | Creates a camera positioning matrix from the given eye and target points and up vector.
    `static Point3` | Point3.`mid​(Point3 p1, Point3 p2, Point3 dest)` |
    `static float` | PerlinScalar.`noise​(Point3 p)` |
    `static float` | PerlinScalar.`noise​(Point3 p, float t)` |
    `static Vector3` | PerlinVector.`noise​(Point3 p)` |
    `static Vector3` | PerlinVector.`noise​(Point3 p, float t)` |
    `static Vector3` | Point3.`normal​(Point3 p0, Point3 p1, Point3 p2)` |
    `static Vector3` | Point3.`normal​(Point3 p0, Point3 p1, Point3 p2, Vector3 dest)` |
    `static float` | PerlinScalar.`pnoise​(Point3 p, float t, Vector3 pperiod, float tperiod)` |
    `static float` | PerlinScalar.`pnoise​(Point3 p, Vector3 period)` |
    `static Vector3` | PerlinVector.`pnoise​(Point3 p, float t, Vector3 pperiod, float tperiod)` |
    `static Vector3` | PerlinVector.`pnoise​(Point3 p, Vector3 period)` |
    `Point3` | Point3.`set​(Point3 p)` |
    `static float` | PerlinScalar.`snoise​(Point3 p)` |
    `static float` | PerlinScalar.`snoise​(Point3 p, float t)` |
    `static Vector3` | PerlinVector.`snoise​(Point3 p)` |
    `static Vector3` | PerlinVector.`snoise​(Point3 p, float t)` |
    `static float` | PerlinScalar.`spnoise​(Point3 p, float t, Vector3 pperiod, float tperiod)` |
    `static float` | PerlinScalar.`spnoise​(Point3 p, Vector3 period)` |
    `static Vector3` | PerlinVector.`spnoise​(Point3 p, float t, Vector3 pperiod, float tperiod)` |
    `static Vector3` | PerlinVector.`spnoise​(Point3 p, Vector3 period)` |
    `static Vector3` | Point3.`sub​(Point3 p1, Point3 p2, Vector3 dest)` |
    `Point3` | Matrix4.`transformP​(Point3 p)` | Computes this*p and returns the result as a new Point3 object.

    Constructors in org.sunflow.math with parameters of type Point3
    Constructor | Description
    --- | ---
    `BoundingBox​(Point3 p)` | Creates a bounding box containing only the specified point.
    `Point3​(Point3 p)` |