# 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
Description
`final void`
SunflowAPI.`parameter(String name, Vector3 value)`
`void`
SunflowAPIInterface.`parameter(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
Description
`Vector3`
Texture.`getBump(float x, float y, OrthoNormalBasis basis, float scale)`
`final Vector3`
Ray.`getDirection()`
Creates a vector to represent the direction of the ray.
`final Vector3`
ShadingState.`getGeoNormal()`
Gets the geometric normal of the current hit point.
`final Vector3`
ShadingState.`getNormal()`
Get shading normal at the hit point.
`Vector3`
Texture.`getNormal(float x, float y, OrthoNormalBasis basis)`
`Vector3`
ParameterList.`getVector(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
Description
`float`
LightSample.`dot(Vector3 v)`
Compute a dot product between the current shadow ray direction and the specified vector.
`final float`
Ray.`dot(Vector3 v)`
Computes the dot product of an arbitrary vector with the direction of the ray.
`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(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.
`final 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
Modifier
Constructor
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
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 Vector3 in org.sunflow.core.photonmap

Methods in org.sunflow.core.photonmap with parameters of type Vector3
Modifier and Type
Method
Description
`Color`
GlobalPhotonMap.`getRadiance(Point3 p, Vector3 n)`
`Color`
GridPhotonMap.`getRadiance(Point3 p, Vector3 n)`
`void`
CausticPhotonMap.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)`
`void`
GlobalPhotonMap.`store(ShadingState state, Vector3 dir, Color power, Color diffuse)`
`void`
GridPhotonMap.`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
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
Description
`static final Vector3`
Vector3.`add(Vector3 v1, Vector3 v2, Vector3 dest)`
`static final Vector3`
Vector3.`cross(Vector3 v1, Vector3 v2, Vector3 dest)`
`static final Vector3`
Vector3.`decode(short n)`
`static final Vector3`
Vector3.`decode(short n, Vector3 dest)`
`final Vector3`
Vector3.`div(float d)`
`final Vector3`
Vector3.`div(float d, Vector3 dest)`
`final Vector3`
BoundingBox.`getExtents()`
Gets the extents vector for the box.
`final Vector3`
Vector3.`mul(float s)`
`final Vector3`
Vector3.`mul(float s, Vector3 dest)`
`final Vector3`
Vector3.`negate()`
`final Vector3`
Vector3.`negate(Vector3 dest)`
`static final Vector3`
PerlinVector.`noise(float x)`
`static final Vector3`
PerlinVector.`noise(float x, float y)`
`static final Vector3`
PerlinVector.`noise(float x, float y, float z)`
`static final Vector3`
PerlinVector.`noise(float x, float y, float z, float t)`
`static final Vector3`
PerlinVector.`noise(Point2 p)`
`static final Vector3`
PerlinVector.`noise(Point3 p)`
`static final Vector3`
PerlinVector.`noise(Point3 p, float t)`
`static final Vector3`
Point3.`normal(Point3 p0, Point3 p1, Point3 p2)`
`static final Vector3`
Point3.`normal(Point3 p0, Point3 p1, Point3 p2, Vector3 dest)`
`final Vector3`
Vector3.`normalize()`
`final Vector3`
Vector3.`normalize(Vector3 dest)`
`static final Vector3`
PerlinVector.`pnoise(float x, float period)`
`static final Vector3`
PerlinVector.`pnoise(float x, float y, float w, float h)`
`static final Vector3`
PerlinVector.`pnoise(float x, float y, float z, float w, float h, float d)`
`static final Vector3`
PerlinVector.`pnoise(float x, float y, float z, float t, float w, float h, float d, float p)`
`static final Vector3`
PerlinVector.`pnoise(Point2 p, float periodx, float periody)`
`static final Vector3`
PerlinVector.`pnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final Vector3`
PerlinVector.`pnoise(Point3 p, Vector3 period)`
`final Vector3`
Vector3.`set(float x, float y, float z)`
`final Vector3`
Vector3.`set(Vector3 v)`
`static final Vector3`
PerlinVector.`snoise(float x)`
`static final Vector3`
PerlinVector.`snoise(float x, float y)`
`static final Vector3`
PerlinVector.`snoise(float x, float y, float z)`
`static final Vector3`
PerlinVector.`snoise(float x, float y, float z, float t)`
`static final Vector3`
PerlinVector.`snoise(Point2 p)`
`static final Vector3`
PerlinVector.`snoise(Point3 p)`
`static final Vector3`
PerlinVector.`snoise(Point3 p, float t)`
`static final Vector3`
PerlinVector.`spnoise(float x, float period)`
`static final Vector3`
PerlinVector.`spnoise(float x, float y, float w, float h)`
`static final Vector3`
PerlinVector.`spnoise(float x, float y, float z, float w, float h, float d)`
`static final Vector3`
PerlinVector.`spnoise(float x, float y, float z, float t, float w, float h, float d, float p)`
`static final Vector3`
PerlinVector.`spnoise(Point2 p, float periodx, float periody)`
`static final Vector3`
PerlinVector.`spnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final Vector3`
PerlinVector.`spnoise(Point3 p, Vector3 period)`
`static final Vector3`
Point3.`sub(Point3 p1, Point3 p2, Vector3 dest)`
`static final Vector3`
Vector3.`sub(Vector3 v1, Vector3 v2, Vector3 dest)`
`Vector3`
OrthoNormalBasis.`transform(Vector3 a)`
`Vector3`
OrthoNormalBasis.`transform(Vector3 a, Vector3 dest)`
`final Vector3`
Matrix4.`transformTransposeV(Vector3 v)`
Computes (this^T)*v and returns the result as a new Vector3 object.
`final 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
Description
`static final Point3`
Point3.`add(Point3 p, Vector3 v, Point3 dest)`
`static final Vector3`
Vector3.`add(Vector3 v1, Vector3 v2, Vector3 dest)`
`static final Vector3`
Vector3.`cross(Vector3 v1, Vector3 v2, Vector3 dest)`
`static final Vector3`
Vector3.`decode(short n, Vector3 dest)`
`final Vector3`
Vector3.`div(float d, Vector3 dest)`
`static final float`
Vector3.`dot(Vector3 v1, Vector3 v2)`
`static final 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 final OrthoNormalBasis`
OrthoNormalBasis.`makeFromW(Vector3 w)`
`static final OrthoNormalBasis`
OrthoNormalBasis.`makeFromWV(Vector3 w, Vector3 v)`
`final Vector3`
Vector3.`mul(float s, Vector3 dest)`
`final Vector3`
Vector3.`negate(Vector3 dest)`
`static final Vector3`
Point3.`normal(Point3 p0, Point3 p1, Point3 p2, Vector3 dest)`
`final Vector3`
Vector3.`normalize(Vector3 dest)`
`static final float`
PerlinScalar.`pnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final float`
PerlinScalar.`pnoise(Point3 p, Vector3 period)`
`static final Vector3`
PerlinVector.`pnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final Vector3`
PerlinVector.`pnoise(Point3 p, Vector3 period)`
`final Vector3`
Vector3.`set(Vector3 v)`
`static final float`
PerlinScalar.`spnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final float`
PerlinScalar.`spnoise(Point3 p, Vector3 period)`
`static final Vector3`
PerlinVector.`spnoise(Point3 p, float t, Vector3 pperiod, float tperiod)`
`static final Vector3`
PerlinVector.`spnoise(Point3 p, Vector3 period)`
`static final Vector3`
Point3.`sub(Point3 p1, Point3 p2, Vector3 dest)`
`static final Vector3`
Vector3.`sub(Vector3 v1, Vector3 v2, Vector3 dest)`
`Vector3`
OrthoNormalBasis.`transform(Vector3 a)`
`Vector3`
OrthoNormalBasis.`transform(Vector3 a, Vector3 dest)`
`final Vector3`
Matrix4.`transformTransposeV(Vector3 v)`
Computes (this^T)*v and returns the result as a new Vector3 object.
`final 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
Modifier
Constructor
Description
``
`Vector3(Vector3 v)`