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

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

### Uses of Vector3 in org.sunflow

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

### Uses of Vector3 in org.sunflow.core

Methods in org.sunflow.core that return Vector3
Modifier and Type | Method and Description
--- | ---
`Vector3` | Texture.`getBump(float x, float y, OrthoNormalBasis basis, float scale)`
`Vector3` | Ray.`getDirection()` Creates a vector to represent the direction of the ray.
`Vector3` | ShadingState.`getGeoNormal()` Gets the geometric normal of the current hit point.
`Vector3` | ShadingState.`getNormal()` Get shading normal at the hit point.
`Vector3` | Texture.`getNormal(float x, float y, OrthoNormalBasis basis)`
`Vector3` | ParameterList.`getVector(java.lang.String name, Vector3 defaultValue)` Get the specified vector parameter from this list.
`Vector3` | ShadingState.`transformNormalObjectToWorld(Vector3 n)` Transform the given normal from object space to world space.
`Vector3` | ShadingState.`transformNormalWorldToObject(Vector3 n)` Transform the given normal from world space to object space.
`Vector3` | ShadingState.`transformVectorObjectToWorld(Vector3 v)` Transform the given vector from object space to world space.
`Vector3` | ShadingState.`transformVectorWorldToObject(Vector3 v)` Transform the given vector from world space to object space.

Methods in org.sunflow.core with parameters of type Vector3
Modifier and Type | Method and Description
--- | ---
`float` | Ray.`dot(Vector3 v)` Computes the dot product of an arbitrary vector with the direction of the ray.
`float` | LightSample.`dot(Vector3 v)` Compute a dot product between the current shadow ray direction and the specified vector.
`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.
`Color` | GlobalPhotonMapInterface.`getRadiance(Point3 p, Vector3 n)` Lookup the global diffuse radiance at the specified surface point.
`Vector3` | ParameterList.`getVector(java.lang.String name, Vector3 defaultValue)` Get the specified vector parameter from this list.
`void` | PhotonStore.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)` Store the specified photon.
`void` | ShadingState.`storePhoton(Vector3 dir, Color power, Color diffuse)` Records a photon at the specified location.
`Vector3` | ShadingState.`transformNormalObjectToWorld(Vector3 n)` Transform the given normal from object space to world space.
`Vector3` | ShadingState.`transformNormalWorldToObject(Vector3 n)` Transform the given normal from world space to object space.
`Vector3` | ShadingState.`transformVectorObjectToWorld(Vector3 v)` Transform the given vector from object space to world space.
`Vector3` | ShadingState.`transformVectorWorldToObject(Vector3 v)` Transform the given vector from world space to object space.

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

### Uses of Vector3 in org.sunflow.core.light

Methods in org.sunflow.core.light with parameters of type Vector3
Modifier and Type | Method and Description
--- | ---
`void` | PointLight.`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` | TriangleMeshLight.`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` | DirectionalSpotlight.`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 Vector3 in org.sunflow.core.photonmap

Methods in org.sunflow.core.photonmap with parameters of type Vector3
Modifier and Type | Method and Description
--- | ---
`Color` | GridPhotonMap.`getRadiance(Point3 p, Vector3 n)`
`Color` | GlobalPhotonMap.`getRadiance(Point3 p, Vector3 n)`
`void` | CausticPhotonMap.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)`
`void` | GridPhotonMap.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)`
`void` | GlobalPhotonMap.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)`

### Uses of Vector3 in org.sunflow.core.primitive

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

### Uses of Vector3 in org.sunflow.math

