ptolemy.domains.gr.lib
Class PolyCylinder3D
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.GRShadedShape
ptolemy.domains.gr.lib.PolyCylinder3D
- 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 PolyCylinder3D
- extends GRShadedShape
This actor produces a generalized cylindrical shape in the GR domain.
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 polygon determines the polygonal shape of the base
of this generalized cylinder. One will need to enter an array of coordinates
in the X-Y plane to specify the polygonal shape for the base. The parameter
thickness determines the thickness of the generalized cylinder.
- Since:
- Ptolemy II 1.0
- Version:
- $Id: PolyCylinder3D.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- C. Fong and Edward A. Lee
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
private javax.media.j3d.Shape3D |
_containedNode
The contained shape. |
Parameter |
polygon
The polygonal shape of the base
This parameter should contain a ArrayToken with an even number
of DoubleToken values. |
Parameter |
thickness
The thickness of the generalized cylinder
This parameter should contain a DoubleToken. |
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.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Method Summary |
protected void |
_createModel()
Create the shape and appearance of the encapsulated
generalized cylinder. |
private javax.media.j3d.GeometryArray |
_getGeometry()
Create the shape and appearance of the encapsulated
generalized cylinder and return as a geometry array. |
protected javax.media.j3d.Node |
_getNodeObject()
Return the encapsulated Java3D node of this 3D actor. |
private float[] |
_getPolygon()
Get the array that contains the 2D polygonal representation
of the base of this cylinder. |
private int |
_getVertexCount()
Get the number of vertices in the 2D polygonal base of this
generalized cylinder. |
void |
attributeChanged(Attribute attribute)
If the specified attribute is polygon or thickness
and runtime changes are allowed, then update the geometry. |
Methods inherited from class ptolemy.domains.gr.kernel.GRActor |
fire |
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.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 |
polygon
public Parameter polygon
- The polygonal shape of the base
This parameter should contain a ArrayToken with an even number
of DoubleToken values.
The default shape for this polygon is a triangle
thickness
public Parameter thickness
- The thickness of the generalized cylinder
This parameter should contain a DoubleToken.
The default value of this parameter is the DoubleToken 0.3
_containedNode
private javax.media.j3d.Shape3D _containedNode
- The contained shape.
PolyCylinder3D
public PolyCylinder3D(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.
attributeChanged
public void attributeChanged(Attribute attribute)
throws IllegalActionException
- If the specified attribute is polygon or thickness
and runtime changes are allowed, then update the geometry.
- Overrides:
attributeChanged
in class GRShadedShape
- Parameters:
attribute
- The attribute that changed.
- Throws:
IllegalActionException
- If thrown by the parent class.
_createModel
protected void _createModel()
throws IllegalActionException
- Create the shape and appearance of the encapsulated
generalized cylinder.
- 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 generalized polygonal cylinder.
- Specified by:
_getNodeObject
in class GRActor3D
- Returns:
- the generalized polygonal cylinder
_getGeometry
private javax.media.j3d.GeometryArray _getGeometry()
throws IllegalActionException
- Create the shape and appearance of the encapsulated
generalized cylinder and return as a geometry array.
- Throws:
IllegalActionException
- If the value of some
parameters can't be obtained.
_getPolygon
private float[] _getPolygon()
throws IllegalActionException
- Get the array that contains the 2D polygonal representation
of the base of this cylinder.
- Returns:
- An array that contains the 2D polygonal vertex coordinates.
- Throws:
IllegalActionException
- If the value of the polygon
parameter can't be obtained.
_getVertexCount
private int _getVertexCount()
throws IllegalActionException
- Get the number of vertices in the 2D polygonal base of this
generalized cylinder.
- Returns:
- the number of vertices in the base polygon
- Throws:
IllegalActionException
- If the value of some parameters can't
be obtained