|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectartofillusion.object.Object3D
artofillusion.object.ImplicitObject
artofillusion.object.CompoundImplicitObject
public class CompoundImplicitObject
Nested Class Summary | |
---|---|
static class |
CompoundImplicitObject.CompoundImplicitKeyframe
Inner class representing a pose for a CompoundImplicitObject. |
Field Summary |
---|
Fields inherited from class artofillusion.object.Object3D |
---|
APPROXIMATELY, CANT_CONVERT, EXACTLY |
Constructor Summary | |
---|---|
CompoundImplicitObject()
|
Method Summary | |
---|---|
void |
addObject(ImplicitObject obj,
CoordinateSystem coords)
|
void |
applyPoseKeyframe(Keyframe k)
Modify this object based on a pose keyframe. |
void |
copyObject(Object3D obj)
Copy all the properties of another object, to make this one identical to it. |
Object3D |
duplicate()
Create a new object which is an exact duplicate of this one. |
void |
edit(EditingWindow parent,
ObjectInfo info,
java.lang.Runnable cb)
Display a window in which the user can edit this object. |
void |
editKeyframe(EditingWindow parent,
Keyframe k,
ObjectInfo info)
Allow the user to edit a keyframe returned by getPoseKeyframe(). |
BoundingBox |
getBounds()
Get a BoundingBox which just encloses the object. |
double |
getCutoff()
Get the cutoff value which defines the surface of the object. |
void |
getFieldGradient(double x,
double y,
double z,
double size,
double time,
Vec3 grad)
Get the gradient of the field function at a point specified in object coordinates. |
double |
getFieldValue(double x,
double y,
double z,
double size,
double time)
Get the value of the field function at a point specified in object coordinates. |
int |
getNumObjects()
|
ImplicitObject |
getObject(int index)
|
CoordinateSystem |
getObjectCoordinates(int index)
|
Keyframe |
getPoseKeyframe()
Return a Keyframe which describes the current pose of this object. |
boolean |
getPreferDirectRendering()
Get the preferred rendering method to use when this object is rendered by a renderer that supports direct evaluation of the field. |
boolean |
isEditable()
Allow the user to edit this object. |
void |
setCutoff(double cutoff)
|
void |
setObject(int index,
ImplicitObject obj)
|
void |
setObjectCoordinates(int index,
CoordinateSystem coords)
|
void |
setSize(double xsize,
double ysize,
double zsize)
Resize the object. |
Methods inherited from class artofillusion.object.ImplicitObject |
---|
canConvertToTriangleMesh, convertToTriangleMesh, generateMesh, getMaxGradient, getRenderingMesh, getWireframeMesh, sceneChanged, writeToFile |
Methods inherited from class artofillusion.object.Object3D |
---|
canConvertToActor, canSetMaterial, canSetTexture, configurePoseTrack, copyTextureAndMaterial, editGesture, getAverageParameterValues, getMaterial, getMaterialMapping, getParameters, getParameterValue, getParameterValues, getPosableObject, getProperties, getPropertyValue, getSkeleton, getTexture, getTextureMapping, isClosed, readParameterValue, renderObject, setMaterial, setParameters, setParameterValue, setParameterValues, setPropertyValue, setTexture |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public CompoundImplicitObject()
Method Detail |
---|
public void addObject(ImplicitObject obj, CoordinateSystem coords)
public int getNumObjects()
public ImplicitObject getObject(int index)
public void setObject(int index, ImplicitObject obj)
public CoordinateSystem getObjectCoordinates(int index)
public void setObjectCoordinates(int index, CoordinateSystem coords)
public double getCutoff()
ImplicitObject
The default implementation returns 1.0. It may be overridden to return a different value.
getCutoff
in class ImplicitObject
public void setCutoff(double cutoff)
public double getFieldValue(double x, double y, double z, double size, double time)
ImplicitObject
getFieldValue
in class ImplicitObject
x
- the x coordinate of the location at which to evaluate the functiony
- the y coordinate of the location at which to evaluate the functionz
- the z coordinate of the location at which to evaluate the functionsize
- the width of the region over which to average the function for antialiasingtime
- the time at which the function is being evaluated
public void getFieldGradient(double x, double y, double z, double size, double time, Vec3 grad)
ImplicitObject
The default implementation of this method estimates the gradient by evaluating the field function at several closely spaced points. In many cases, it is possible to calculate the gradient both more quickly and more accurately by analytical means. Whenever possible, this method should be overridden to calculate the gradient directly.
getFieldGradient
in class ImplicitObject
x
- the x coordinate of the location at which to evaluate the functiony
- the y coordinate of the location at which to evaluate the functionz
- the z coordinate of the location at which to evaluate the functionsize
- the width of the region over which to average the function for antialiasingtime
- the time at which the function is being evaluatedgrad
- on exit, this should be set equal to the gradient of the field function at
the specified locationpublic boolean getPreferDirectRendering()
ImplicitObject
getPreferDirectRendering
in class ImplicitObject
public Object3D duplicate()
Object3D
duplicate
in class Object3D
public void copyObject(Object3D obj)
Object3D
copyObject
in class Object3D
public BoundingBox getBounds()
Object3D
getBounds
in class Object3D
public void setSize(double xsize, double ysize, double zsize)
Object3D
setSize
in class Object3D
public boolean isEditable()
isEditable
in class Object3D
public void edit(EditingWindow parent, ObjectInfo info, java.lang.Runnable cb)
Object3D
edit
in class Object3D
parent
- the window from which this command is being invokedinfo
- the ObjectInfo corresponding to this objectcb
- a callback which will be executed when editing is complete. If the user
cancels the operation, it will not be called.public Keyframe getPoseKeyframe()
Object3D
getPoseKeyframe
in class Object3D
public void applyPoseKeyframe(Keyframe k)
Object3D
applyPoseKeyframe
in class Object3D
public void editKeyframe(EditingWindow parent, Keyframe k, ObjectInfo info)
Object3D
editKeyframe
in class Object3D
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |