⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vieworganizer.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
字号:
//===========================================================================import java.util.ArrayList;public class ViewOrganizer{    private static void doLayout1(JoglView view)    {        view.setActive(true);        view.setViewportStartXPercent(0.0);        view.setViewportStartYPercent(0.0);        view.setViewportSizeXPercent(1.0);        view.setViewportSizeYPercent(1.0);    }    private static void doLayout2(ArrayList <JoglView> views, int style)    {        views.get(0).setActive(true);        views.get(1).setActive(true);        if ( style == 0 ) {            views.get(0).setViewportStartXPercent(0.0);            views.get(0).setViewportStartYPercent(0.0);            views.get(0).setViewportSizeXPercent(0.5);            views.get(0).setViewportSizeYPercent(1.0);            views.get(1).setViewportStartXPercent(0.5);            views.get(1).setViewportStartYPercent(0.0);            views.get(1).setViewportSizeXPercent(0.5);            views.get(1).setViewportSizeYPercent(1.0);        }        else {            views.get(0).setViewportStartXPercent(0.0);            views.get(0).setViewportStartYPercent(0.5);            views.get(0).setViewportSizeXPercent(1.0);            views.get(0).setViewportSizeYPercent(0.5);            views.get(1).setViewportStartXPercent(0.0);            views.get(1).setViewportStartYPercent(0.0);            views.get(1).setViewportSizeXPercent(1.0);            views.get(1).setViewportSizeYPercent(0.5);        }    }    private static void doLayout3(ArrayList <JoglView> views, int style)    {        //-----------------------------------------------------------------        double Pstart[][] = new double[3][2];        double Psize[][] = new double[3][2];        double p00 = 0;        double p50 = 0.5;        double p33 = 1.0/3.0;        double p66 = 2.0/3.0;        double p100 = 1;        int i;        //-----------------------------------------------------------------        switch ( style % 6 ) {          case 0:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p00; Pstart[1][1] = p50;            Pstart[2][0] = p50; Pstart[2][1] = p00;            Psize[0][0] = p50; Psize[0][1] = p50;            Psize[1][0] = p50; Psize[1][1] = p50;            Psize[2][0] = p50; Psize[2][1] = p100;            break;          case 1:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p50; Pstart[1][1] = p00;            Pstart[2][0] = p50; Pstart[2][1] = p50;            Psize[0][0] = p50; Psize[0][1] = p100;            Psize[1][0] = p50; Psize[1][1] = p50;            Psize[2][0] = p50; Psize[2][1] = p50;            break;          case 2:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p50; Pstart[1][1] = p00;            Pstart[2][0] = p00; Pstart[2][1] = p50;            Psize[0][0] = p50; Psize[0][1] = p50;            Psize[1][0] = p50; Psize[1][1] = p50;            Psize[2][0] = p100; Psize[2][1] = p50;            break;          case 3:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p00; Pstart[1][1] = p50;            Pstart[2][0] = p50; Pstart[2][1] = p50;            Psize[0][0] = p100; Psize[0][1] = p50;            Psize[1][0] = p50; Psize[1][1] = p50;            Psize[2][0] = p50; Psize[2][1] = p50;            break;          case 4:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p33; Pstart[1][1] = p00;            Pstart[2][0] = p66; Pstart[2][1] = p00;            Psize[0][0] = p33; Psize[0][1] = p100;            Psize[1][0] = p33; Psize[1][1] = p100;            Psize[2][0] = p33; Psize[2][1] = p100;            break;          case 5:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p00; Pstart[1][1] = p33;            Pstart[2][0] = p00; Pstart[2][1] = p66;            Psize[0][0] = p100; Psize[0][1] = p33;            Psize[1][0] = p100; Psize[1][1] = p33;            Psize[2][0] = p100; Psize[2][1] = p33;            break;        }        //-----------------------------------------------------------------        for ( i = 0; i < 3; i++ ) {            views.get(i).setActive(true);            views.get(i).setViewportStartXPercent(Pstart[i][0]);            views.get(i).setViewportStartYPercent(Pstart[i][1]);            views.get(i).setViewportSizeXPercent(Psize[i][0]);            views.get(i).setViewportSizeYPercent(Psize[i][1]);        }    }    private static void doLayout4(ArrayList <JoglView> views, int style)    {        //-----------------------------------------------------------------        double Pstart[][] = new double[4][2];        double Psize[][] = new double[4][2];        double p00 = 0;        double p25 = 0.25;        double p33 = 1.0/3.0;        double p50 = 0.5;        double p66 = 2.0/3.0;        double p75 = 0.25;        double p100 = 1;        int i;        //-----------------------------------------------------------------        switch ( style % 7 ) {          case 0:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[3][0] = p00; Pstart[3][1] = p33;            Pstart[2][0] = p00; Pstart[2][1] = p66;            Pstart[1][0] = p33; Pstart[1][1] = p00;            Psize[0][0] = p33; Psize[0][1] = p33;            Psize[3][0] = p33; Psize[3][1] = p33;            Psize[2][0] = p33; Psize[2][1] = p33;            Psize[1][0] = p66; Psize[1][1] = p100;            break;          case 1:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p50; Pstart[1][1] = p00;            Pstart[2][0] = p00; Pstart[2][1] = p50;            Pstart[3][0] = p50; Pstart[3][1] = p50;            Psize[0][0] = p50; Psize[0][1] = p50;            Psize[1][0] = p50; Psize[1][1] = p50;            Psize[2][0] = p50; Psize[2][1] = p50;            Psize[3][0] = p50; Psize[3][1] = p50;            break;          case 2:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p50; Pstart[1][1] = p00;            Pstart[2][0] = p50; Pstart[2][1] = p33;            Pstart[3][0] = p50; Pstart[3][1] = p66;            Psize[0][0] = p50; Psize[0][1] = p100;            Psize[1][0] = p50; Psize[1][1] = p33;            Psize[2][0] = p50; Psize[2][1] = p33;            Psize[3][0] = p50; Psize[3][1] = p33;            break;          case 3:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p33; Pstart[1][1] = p00;            Pstart[2][0] = p66; Pstart[2][1] = p00;            Pstart[3][0] = p00; Pstart[3][1] = p50;            Psize[0][0] = p33; Psize[0][1] = p50;            Psize[1][0] = p33; Psize[1][1] = p50;            Psize[2][0] = p33; Psize[2][1] = p50;            Psize[3][0] = p100; Psize[3][1] = p50;            break;          case 4:            Pstart[0][0] = p00; Pstart[0][1] = p00;            Pstart[1][0] = p00; Pstart[1][1] = p50;            Pstart[2][0] = p33; Pstart[2][1] = p50;            Pstart[3][0] = p66; Pstart[3][1] = p50;            Psize[0][0] = p100; Psize[0][1] = p50;            Psize[1][0] = p33; Psize[1][1] = p50;            Psize[2][0] = p33; Psize[2][1] = p50;            Psize[3][0] = p33; Psize[3][1] = p50;            break;        }        //-----------------------------------------------------------------        for ( i = 0; i < 4; i++ ) {            views.get(i).setActive(true);            views.get(i).setViewportStartXPercent(Pstart[i][0]);            views.get(i).setViewportStartYPercent(Pstart[i][1]);            views.get(i).setViewportSizeXPercent(Psize[i][0]);            views.get(i).setViewportSizeYPercent(Psize[i][1]);        }    }    public static int doLayout(ArrayList <JoglView> views, int selectedForFullScreen, int style)    {        int i, selected = 0;        JoglView view;        if ( selectedForFullScreen >= 0 &&             selectedForFullScreen < views.size() ) {            for ( i = 0; i < views.size(); i++ ) {                view = views.get(i);                if ( i == selectedForFullScreen ) {                    view.setActive(true);                    view.setSelected(true);                    doLayout1(view);                    selected = i;                }                else {                    view.setActive(false);                    view.setSelected(false);                }            }        }        else {            //-----------------------------------------------------------------            boolean isSelected = false;            for ( i = 0; i < views.size(); i++ ) {                view = views.get(i);                if ( !isSelected && view.getSelected() ) {                    isSelected = true;                    selected = i;                    continue;                }                else if ( isSelected ) {                    view.setSelected(false);                }            }            if ( !isSelected && views.size() > 0 ) {                views.get(0).setSelected(true);                selected = 0;            }            //-----------------------------------------------------------------            switch ( views.size() ) {              case 0:                System.out.println("Warning: NO VIEWS TO ORDER!");                break;            case 1:  doLayout1(views.get(0)); break;              case 2:  doLayout2(views, style%2); break;              case 3:  doLayout3(views, style%6); break;              case 4:  doLayout4(views, style%5); break;              default:                System.out.println("Warning: Not supported layout, selecting first view full screen!");                doLayout1(views.get(0));                break;            }        }        return selected;    }}//===========================================================================//= EOF                                                                     =//===========================================================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -