org.sunflow.core.primitive
Class CubeGrid
java.lang.Object
org.sunflow.core.primitive.CubeGrid
- PrimitiveList, RenderObject
public abstract class CubeGrid
extends java.lang.Object
CubeGrid
public CubeGrid()
getNumPrimitives
public int getNumPrimitives()
Returns the number of individual primtives in this aggregate object.
- getNumPrimitives in interface PrimitiveList
getPrimitiveBound
public float getPrimitiveBound(int primID,
int i)
Retrieve the bounding box component of a particular primitive in object
space. Even indexes get minimum values, while odd indexes get the maximum
values for each axis.
- getPrimitiveBound in interface PrimitiveList
primID
- primitive indexi
- bounding box side index
- value of the request bound
getWorldBounds
public BoundingBox getWorldBounds(Matrix4 o2w)
Compute a bounding box of this object in world space, using the specified
object-to-world transformation matrix. The bounds should be as exact as
possible, if they are difficult or expensive to compute exactly, you may
use
Matrix4.transform(BoundingBox)
. If the matrix is
null
no transformation is needed, and object space is
equivalent to world space.
- getWorldBounds in interface PrimitiveList
o2w
- object to world transformation matrix
- object bounding box in world space
inside
protected abstract boolean inside(int x,
int y,
int z)
intersectPrimitive
public void intersectPrimitive(Ray r,
int primID,
IntersectionState state)
Intersect the specified primitive in local space.
- intersectPrimitive in interface PrimitiveList
r
- ray in the object's local spaceprimID
- primitive index to intersectstate
- intersection state