package org.jcae.viewer3d.test;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.Window;
import java.io.File;
import javax.swing.*;
import org.jcae.viewer3d.View;
import org.jcae.viewer3d.cad.ViewableCAD;
import org.jcae.viewer3d.cad.occ.OCCProvider;
public class TestCAD
{
static class Loader implements Runnable
{
private Container component;
private String fileName;
private Window window;
public Loader(String fileName, Container component, Window window)
{
this.fileName=fileName;
this.component=component;
this.window=window;
}
public void run()
{
View view=new View(window, false, true);
OCCProvider occProvider=new OCCProvider(fileName);
System.out.println("Loading "+fileName);
ViewableCAD c=new ViewableCAD(occProvider);
view.add(c);
component.add(view);//, fileName);
view.fitAll();
System.out.println(fileName+" Loaded");
}
}
/**
* @param args
*/
public static void main(String[] args)
{
String modelDir="/home/jerome/Models";
System.setProperty("javax.media.j3d.zFactorAbs", "0");
System.setProperty("javax.media.j3d.zFactorRel", "0");
JFrame frame=new JFrame();
frame.setSize(800,600);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container container = new JPanel();
container.setLayout(new GridLayout(2,3));
frame.setContentPane(container);
// Using libOccJava with multithreading make it crash ???
/*
new Thread(new Loader(modelDir+File.separator+"tube2_biseau.brep", container)).start();
new Thread(new Loader(modelDir+File.separator+"hammer.brep", container)).start();
new Thread(new Loader(modelDir+File.separator+"flight_solid.brep", container)).start();
new Thread(new Loader(modelDir+File.separator+"66_shaver3.brep", container)).start();
*/
new Loader(modelDir+File.separator+"tube2_biseau.brep", container, frame).run();
new Loader(modelDir+File.separator+"hammer.brep", container, frame).run();
new Loader(modelDir+File.separator+"flight_solid.brep", container, frame).run();
new Loader(modelDir+File.separator+"66_shaver3.brep", container, frame).run();
new Loader(modelDir+File.separator+"lego.brep", container, frame).run();
frame.setVisible(true);
}
}