package a3test.debug;

import jp.sourceforge.acerola3d.a3.*;

//以下のようにw.add,w.delを入れなければ問題ないのだが、
//一番最後のunpolygonizeが失敗する。
//それ以降にpolygonizeやっても失敗する。
//やっぱりBehaviorの外でdetachとかやってるからかな???
//(2010,05/06追記)コメントアウトしてあるように、w.add,w.delのかわりに
//新しく実装したA3Object.setVisible(boolean)を使えば問題を回避できるけど
//根本的な解決ではないので、ひきつづき調査すべし。
public class UnpolygonizeTest {
    public static void main(String args[]) throws Exception {
        A3Window w = new A3Window(300,300);
        Action3D a3 = new Action3D("x-res:///axis.a3");
        w.add(a3);
        Thread.sleep(1000);
        w.del(a3);w.add(a3);
        //a3.setVisible(false);a3.setVisible(true);
        a3.polygonize();    //成功する
        Thread.sleep(1000);
        w.del(a3);w.add(a3);
        //a3.setVisible(false);a3.setVisible(true);
        a3.unpolygonize();  //成功する
        Thread.sleep(1000);
        w.del(a3);w.add(a3);
        //a3.setVisible(false);a3.setVisible(true);
        a3.polygonize();    //成功する
        Thread.sleep(1000);
        w.del(a3);w.add(a3);
        //a3.setVisible(false);a3.setVisible(true);
        a3.unpolygonize();  //なぜか失敗する！！！
    }
}
