package ptolemy.domains.gro.lib;
import javax.media.opengl.GL;
import ptolemy.actor.TypedIOPort;
import ptolemy.data.type.BaseType;
import ptolemy.domains.gro.kernel.GROActor;
import ptolemy.domains.gro.kernel.GRODirector;
import ptolemy.kernel.CompositeEntity;
import ptolemy.kernel.util.IllegalActionException;
import ptolemy.kernel.util.NameDuplicationException;
import java.lang.Math;
public class Ellipse3D extends GROActor {
public Ellipse3D(CompositeEntity container, String name)
throws IllegalActionException, NameDuplicationException {
super(container, name);
GLPipelineObject.setTypeEquals(BaseType.OBJECT);
}
public TypedIOPort GLPipelineObject;
public void fire() throws IllegalActionException {
if (_debugging) {
_debug("Called fire()");
}
GL gl = ((GRODirector) getDirector()).getGL();
gl.glColor3f(1,1,1);
double x,y,z;
int t;
gl.glBegin(GL.GL_POINTS);
gl.glColor3f(0.3f, 0.7f, 0.3f);
for(t = 0; t <= 360; t +=1)
{
x = 5*Math.sin(t);
y = 4*Math.cos(t);
z = 0;
gl.glVertex3f((float) x,(float) y, (float) z);
}
gl.glEnd();
}
}