ptolemy.domains.gr.lib
Class Rotate3D
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.domains.gr.kernel.GRActor
ptolemy.domains.gr.kernel.GRActor3D
ptolemy.domains.gr.lib.GRTransform
ptolemy.domains.gr.lib.Rotate3D
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class Rotate3D
- extends GRTransform
Conceptually, this actor takes 3D geometry in its input and produces
a rotated version in its output. In reality, this actor encapsulates a
Java3D TransformGroup which is converted into a node in the resulting
Java3D scene graph. This actor will only have meaning in the GR domain.
The parameters axisDirectionX,axisDirectionY, and
axisDirectionZ determine the direction of the axis of rotation.
The parameters baseX, baseY, and baseZ determine
the pivot point for axis of the rotation. The parameter initialAngle
determines the initial angle of rotation.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: Rotate3D.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- C. Fong
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Constructor Summary |
Rotate3D(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary |
protected void |
_addChild(javax.media.j3d.Node node)
Connect other Java3D nodes as children of the encapsulated node in
this actor. |
protected javax.media.j3d.Node |
_getNodeObject()
Return the encapsulated Java3D node of this 3D actor. |
void |
fire()
Change the rotation angle depending on the value given in the
input port. |
void |
initialize()
Setup the initial rotation. |
Methods inherited from class ptolemy.domains.gr.kernel.GRActor |
wrapup |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, clone, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, prefire, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate |
Methods inherited from class ptolemy.kernel.ComponentEntity |
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeChanged, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
angle
public TypedIOPort angle
- The amount of rotation during firing. If this transform is in
accumulate mode, the angle value is accumulated for each firing.
initialAngle
public Parameter initialAngle
- The initial angle of rotation.
This parameter should contain a DoubleToken.
The default value of this parameter is 0.0.
axisDirection
public Parameter axisDirection
- The direction of the axis of rotation.
The parameter should contain a DoubleMatrixToken
The default value of this parameter is [0.0, 1.0, 0.0]
pivotLocation
public PortParameter pivotLocation
- The pivot location of the axis of rotation.
This parameter should contain a DoubleMatrixToken
The default value of this parameter is [0.0, 0.0, 0.0]
_xAxis
private double _xAxis
_yAxis
private double _yAxis
_zAxis
private double _zAxis
_baseX
private double _baseX
_baseY
private double _baseY
_baseZ
private double _baseZ
_topTranslate
private javax.media.j3d.TransformGroup _topTranslate
_middleRotate
private javax.media.j3d.TransformGroup _middleRotate
_bottomTranslate
private javax.media.j3d.TransformGroup _bottomTranslate
_rotation
private javax.media.j3d.Transform3D _rotation
_accumulatedAngle
private double _accumulatedAngle
Rotate3D
public Rotate3D(CompositeEntity container,
java.lang.String name)
throws IllegalActionException,
NameDuplicationException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
_addChild
protected void _addChild(javax.media.j3d.Node node)
- Connect other Java3D nodes as children of the encapsulated node in
this actor.
- Overrides:
_addChild
in class GRActor3D
- Parameters:
node
- The child Java3D node.
fire
public void fire()
throws IllegalActionException
- Change the rotation angle depending on the value given in the
input port.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class GRActor
- Throws:
IllegalActionException
- If the value of some parameters
can't be obtained.
_getNodeObject
protected javax.media.j3d.Node _getNodeObject()
- Return the encapsulated Java3D node of this 3D actor. The encapsulated
node for this actor TransformGroup
- Specified by:
_getNodeObject
in class GRActor3D
- Returns:
- the Java3D TransformGroup
initialize
public void initialize()
throws IllegalActionException
- Setup the initial rotation.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class GRTransform
- Throws:
IllegalActionException
- If the value of some parameters can't
be obtained