javaProcessing/Tester3D.java

98 lines
3.2 KiB
Java
Raw Permalink Normal View History

2015-05-08 20:36:26 -06:00
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Scanner;
2015-05-08 12:51:53 -06:00
import java.lang.*;
import java.io.*;
import java.net.*;
class Tester3D {
2015-05-08 20:36:26 -06:00
public static Display3D area3d;
public static JFrame frame;
public static JSlider slider;
public static JButton button;
public static double rawYaw;
public static double yawAdjust = 0.0;
2015-05-08 12:51:53 -06:00
public static void main(String[] args) {
2015-05-08 20:36:26 -06:00
frame = new JFrame( "Tester3D" );
frame.setResizable( true );
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout( new BorderLayout() );
area3d = new DisplayNewQuad( 80 );
2015-05-08 20:36:26 -06:00
frame.add( area3d, BorderLayout.CENTER );
area3d.init();
while( area3d.defaultSize && !area3d.finished )
try { Thread.sleep( 5 ); } catch( Exception e ) {}
slider = new JSlider( JSlider.VERTICAL, 0, 157, 52 ); // initial position pi/6
Tester3D.area3d.camAngle = (float)( 157 - Tester3D.slider.getValue() ) / 100; // set initial camera angle
2015-05-08 20:36:26 -06:00
slider.addChangeListener( new ChangeListener() {
public void stateChanged( ChangeEvent evt ) {
Tester3D.area3d.camAngle = (float)( 157 - Tester3D.slider.getValue() ) / 100;
}
});
frame.add( slider, BorderLayout.EAST );
button = new JButton( "reset yaw" );
button.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent evt ) {
Tester3D.yawAdjust = rawYaw;
}
});
frame.add( button, BorderLayout.NORTH );
frame.pack();
frame.setVisible( true );
2015-05-08 12:51:53 -06:00
try {
Socket skt = new Socket("localhost", 7777);
BufferedReader in = new BufferedReader(new
InputStreamReader(skt.getInputStream()));
2015-05-08 20:36:26 -06:00
Scanner in2 = new Scanner( skt.getInputStream() );
System.out.println("STARTING...");
2015-05-08 12:51:53 -06:00
2015-05-08 20:36:26 -06:00
while( !in.ready() ) {}
2015-05-08 12:51:53 -06:00
2015-05-08 20:36:26 -06:00
String inString;
while( !in2.hasNext() ) {}
while( !updateYPR( in2 ) ) {}
yawAdjust = rawYaw;
2015-05-08 20:36:26 -06:00
while( true ) {
//while( !in.ready() ) {}
//inString = in.readLine();
if( in2.hasNext() ) {
updateYPR( in2 );
2015-05-08 20:36:26 -06:00
}
}
//System.out.print("'\n");
//in.close();
2015-05-08 12:51:53 -06:00
}
catch(Exception e) {
System.out.print("Whoops! It didn't work!\n");
System.exit(1);
2015-05-08 12:51:53 -06:00
}
}
/**
* @return true on successful update, false if scan.next() is not "ypr"
*/
public static boolean updateYPR( Scanner scan) {
if( scan.next().equals( "ypr" ) ) {
while( !scan.hasNext() ) {}
rawYaw = (float)( 0.01745329251 * scan.nextFloat() );
area3d.yaw = (float)( rawYaw - yawAdjust );
while( !scan.hasNext() ) {}
area3d.pitch = (float)( 0.01745329251 * scan.nextFloat() );
while( !scan.hasNext() ) {}
area3d.roll = (float)( 0.01745329251 * scan.nextFloat() );
return true;
}
return false;
}
2015-05-08 12:51:53 -06:00
}