ptolemy.domains.gr.lib
Class CircularSweep3D

java.lang.Object
  extended by ptolemy.kernel.util.NamedObj
      extended by ptolemy.kernel.InstantiableNamedObj
          extended by ptolemy.kernel.Entity
              extended by ptolemy.kernel.ComponentEntity
                  extended by ptolemy.actor.AtomicActor
                      extended by ptolemy.actor.TypedAtomicActor
                          extended by ptolemy.domains.gr.kernel.GRActor
                              extended by ptolemy.domains.gr.kernel.GRActor3D
                                  extended by ptolemy.domains.gr.lib.GRShadedShape
                                      extended by ptolemy.domains.gr.lib.CircularSweep3D
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 CircularSweep3D
extends GRShadedShape

This actor contains the geometry and appearance specifications for a circularly swept object. The output port is used to connect this actor to the Java3D scene graph. This actor will only have meaning in the GR domain.

The parameter polyline determines the silhouette of the object. One will need to enter an array of coordinates in the X-Y plane to specify the contour for this silhouette. The parameter angleSpan determines the angle in which the silhouette is swept. The parameter slices determines the number of polygonal slices used in the sweep.

Since:
Ptolemy II 1.0
Version:
$Id: CircularSweep3D.java 57040 2010-01-27 20:52:32Z cxh $
Author:
C. Fong (contributor: Edward A. Lee)
See Also:
Serialized Form
Accepted Rating:
Red (chf)
Proposed Rating:
Red (chf)

Nested Class Summary
 
Nested classes/interfaces inherited from class ptolemy.kernel.Entity
Entity.ContainedObjectsIterator
 
Field Summary
private  javax.media.j3d.Shape3D _containedNode
          The contained node.
 Parameter angleSpan
          The span of sweep angle.
 Parameter polyline
          The line segment array that is to be swept.
 Parameter slices
          The number of slices.
 
Fields inherited from class ptolemy.domains.gr.lib.GRShadedShape
_appearance, _changesAllowedNow, _coloringAttributes, _material, _polygonAttributes, _transparencyAttributes, allowRuntimeChanges, diffuseColor, emissiveColor, flat, sceneGraphOut, shininess, specularColor, texture, transparency, wireFrame
 
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.AtomicActor
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested
 
Fields inherited from class ptolemy.kernel.util.NamedObj
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _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
CircularSweep3D(CompositeEntity container, java.lang.String name)
          Construct an actor with the given container and name.
 
Method Summary
protected  void _createModel()
          Create the shape and appearance of the encapsulated swept surface.
protected  javax.media.j3d.Node _getNodeObject()
          Return the encapsulated Java3D node of this 3D actor.
private  float[] _getPolyline()
          Return the polyline as an array of floats.
private  int _getVertexCount()
          Return the number of vertices of the polyline.
 
Methods inherited from class ptolemy.domains.gr.lib.GRShadedShape
_createAppearance, _makeSceneGraphConnection, _setViewScreen, attributeChanged, clone, initialize, prefire, preinitialize, wrapup
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor3D
_addChild
 
Methods inherited from class ptolemy.domains.gr.kernel.GRActor
fire
 
Methods inherited from class ptolemy.actor.TypedAtomicActor
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints
 
Methods inherited from class ptolemy.actor.AtomicActor
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, postfire, 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.InstantiableNamedObj
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition
 
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, 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
 
Methods inherited from interface ptolemy.actor.Actor
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
 
Methods inherited from interface ptolemy.actor.Executable
isFireFunctional, isStrict, iterate, postfire, stop, stopFire, terminate
 
Methods inherited from interface ptolemy.actor.Initializable
addInitializable, removeInitializable
 
Methods inherited from interface ptolemy.kernel.util.Nameable
description, getContainer, getDisplayName, getFullName, getName, getName, setName
 
Methods inherited from interface ptolemy.kernel.util.Derivable
getDerivedLevel, getDerivedList, propagateValue
 

Field Detail

polyline

public Parameter polyline
The line segment array that is to be swept. This is an array of doubles that defaults to a square with sides of 0.25 shifted right from the origin so its left edge is at x = 0.25. This results in an annular sweep.


angleSpan

public Parameter angleSpan
The span of sweep angle. This is a double that defaults to "2.0 * PI".


slices

public Parameter slices
The number of slices. This is an integer that defaults to 32. Higher numbers result in a smoother sweep.


_containedNode

private javax.media.j3d.Shape3D _containedNode
The contained node.

Constructor Detail

CircularSweep3D

public CircularSweep3D(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

_createModel

protected void _createModel()
                     throws IllegalActionException
Create the shape and appearance of the encapsulated swept surface.

Overrides:
_createModel in class GRShadedShape
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 is a circular sweep.

Specified by:
_getNodeObject in class GRActor3D
Returns:
the Java3D circular sweep

_getPolyline

private float[] _getPolyline()
                      throws IllegalActionException
Return the polyline as an array of floats.

Returns:
The polyline.
Throws:
IllegalActionException - If polyline parameter cannot be evaluated.

_getVertexCount

private int _getVertexCount()
                     throws IllegalActionException
Return the number of vertices of the polyline.

Returns:
The vertex count.
Throws:
IllegalActionException - If the polyline parameter cannot be evaluated.