public class Sphere extends java.lang.Object implements PrimitiveList
| Constructor and Description |
|---|
Sphere() |
| Modifier and Type | Method and Description |
|---|---|
PrimitiveList |
getBakingPrimitives()
Create a new
PrimitiveList object suitable for baking lightmaps. |
int |
getNumPrimitives()
Returns the number of individual primtives in this aggregate object.
|
float |
getPrimitiveBound(int primID,
int i)
Retrieve the bounding box component of a particular primitive in object
space.
|
BoundingBox |
getWorldBounds(Matrix4 o2w)
Compute a bounding box of this object in world space, using the specified
object-to-world transformation matrix.
|
void |
intersectPrimitive(Ray r,
int primID,
IntersectionState state)
Intersect the specified primitive in local space.
|
void |
prepareShadingState(ShadingState state)
Prepare the specified
ShadingState by setting all of its internal
parameters. |
boolean |
update(ParameterList pl,
SunflowAPI api)
Update this object given a list of parameters.
|
public boolean update(ParameterList pl, SunflowAPI api)
RenderObjectupdate in interface RenderObjectpl - list of parameters to read fromapi - reference to the current scenetrue if the update is succesfull,
false otherwisepublic BoundingBox getWorldBounds(Matrix4 o2w)
PrimitiveListMatrix4.transform(BoundingBox). If the matrix is
null no transformation is needed, and object space is
equivalent to world space.getWorldBounds in interface PrimitiveListo2w - object to world transformation matrixpublic float getPrimitiveBound(int primID,
int i)
PrimitiveListgetPrimitiveBound in interface PrimitiveListprimID - primitive indexi - bounding box side indexpublic int getNumPrimitives()
PrimitiveListgetNumPrimitives in interface PrimitiveListpublic void prepareShadingState(ShadingState state)
PrimitiveListShadingState by setting all of its internal
parameters.prepareShadingState in interface PrimitiveListstate - shading state to fill inpublic void intersectPrimitive(Ray r, int primID, IntersectionState state)
PrimitiveListintersectPrimitive in interface PrimitiveListr - ray in the object's local spaceprimID - primitive index to intersectstate - intersection stateRay.setMax(float),
IntersectionState.setIntersection(int, float, float)public PrimitiveList getBakingPrimitives()
PrimitiveListPrimitiveList object suitable for baking lightmaps.
This means a set of primitives laid out in the unit square UV space. This
method is optional, objects which do not support it should simply return
null.getBakingPrimitives in interface PrimitiveList