## 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 and 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 and Description
    --- | ---
    `Point3` | ShadingState.`getPoint()` Get hit point.
    `Point3` | Ray.`getPoint(Point3 dest)` Gets the end point of the ray.
    `Point3` | ParameterList.`getPoint(java.lang.String name, Point3 defaultValue)` Get the specified point parameter from this list.
    `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 and 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` | Ray.`getPoint(Point3 dest)` Gets the end point of the ray.
    `Point3` | ParameterList.`getPoint(java.lang.String name, Point3 defaultValue)` Get the specified point parameter from this list.
    `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 and 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 and Description
    --- | ---
    `void` | SunSkyLight.`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` | DirectionalSpotlight.`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)`
    `void` | ImageBasedLight.`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)`

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

    Methods in org.sunflow.core.photonmap with parameters of type Point3
    Modifier and Type | Method and 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 and 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 and 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 and 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 and 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 Vector3` | PerlinVector.`noise(Point3 p)`
    `static float` | PerlinScalar.`noise(Point3 p, float t)`
    `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 Vector3` | PerlinVector.`pnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
    `static float` | PerlinScalar.`pnoise(Point3 p, Vector3 period)`
    `static Vector3` | PerlinVector.`pnoise(Point3 p, Vector3 period)`
    `Point3` | Point3.`set(Point3 p)`
    `static float` | PerlinScalar.`snoise(Point3 p)`
    `static Vector3` | PerlinVector.`snoise(Point3 p)`
    `static float` | PerlinScalar.`snoise(Point3 p, float t)`
    `static Vector3` | PerlinVector.`snoise(Point3 p, float t)`
    `static float` | PerlinScalar.`spnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
    `static Vector3` | PerlinVector.`spnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
    `static float` | PerlinScalar.`spnoise(Point3 p, Vector3 period)`
    `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 and Description
    `BoundingBox(Point3 p)` Creates a bounding box containing only the specified point.
    `Point3(Point3 p)`