package render;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.geom.AffineTransform;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.Timer;
import physics.RTTSource;
public class RenderTest {
public static void main(String[] args) {
JFrame jf = new JFrame();
final JPanel jp = new JPanel() {
private static final long serialVersionUID = -4949831575414066843L;
public void paint(Graphics g) {
super.paint(g);
Graphics2D g2 = (Graphics2D) g;
XYTRenderNode rn = new XYTRenderNode(20, -20, 0) {
public void draw(Graphics2D g, RenderPreferences prefs) {
g.fillArc(-5, -5, 10, 10, 0, 360);
}
};
RTTRenderNode rn2 = new RTTRenderNode(new RTTSource () {
public float position_radius() {
return 100;
}
public float position_theta() {
return (float)- (Math.PI/4);
}
public float alignment_theta() {
return (float) (Math.PI/4);
}
}) {
public void draw(Graphics2D g, RenderPreferences prefs) {
g.drawLine(0, 0, 40, 0);
}
};
rn.addChild(rn2);
XYTRenderNode root = new XYTRenderNode(0,0,0);
root.addChild(rn);
AffineTransform cart = new AffineTransform();
cart.scale(1, -1);
root.render(g2, cart, new StandardPrefs());
}
};
jf.add(jp);
jf.setVisible(true);
jf.setSize(400,400);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
new Timer(30, new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
jp.repaint();
}
}).start();
}
}