|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.sunflow.core.primitive.QuadMesh
public class QuadMesh
Field Summary | |
---|---|
protected float[] |
points
|
protected int[] |
quads
|
Constructor Summary | |
---|---|
QuadMesh()
|
Method Summary | |
---|---|
PrimitiveList |
getBakingPrimitives()
Create a new PrimitiveList object suitable for baking lightmaps. |
int |
getNumPrimitives()
Returns the number of individual primtives in this aggregate object. |
protected Point3 |
getPoint(int i)
|
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. |
void |
writeObj(java.lang.String filename)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected float[] points
protected int[] quads
Constructor Detail |
---|
public QuadMesh()
Method Detail |
---|
public void writeObj(java.lang.String filename)
public boolean update(ParameterList pl, SunflowAPI api)
RenderObject
update
in interface RenderObject
pl
- list of parameters to read fromapi
- reference to the current scene
true
if the update is succesfull,
false
otherwisepublic float getPrimitiveBound(int primID, int i)
PrimitiveList
getPrimitiveBound
in interface PrimitiveList
primID
- primitive indexi
- bounding box side index
public BoundingBox getWorldBounds(Matrix4 o2w)
PrimitiveList
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
public void intersectPrimitive(Ray r, int primID, IntersectionState state)
PrimitiveList
intersectPrimitive
in interface PrimitiveList
r
- ray in the object's local spaceprimID
- primitive index to intersectstate
- intersection stateRay.setMax(float)
,
IntersectionState.setIntersection(int, float, float)
public int getNumPrimitives()
PrimitiveList
getNumPrimitives
in interface PrimitiveList
public void prepareShadingState(ShadingState state)
PrimitiveList
ShadingState
by setting all of its internal
parameters.
prepareShadingState
in interface PrimitiveList
state
- shading state to fill inprotected Point3 getPoint(int i)
public PrimitiveList getBakingPrimitives()
PrimitiveList
PrimitiveList
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |