|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectsim.portrayal3d.SimplePortrayal3D
sim.portrayal3d.simple.TransformedPortrayal3D
A wrapper for other Portrayal3Ds which transforms them with an underlying Transform3D: meaning that you can rotate them, translate them, scale them, etc. When you create this TransformedPortrayal3D, you will pass in an underlying Portrayal3D which is supposed to represent the actual object; TransformedPortrayal3D will then transform it as requested. If the object will draw itself (it's its own Portrayal3D), you can signify this by passing in null for the underlying Portrayal3D.
You can provide a Transform3D with the child if you like. Otherwise a default Transform3D (which does nothing) will be provided. From there you can further rotate, translate, or scale the underlying Transform3D using the provided functions. This is essentially equivalent to the similar features provided in FieldPortrayal3Ds and in Display3D for transforming Fields or the entire scene.
If you change the transform at any time through the provided functions, the underlying models will be updated appropriately.
Field Summary | |
protected SimplePortrayal3D |
child
|
Fields inherited from class sim.portrayal3d.SimplePortrayal3D |
DEFAULT_APPEARANCE, parentPortrayal |
Constructor Summary | |
TransformedPortrayal3D(SimplePortrayal3D child)
|
|
TransformedPortrayal3D(SimplePortrayal3D child,
javax.media.j3d.Transform3D transform)
|
Method Summary | |
SimplePortrayal3D |
getChild(java.lang.Object object)
|
javax.media.j3d.Transform3D |
getDefaultTransform()
Returns the default internal transform suggested for this TransformedPortrayal3D. |
Inspector |
getInspector(LocationWrapper wrapper,
GUIState state)
Provide an inspector for an object. |
javax.media.j3d.TransformGroup |
getModel(java.lang.Object obj,
javax.media.j3d.TransformGroup previousTransformGroup)
Provides a TransformGroup which defines the node(s) to place in the scenegraph. |
java.lang.String |
getName(LocationWrapper wrapper)
Returns a static, one-line name for the given object that is useful for a human to distinguish it from other objects. |
javax.media.j3d.Transform3D |
getTransform()
Returns a copy of the current internal transform for the TransformedPortrayal3D. |
javax.media.j3d.PolygonAttributes |
polygonAttributes()
Provides a PolygonAttributes which can be modified to change the underlying model's attributes (culling, vertex versus point versus fill). |
void |
resetTransform()
Resets the internal transform to the value of getDefaultTransform() |
void |
rotateX(double degrees)
Modifies the internal transform by rotating along the current X axis the provided number of degrees. |
void |
rotateY(double degrees)
Modifies the internal transform by rotating along the current Y axis the provided number of degrees. |
void |
rotateZ(double degrees)
Modifies the internal transform by rotating along the current Z axis the provided number of degrees. |
void |
scale(double value)
Modifies the internal transform by uniformly scaling it in all directions by the provided amount. |
void |
scale(double sx,
double sy,
double sz)
Modifies the internal transform by scaling it in a nonuniform fashion. |
void |
setParentPortrayal(FieldPortrayal3D p)
Sets the parent portrayal (a FieldPortrayal3D). |
boolean |
setSelected(LocationWrapper wrapper,
boolean selected)
Change the portrayal state to reflect the fact that you've been selected or not selected. |
void |
setTransform(javax.media.j3d.Transform3D transform)
Sets the TransformedPortrayal3D's internal Transform. |
void |
transform(javax.media.j3d.Transform3D transform)
Changes the internal transform of the TransformedPortrayal3D by appending to it the provided transform operation. |
void |
translate(double dx,
double dy,
double dz)
Modifies the internal transform by translating in the provided x, y, and z amounts. |
Methods inherited from class sim.portrayal3d.SimplePortrayal3D |
appearanceForColor, appearanceForImage, clearPickableFlags, getStatus, setPickableFlags, setPickableFlags |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected SimplePortrayal3D child
Constructor Detail |
public TransformedPortrayal3D(SimplePortrayal3D child, javax.media.j3d.Transform3D transform)
public TransformedPortrayal3D(SimplePortrayal3D child)
Method Detail |
public javax.media.j3d.PolygonAttributes polygonAttributes()
Portrayal3D
polygonAttributes
in interface Portrayal3D
polygonAttributes
in class SimplePortrayal3D
public Inspector getInspector(LocationWrapper wrapper, GUIState state)
Portrayal
getInspector
in interface Portrayal
getInspector
in class SimplePortrayal3D
public java.lang.String getName(LocationWrapper wrapper)
Portrayal
getName
in interface Portrayal
getName
in class SimplePortrayal3D
public void setParentPortrayal(FieldPortrayal3D p)
SimplePortrayal3D
setParentPortrayal
in class SimplePortrayal3D
public boolean setSelected(LocationWrapper wrapper, boolean selected)
Portrayal
setSelected
in interface Portrayal
setSelected
in class SimplePortrayal3D
public SimplePortrayal3D getChild(java.lang.Object object)
public javax.media.j3d.TransformGroup getModel(java.lang.Object obj, javax.media.j3d.TransformGroup previousTransformGroup)
Portrayal3D
You should hang your model off of the TransformGroup provided. You should not transform that TransformGroup in any way -- it is used elsewhere. Instead if you wish to transform your model (rotate it etc.) you should add your own additional TransformGroup as necessary.
The provided TransformGroup can be null; in this case you need to create and return the outer TransformGroup for the object. If the provided TransformGroup is non-null, you should modify it and return the same.
SimplePortrayals should assume the following contract: at the point that getModel(...) is called, the parentPortrayal will have already been set if it exists, else it will be null.
getModel
in interface Portrayal3D
getModel
in class SimplePortrayal3D
public void setTransform(javax.media.j3d.Transform3D transform)
public javax.media.j3d.Transform3D getDefaultTransform()
public javax.media.j3d.Transform3D getTransform()
public void transform(javax.media.j3d.Transform3D transform)
public void resetTransform()
public void rotateX(double degrees)
public void rotateY(double degrees)
public void rotateZ(double degrees)
public void translate(double dx, double dy, double dz)
public void scale(double value)
public void scale(double sx, double sy, double sz)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |