Package ptolemy.domains.gr.lib
Class Scale3D
- java.lang.Object
-
- All Implemented Interfaces:
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$
- Author:
- C. Fong
- Pt.AcceptedRating:
- Red (chf)
- Pt.ProposedRating:
- Red (chf)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.media.j3d.TransformGroup
_transformNode
The encapsulated Java 3D node of this actor.Parameter
scaleFactor
The scale factor.TypedIOPort
scaleInput
The amount of rescaling during firing.Parameter
xScale
The scale factor in the Cartesian x-axis.Parameter
yScale
The scale factor in the Cartesian y-axis.Parameter
zScale
The scale factor in the Cartesian z-axis.-
Fields inherited from class ptolemy.domains.gr.lib.GRTransform
accumulate, sceneGraphIn, sceneGraphOut
-
Fields inherited from class ptolemy.domains.gr.kernel.GRActor3D
_viewScreen
-
Fields inherited from class ptolemy.domains.gr.kernel.GRActor
_allowAttributeChanges, _isSceneGraphInitialized
-
Fields inherited from class ptolemy.actor.TypedAtomicActor
_typesValid
-
Fields inherited from class ptolemy.actor.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
-
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _deferChangeRequests, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS
-
Fields inherited from interface ptolemy.actor.Executable
COMPLETED, NOT_READY, STOP_ITERATING
-
-
Constructor Summary
Constructors Constructor Description Scale3D(CompositeEntity container, java.lang.String name)
Construct an actor with the given container and name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_addChild(javax.media.j3d.Node node)
Add a scene graph child node to this actor.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.lib.GRTransform
_isAccumulating, _makeSceneGraphConnection
-
Methods inherited from class ptolemy.domains.gr.kernel.GRActor3D
_setViewScreen
-
Methods inherited from class ptolemy.actor.TypedAtomicActor
_containedTypeConstraints, _customTypeConstraints, _defaultTypeConstraints, _fireAt, _fireAt, attributeTypeChanged, clone, clone, isBackwardTypeInferenceEnabled, newPort, typeConstraintList, typeConstraints
-
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, _declareDelayDependency, addActorFiringListener, addInitializable, 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
_addPort, _description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName
-
Methods inherited from class ptolemy.kernel.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
-
Methods inherited from class ptolemy.kernel.util.NamedObj
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _containedDecorators, _copyChangeRequestList, _debug, _debug, _debug, _debug, _debug, _executeChangeRequests, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _notifyHierarchyListenersAfterChange, _notifyHierarchyListenersBeforeChange, _propagateValue, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, addHierarchyListener, attributeChanged, attributeDeleted, attributeList, attributeList, decorators, 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, notifyOfNameChange, propagateValue, propagateValues, removeAttribute, removeChangeListener, removeDebugListener, removeHierarchyListener, 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
-
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
-
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
-
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
-
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, preinitialize, removeInitializable
-
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
-
-
-
-
Field Detail
-
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.
-
-
Constructor Detail
-
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.
-
-
Method Detail
-
fire
public void fire() throws IllegalActionException
Check the input port for scaling input.- Specified by:
fire
in interfaceExecutable
- Overrides:
fire
in classGRActor
- 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 interfaceInitializable
- Overrides:
initialize
in classGRTransform
- 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.
-
_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 classGRActor3D
- Returns:
- the Java3D TransformGroup.
-
-