ptolemy.domains.gr.lib
Class Scale3D
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.Scale3D
- 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 Scale3D
- extends GRTransform
Conceptually, this actor takes 3D geometry in its input and
produces a scaled 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. Scaling can be done uniformly or non-uniformly.
Uniform scaling scales the input geometry equally in all
directions. Uniform scaling is done through modification of the
scaleFactor parameter. Non-uniform scaling involves
preferential scaling of the input geometry in a specified Cartesian
axis. Non-uniform scaling is done through modification of the
xScale, yScale, and zScale parameters.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: Scale3D.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 |
Scale3D(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)
Add a scene graph child node to this actor. |
private double |
_getInitialScaleX()
Get the scaling factor in the x-axis |
private double |
_getInitialScaleY()
Get the scaling factor in the y-axis |
private double |
_getInitialScaleZ()
Get the scaling factor in the z-axis |
protected javax.media.j3d.Node |
_getNodeObject()
Return the encapsulated Java3D node of this 3D actor. |
void |
fire()
Check the input port for scaling input. |
void |
initialize()
Setup the transformation needed for scaling. |
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 |
scaleInput
public TypedIOPort scaleInput
- The amount of rescaling during firing. If this transform is in
accumulate mode, the scaling value is accumulated
scaleFactor
public Parameter scaleFactor
- The scale factor.
This parameter should contain a DoubleToken.
The default value of this parameter is the DoubleToken 1.0
xScale
public Parameter xScale
- The scale factor in the Cartesian x-axis.
This parameter should contain a DoubleToken.
The default value of this parameter is the DoubleToken 1.0
yScale
public Parameter yScale
- The scale factor in the Cartesian y-axis.
This parameter should contain a DoubleToken.
The default value of this parameter is the DoubleToken 1.0
zScale
public Parameter zScale
- The scale factor in the Cartesian z-axis.
This parameter should contain a DoubleToken.
The default value of this parameter is the DoubleToken 1.0
_transformNode
protected javax.media.j3d.TransformGroup _transformNode
- The encapsulated Java 3D node of this actor.
_scaleXState
private double _scaleXState
_scaleYState
private double _scaleYState
_scaleZState
private double _scaleZState
Scale3D
public Scale3D(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.
fire
public void fire()
throws IllegalActionException
- Check the input port for scaling input.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class GRActor
- Throws:
IllegalActionException
- If the value of some parameters
can't be obtained
initialize
public void initialize()
throws IllegalActionException
- Setup the transformation needed for scaling.
- Specified by:
initialize
in interface Initializable
- Overrides:
initialize
in class GRTransform
- Throws:
IllegalActionException
- If the current director
is not a GRDirector.
_addChild
protected void _addChild(javax.media.j3d.Node node)
- Add a scene graph child node to this actor.
- Overrides:
_addChild
in class GRActor3D
- Parameters:
node
- The child node to be attached.
_getNodeObject
protected javax.media.j3d.Node _getNodeObject()
- Return the encapsulated Java3D node of this 3D actor. The
encapsulated node for this actor is a TransformGroup.
- Specified by:
_getNodeObject
in class GRActor3D
- Returns:
- the Java3D TransformGroup.
_getInitialScaleX
private double _getInitialScaleX()
throws IllegalActionException
- Get the scaling factor in the x-axis
- Returns:
- the scaling factor in the x-axis
- Throws:
IllegalActionException
- If the value of some parameters can't
be obtained
_getInitialScaleY
private double _getInitialScaleY()
throws IllegalActionException
- Get the scaling factor in the y-axis
- Returns:
- the scaling factor in the y-axis
- Throws:
IllegalActionException
- If the value of some parameters can't
be obtained
_getInitialScaleZ
private double _getInitialScaleZ()
throws IllegalActionException
- Get the scaling factor in the z-axis
- Returns:
- the scaling factor in the z-axis
- Throws:
IllegalActionException
- If the value of some parameters can't
be obtained