## Uses of Class
org.sunflow.core.Ray

Packages that use Ray
Package | Description
--- | ---
org.sunflow.core |
org.sunflow.core.accel |
org.sunflow.core.camera |
org.sunflow.core.light |
org.sunflow.core.primitive |

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

Methods in org.sunflow.core that return Ray
Modifier and Type | Method and Description
--- | ---
`Ray` | ShadingState.`getRay()` Gets the ray that is associated with this state.
`Ray` | CameraLens.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)` Create a new `ray`to be cast through pixel (x,y) on the image plane.
`Ray` | Camera.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, float time)` Generate a ray passing though the specified point on the image plane.
`Ray` | LightSample.`getShadowRay()` Get the sample's shadow ray.
`Ray` | Ray.`transform(Matrix4 m)` Create a new ray by transforming the supplied one by the given matrix.

Methods in org.sunflow.core with parameters of type Ray
Modifier and Type | Method and Description
--- | ---
`void` | AccelerationStructure.`intersect(Ray r, IntersectionState istate)` Intersect the specified ray with the geometry in local space.
`void` | PrimitiveList.`intersectPrimitive(Ray r, int primID, IntersectionState state)` Intersect the specified primitive in local space.
`void` | LightSample.`setShadowRay(Ray shadowRay)` Set the current shadow ray.
`void` | ShadingState.`traceDiffusePhoton(Ray r, Color power)` Trace a new photon from the current location.
`ShadingState` | ShadingState.`traceFinalGather(Ray r, int i)` Trace a final gather ray and return the intersection result as a new render state
`Color` | ShadingState.`traceGlossy(Ray r, int i)` Returns the color obtained by recursively tracing the specified ray.
`Color` | ShadingState.`traceReflection(Ray r, int i)` Returns the color obtained by recursively tracing the specified ray.
`void` | ShadingState.`traceReflectionPhoton(Ray r, Color power)` Trace a new photon from the current location.
`Color` | ShadingState.`traceRefraction(Ray r, int i)` Returns the color obtained by recursively tracing the specified ray.
`void` | ShadingState.`traceRefractionPhoton(Ray r, Color power)` Trace a new photon from the current location.
`Color` | ShadingState.`traceShadow(Ray r)` Trace a shadow ray against the scene, and computes the accumulated opacity along the ray.

### Uses of Ray in org.sunflow.core.accel

Methods in org.sunflow.core.accel with parameters of type Ray
Modifier and Type | Method and Description
--- | ---
`void` | NullAccelerator.`intersect(Ray r, IntersectionState state)`
`void` | BoundingIntervalHierarchy.`intersect(Ray r, IntersectionState state)`
`void` | UniformGrid.`intersect(Ray r, IntersectionState state)`
`void` | KDTree.`intersect(Ray r, IntersectionState state)`

### Uses of Ray in org.sunflow.core.camera

Methods in org.sunflow.core.camera that return Ray
Modifier and Type | Method and Description
--- | ---
`Ray` | FisheyeLens.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)`
`Ray` | SphericalLens.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)`
`Ray` | ThinLens.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)`
`Ray` | PinholeLens.`getRay(float x, float y, int imageWidth, int imageHeight, double lensX, double lensY, double time)`

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

Methods in org.sunflow.core.light with parameters of type Ray
Modifier and Type | Method and Description
--- | ---
`void` | ImageBasedLight.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | SunSkyLight.`intersectPrimitive(Ray r, int primID, IntersectionState state)`

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

Methods in org.sunflow.core.primitive with parameters of type Ray
Modifier and Type | Method and Description
--- | ---
`void` | Torus.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Background.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Hair.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Cylinder.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | SphereFlake.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | BanchoffSurface.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | TriangleMesh.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | JuliaFractal.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | ParticleSurface.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | CubeGrid.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | QuadMesh.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Sphere.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Plane.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | CornellBox.`intersectPrimitive(Ray r, int primID, IntersectionState state)`
`void` | Box.`intersectPrimitive(Ray r, int primID, IntersectionState state)`