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

Packages that use Matrix4
Package | Description
--- | ---
org.sunflow |
org.sunflow.core |
org.sunflow.core.light |
org.sunflow.core.parser |
org.sunflow.core.primitive |
org.sunflow.core.tesselatable |
org.sunflow.math |

### Uses of Matrix4 in org.sunflow

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

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

Methods in org.sunflow.core that return Matrix4
Modifier and Type | Method and Description
--- | ---
`Matrix4` | ShadingState.`getCameraToWorld()` Get a transformation matrix that will transform camera space points into world space.
`Matrix4` | ParameterList.`getMatrix(java.lang.String name, Matrix4 defaultValue)` Get the specified matrix parameter from this list.
`Matrix4` | ShadingState.`getWorldToCamera()` Get a transformation matrix that will transform world space points into camera space.

Methods in org.sunflow.core with parameters of type Matrix4
Modifier and Type | Method and Description
--- | ---
`static Instance` | Instance.`createTemporary(PrimitiveList primitives, Matrix4 transform, Shader shader)`
`Matrix4` | ParameterList.`getMatrix(java.lang.String name, Matrix4 defaultValue)` Get the specified matrix parameter from this list.
`BoundingBox` | PrimitiveList.`getWorldBounds(Matrix4 o2w)` Compute a bounding box of this object in world space, using the specified object-to-world transformation matrix.
`BoundingBox` | Tesselatable.`getWorldBounds(Matrix4 o2w)` Compute a bounding box of this object in world space, using the specified object-to-world transformation matrix.
`Ray` | Ray.`transform(Matrix4 m)` Create a new ray by transforming the supplied one by the given matrix.

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

Methods in org.sunflow.core.light with parameters of type Matrix4
Modifier and Type | Method and Description
--- | ---
`BoundingBox` | ImageBasedLight.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | SunSkyLight.`getWorldBounds(Matrix4 o2w)`

### Uses of Matrix4 in org.sunflow.core.parser

Methods in org.sunflow.core.parser that return Matrix4
Modifier and Type | Method and Description
--- | ---
`protected abstract Matrix4` | SCAbstractParser.`parseMatrix()`
`protected Matrix4` | SCAsciiParser.`parseMatrix()`
`protected Matrix4` | SCBinaryParser.`parseMatrix()`

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

Methods in org.sunflow.core.primitive with parameters of type Matrix4
Modifier and Type | Method and Description
--- | ---
`BoundingBox` | Torus.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Background.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Hair.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Cylinder.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | SphereFlake.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | BanchoffSurface.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | TriangleMesh.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | JuliaFractal.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | ParticleSurface.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | CubeGrid.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | QuadMesh.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Sphere.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Plane.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | CornellBox.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | Box.`getWorldBounds(Matrix4 o2w)`

### Uses of Matrix4 in org.sunflow.core.tesselatable

Methods in org.sunflow.core.tesselatable with parameters of type Matrix4
Modifier and Type | Method and Description
--- | ---
`BoundingBox` | BezierMesh.`getWorldBounds(Matrix4 o2w)`
`BoundingBox` | FileMesh.`getWorldBounds(Matrix4 o2w)`

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

Fields in org.sunflow.math declared as Matrix4
Modifier and Type | Field and Description
--- | ---
`static Matrix4` | Matrix4.`IDENTITY`
`static Matrix4` | Matrix4.`ZERO`

Methods in org.sunflow.math that return Matrix4
Modifier and Type | Method and Description
--- | ---
`static Matrix4` | Matrix4.`blend(Matrix4 m0, Matrix4 m1, float t)`
`static Matrix4` | Matrix4.`fromBasis(OrthoNormalBasis basis)` Creates a rotation matrix from an OrthonormalBasis.
`Matrix4` | MovingMatrix4.`getData(int i)` Get the matrix for the given time step.
`Matrix4` | Matrix4.`inverse()` Compute the inverse of this matrix and return it as a new object.
`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.
`Matrix4` | Matrix4.`multiply(Matrix4 m)` Computes this*m and return the result as a new Matrix4
`static Matrix4` | Matrix4.`rotate(float x, float y, float z, float theta)` Creates a rotation matrix about the specified axis.
`static Matrix4` | Matrix4.`rotateX(float theta)` Creates a rotation matrix about the X axis.
`static Matrix4` | Matrix4.`rotateY(float theta)` Creates a rotation matrix about the Y axis.
`static Matrix4` | Matrix4.`rotateZ(float theta)` Creates a rotation matrix about the Z axis.
`Matrix4` | MovingMatrix4.`sample(float time)`
`static Matrix4` | Matrix4.`scale(float s)` Create a uniform scaling matrix.
`static Matrix4` | Matrix4.`scale(float sx, float sy, float sz)` Creates a non-uniform scaling matrix.
`static Matrix4` | Matrix4.`translation(float x, float y, float z)` Create a translation matrix for the specified vector.

Methods in org.sunflow.math with parameters of type Matrix4
Modifier and Type | Method and Description
--- | ---
`static Matrix4` | Matrix4.`blend(Matrix4 m0, Matrix4 m1, float t)`
`boolean` | Matrix4.`equals(Matrix4 m)`
`Matrix4` | Matrix4.`multiply(Matrix4 m)` Computes this*m and return the result as a new Matrix4
`void` | MovingMatrix4.`updateData(int i, Matrix4 m)` Updates the matrix for the given time step.

Constructors in org.sunflow.math with parameters of type Matrix4
Constructor and Description
`MovingMatrix4(Matrix4 m)` Constructs a simple static matrix.