ptolemy.domains.gr.lib
Class Torus3D

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.Torus3D
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 Torus3D
extends GRShadedShape

This actor contains the geometry and appearance specifications for a GR torus. 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 hullRadius determines the radius of torus ring. The parameter crossSectionRadius determines the radius of the torus cross-section. The parameter slices determines the number of polygonal slices used in the creating the torus.

Since:
Ptolemy II 1.0
Version:
$Id: Torus3D.java 57040 2010-01-27 20:52:32Z cxh $
Author:
C. Fong
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
           
 Parameter angleSpan
          The span of torus sweep angle This parameter should contain a DoubleToken.
 Parameter crossSectionRadius
          The radius of the torus cross-section This parameter should contain a DoubleToken.
 Parameter hullRadius
          The radius of the torus outer hull This parameter should contain a DoubleToken.
 Parameter slices
          The number of slices This parameter should contain a IntToken.
 
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
Torus3D(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 torus.
private  double _getAngleSpan()
          Return the angle span of the sweep
private  float _getCrossSectionRadius()
          Return the radius of the cross section
private  float _getHullRadius()
          Return the radius of the outer hull
protected  javax.media.j3d.Node _getNodeObject()
          Return the encapsulated Java3D node of this 3D actor.
private  int _getSlices()
          Return the number of slices
 
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

crossSectionRadius

public Parameter crossSectionRadius
The radius of the torus cross-section This parameter should contain a DoubleToken.


hullRadius

public Parameter hullRadius
The radius of the torus outer hull This parameter should contain a DoubleToken.


angleSpan

public Parameter angleSpan
The span of torus sweep angle This parameter should contain a DoubleToken.


slices

public Parameter slices
The number of slices This parameter should contain a IntToken.


_containedNode

private javax.media.j3d.Shape3D _containedNode
Constructor Detail

Torus3D

public Torus3D(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 torus.

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 customized torus.

Specified by:
_getNodeObject in class GRActor3D
Returns:
the torus node

_getAngleSpan

private double _getAngleSpan()
                      throws IllegalActionException
Return the angle span of the sweep

Returns:
the angle span of the sweep
Throws:
IllegalActionException - If the value of some parameters can't be obtained

_getCrossSectionRadius

private float _getCrossSectionRadius()
                              throws IllegalActionException
Return the radius of the cross section

Returns:
the radius of the cross section
Throws:
IllegalActionException - If the value of some parameters can't be obtained

_getHullRadius

private float _getHullRadius()
                      throws IllegalActionException
Return the radius of the outer hull

Returns:
the radius of the outer hull
Throws:
IllegalActionException - If the value of some parameters can't be obtained

_getSlices

private int _getSlices()
                throws IllegalActionException
Return the number of slices

Returns:
the number of slices
Throws:
IllegalActionException - If the value of some parameters can't be obtained