package sim.app.pendulum; import java.awt.*; import sim.engine.*; import sim.physics2D.physicalObject.*; import sim.physics2D.util.*; import sim.physics2D.forceGenerator.*; import sim.util.Double2D; public class Pendulum extends MobileObject2D implements Steppable, ForceGenerator { // public double radius; public Pendulum(Double2D pos, Double2D vel, double width, double height, Paint paint) { this.setVelocity(vel); this.setPose(pos, new Angle(0)); this.setShape(new sim.physics2D.shape.Rectangle(width, height, paint), width * height); this.setCoefficientOfFriction(0); this.setCoefficientOfStaticFriction(0); this.setCoefficientOfRestitution(1); } public void step(SimState state) { Double2D position = this.getPosition(); PendulumSim simPendulumSim = (PendulumSim)state; simPendulumSim.fieldEnvironment.setObjectLocation(this, new sim.util.Double2D(position.x, position.y)); } public void addForce() { this.addForce(new Double2D(0, 5)); } }