Methods in org.sunflow.math that return Vector3
Modifier and Type | Method and Description
--- | ---
`static Vector3` | Vector3.`add(Vector3 v1, Vector3 v2, Vector3 dest)`
`static Vector3` | Vector3.`cross(Vector3 v1, Vector3 v2, Vector3 dest)`
`static Vector3` | Vector3.`decode(short n)`
`static Vector3` | Vector3.`decode(short n, Vector3 dest)`
`Vector3` | Vector3.`div(float d)`
`Vector3` | Vector3.`div(float d, Vector3 dest)`
`Vector3` | BoundingBox.`getExtents()` Gets the extents vector for the box.
`Vector3` | Vector3.`mul(float s)`
`Vector3` | Vector3.`mul(float s, Vector3 dest)`
`Vector3` | Vector3.`negate()`
`Vector3` | Vector3.`negate(Vector3 dest)`
`static Vector3` | PerlinVector.`noise(float x)`
`static Vector3` | PerlinVector.`noise(float x, float y)`
`static Vector3` | PerlinVector.`noise(float x, float y, float z)`
`static Vector3` | PerlinVector.`noise(float x, float y, float z, float t)`
`static Vector3` | PerlinVector.`noise(Point2 p)`
`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)`
`Vector3` | Vector3.`normalize()`
`Vector3` | Vector3.`normalize(Vector3 dest)`
`static Vector3` | PerlinVector.`pnoise(float x, float period)`
`static Vector3` | PerlinVector.`pnoise(float x, float y, float w, float h)`
`static Vector3` | PerlinVector.`pnoise(float x, float y, float z, float w, float h, float d)`
`static Vector3` | PerlinVector.`pnoise(float x, float y, float z, float t, float w, float h, float d, float p)`
`static Vector3` | PerlinVector.`pnoise(Point2 p, float periodx, float periody)`
`static Vector3` | PerlinVector.`pnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static Vector3` | PerlinVector.`pnoise(Point3 p, Vector3 period)`
`Vector3` | Vector3.`set(float x, float y, float z)`
`Vector3` | Vector3.`set(Vector3 v)`
`static Vector3` | PerlinVector.`snoise(float x)`
`static Vector3` | PerlinVector.`snoise(float x, float y)`
`static Vector3` | PerlinVector.`snoise(float x, float y, float z)`
`static Vector3` | PerlinVector.`snoise(float x, float y, float z, float t)`
`static Vector3` | PerlinVector.`snoise(Point2 p)`
`static Vector3` | PerlinVector.`snoise(Point3 p)`
`static Vector3` | PerlinVector.`snoise(Point3 p, float t)`
`static Vector3` | PerlinVector.`spnoise(float x, float period)`
`static Vector3` | PerlinVector.`spnoise(float x, float y, float w, float h)`
`static Vector3` | PerlinVector.`spnoise(float x, float y, float z, float w, float h, float d)`
`static Vector3` | PerlinVector.`spnoise(float x, float y, float z, float t, float w, float h, float d, float p)`
`static Vector3` | PerlinVector.`spnoise(Point2 p, float periodx, float periody)`
`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)`
`static Vector3` | Vector3.`sub(Vector3 v1, Vector3 v2, Vector3 dest)`
`Vector3` | OrthoNormalBasis.`transform(Vector3 a)`
`Vector3` | OrthoNormalBasis.`transform(Vector3 a, Vector3 dest)`
`Vector3` | Matrix4.`transformTransposeV(Vector3 v)` Computes (this^T)*v and returns the result as a new Vector3 object.
`Vector3` | Matrix4.`transformV(Vector3 v)` Computes this*v and returns the result as a new Vector3 object.
`Vector3` | OrthoNormalBasis.`untransform(Vector3 a)`
`Vector3` | OrthoNormalBasis.`untransform(Vector3 a, Vector3 dest)`

Methods in org.sunflow.math with parameters of type Vector3
Modifier and Type | Method and Description
--- | ---
`static Point3` | Point3.`add(Point3 p, Vector3 v, Point3 dest)`
`static Vector3` | Vector3.`add(Vector3 v1, Vector3 v2, Vector3 dest)`
`static Vector3` | Vector3.`cross(Vector3 v1, Vector3 v2, Vector3 dest)`
`static Vector3` | Vector3.`decode(short n, Vector3 dest)`
`Vector3` | Vector3.`div(float d, Vector3 dest)`
`static float` | Vector3.`dot(Vector3 v1, Vector3 v2)`
`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 OrthoNormalBasis` | OrthoNormalBasis.`makeFromW(Vector3 w)`
`static OrthoNormalBasis` | OrthoNormalBasis.`makeFromWV(Vector3 w, Vector3 v)`
`Vector3` | Vector3.`mul(float s, Vector3 dest)`
`Vector3` | Vector3.`negate(Vector3 dest)`
`static Vector3` | Point3.`normal(Point3 p0, Point3 p1, Point3 p2, Vector3 dest)`
`Vector3` | Vector3.`normalize(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)`
`Vector3` | Vector3.`set(Vector3 v)`
`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)`
`static Vector3` | Vector3.`sub(Vector3 v1, Vector3 v2, Vector3 dest)`
`Vector3` | OrthoNormalBasis.`transform(Vector3 a)`
`Vector3` | OrthoNormalBasis.`transform(Vector3 a, Vector3 dest)`
`Vector3` | Matrix4.`transformTransposeV(Vector3 v)` Computes (this^T)*v and returns the result as a new Vector3 object.
`Vector3` | Matrix4.`transformV(Vector3 v)` Computes this*v and returns the result as a new Vector3 object.
`Vector3` | OrthoNormalBasis.`untransform(Vector3 a)`
`Vector3` | OrthoNormalBasis.`untransform(Vector3 a, Vector3 dest)`
`float` | OrthoNormalBasis.`untransformX(Vector3 a)`
`float` | OrthoNormalBasis.`untransformY(Vector3 a)`
`float` | OrthoNormalBasis.`untransformZ(Vector3 a)`

Constructors in org.sunflow.math with parameters of type Vector3
Constructor and Description
`Vector3(Vector3 v)`