亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? translategizmo.java

?? 基于java的3d開發庫。對坐java3d的朋友有很大的幫助。
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
            interactionTechnique = 1; // Vector            break;          case Z_AXIS_GROUP:             v = new Vector3D(0, 0, 1);            interactionTechnique = 1; // Vector            break;          case XY_PLANE_GROUP:             v = new Vector3D(0, 0, 1);            interactionTechnique = 2; // Plane            break;          case YZ_PLANE_GROUP:             v = new Vector3D(1, 0, 0);            interactionTechnique = 2; // Plane            break;          case XZ_PLANE_GROUP:             v = new Vector3D(0, 1, 0);            interactionTechnique = 2; // Plane            break;        }        if ( v == null ) {            oldmousex = e.getX();            oldmousey = e.getY();            return false;        }        //- Implement interaction technique for selected element ----------        Vector3D o = getPosition();        Vector3D p = new Vector3D(0, 0, 0);        Ray r = null;        InfinitePlane plane;        int mousex = e.getX();        int mousey = e.getY();        Vector3D deltapos = new Vector3D();        camera.updateVectors();        if ( interactionTechnique == 2 ) {            r = camera.generateRay(mousex, mousey);            if ( r.direction.dotProduct(v) > 0 ) {                v = v.multiply(-1);            }            plane = new InfinitePlane(v, o);            if ( !plane.doIntersection(r) ) {                oldmousex = e.getX();                oldmousey = e.getY();                p = o;            }            else {                p = r.direction.multiply(r.t).add(r.origin);            }        }        else if ( interactionTechnique == 1 ) {            boolean accountForU = false;            boolean accountForV = false;            Vector3D left, up;            left = camera.getLeft();            up = camera.getUp();            v.normalize();            left.normalize();            up.normalize();            if ( Math.abs(v.dotProduct(left)) > Math.cos(Math.toRadians(80.0)) ) {                accountForU = true;            }            if ( Math.abs(v.dotProduct(up)) > Math.cos(Math.toRadians(80.0)) ) {                accountForV = true;            }            if ( accountForU && !accountForV ) {                plane = camera.calculateUPlaneAtPixel(mousex, mousey);            }            else if ( accountForV && !accountForU ) {                plane = camera.calculateVPlaneAtPixel(mousex, mousey);            }            else if ( accountForU && accountForV ) {                if ( (mousex-oldmousex) > (mousey-oldmousey) ) {                    plane = camera.calculateUPlaneAtPixel(mousex, mousey);                }                else {                    plane = camera.calculateVPlaneAtPixel(mousex, mousey);                }            }            else {                oldmousex = e.getX();                oldmousey = e.getY();                return false;            }            r = new Ray(o, v);            Ray r2 = new Ray(o, v);            if ( !plane.doIntersectionWithNegative(r) ) {                oldmousex = e.getX();                oldmousey = e.getY();                return false;            }            p = r.origin.add(r.direction.multiply(r.t));        }        oldmousex = e.getX();        oldmousey = e.getY();        //* HOW TO REFACTOR TO HERE ***************************************        lastDeltaPosition = p.substract(getPosition());        return false;    }    public boolean processMouseReleasedEventAwt(MouseEvent e)    {        selectedResizing = true;        calculateGeometryState(getPosition(), T, selectedResizing,                                aparentSizeInPixels, camera);        return true;    }    public boolean processMouseClickedEventAwt(MouseEvent e)    {        selectedResizing = true;        calculateGeometryState(getPosition(), T, selectedResizing,                                aparentSizeInPixels, camera);        int previousSelection = volatileSelection;        if ( volatileSelection == NULL_GROUP ) {            previousSelection = persistentSelection;        }        persistentSelection = calculateSelection(e.getX(), e.getY());        if ( persistentSelection == NULL_GROUP ) {            persistentSelection = previousSelection;        }        if ( persistentSelection != previousSelection ) {            return true;        }        return false;    }    /**    Given a pixel coordinate, this method traces a ray from current camera    to gizmo's geometry and determines the constituent element selected.    */    private int calculateSelection(int x, int y)    {        camera.updateVectors();        Ray r = camera.generateRay(x, y);        double nearestDistance = Double.MAX_VALUE;        int nearestElement = -1;        int index = 1, i;        /* Note that box elements are only for display, they do not affect           gravity selections */        for ( i = 0; index <= 9 && i < elementInstances.size(); index++, i++ ) {            r.t = Double.MAX_VALUE;            SimpleBody gi = elementInstances.get(i);            if ( gi.getGeometry() != null && gi.doIntersection(r) &&                 r.t < nearestDistance ) {                nearestDistance = r.t;                nearestElement = index;            }        }        int selection = NULL_GROUP;        switch ( nearestElement ) {          case X_AXIS_ELEMENT: selection = X_AXIS_GROUP; break;          case Y_AXIS_ELEMENT: selection = Y_AXIS_GROUP; break;          case Z_AXIS_ELEMENT: selection = Z_AXIS_GROUP; break;          case XYY_SEGMENT_ELEMENT: selection = XY_PLANE_GROUP; break;          case XYX_SEGMENT_ELEMENT: selection = XY_PLANE_GROUP; break;          case YZZ_SEGMENT_ELEMENT: selection = YZ_PLANE_GROUP; break;          case YZY_SEGMENT_ELEMENT: selection = YZ_PLANE_GROUP; break;          case XZZ_SEGMENT_ELEMENT: selection = XZ_PLANE_GROUP; break;          case XZX_SEGMENT_ELEMENT: selection = XZ_PLANE_GROUP; break;        }        active = false;        if ( selection != NULL_GROUP ) {            active = true;        }        return selection;    }    public boolean isActive()    {        return active;    }    public boolean processMouseMovedEventAwt(MouseEvent e)    {        oldmousex = e.getX();        oldmousey = e.getY();        selectedResizing = true;        calculateGeometryState(getPosition(), T, selectedResizing,                                aparentSizeInPixels, camera);        int previousSelection = volatileSelection;        if ( volatileSelection == NULL_GROUP ) {            previousSelection = persistentSelection;        }        volatileSelection = calculateSelection(e.getX(), e.getY());        if ( volatileSelection != previousSelection ) {            return true;        }        return false;    }    /* TO REFACTOR CODE! */    private Vector3D calculateInteractionPosition(MouseEvent e)    {        return null;    }    public boolean processMouseDraggedEventAwt(MouseEvent e)    {        //- If it is called as an automatic reposition, do nothing --------/*        if ( skipRobot ) {            skipRobot = false;            oldmousex = e.getX();            oldmousey = e.getY();            return false;        }*/        //Vector3D p = calculateInteractionPosition(e); // Not working!        //* HOW TO REFACTOR FROM HERE *************************************        //- Configure sub-interaction technique from active element -------        int currentSelection;        if ( volatileSelection == NULL_GROUP ) {            currentSelection = persistentSelection;        }        else {            currentSelection = volatileSelection;        }        Vector3D v = null;        int interactionTechnique = 0;        switch ( currentSelection ) {          case X_AXIS_GROUP:             v = new Vector3D(1, 0, 0);            interactionTechnique = 1; // Vector            break;          case Y_AXIS_GROUP:             v = new Vector3D(0, 1, 0);            interactionTechnique = 1; // Vector            break;          case Z_AXIS_GROUP:             v = new Vector3D(0, 0, 1);            interactionTechnique = 1; // Vector            break;          case XY_PLANE_GROUP:             v = new Vector3D(0, 0, 1);            interactionTechnique = 2; // Plane            break;          case YZ_PLANE_GROUP:             v = new Vector3D(1, 0, 0);            interactionTechnique = 2; // Plane            break;          case XZ_PLANE_GROUP:             v = new Vector3D(0, 1, 0);            interactionTechnique = 2; // Plane            break;        }        if ( v == null ) {            oldmousex = e.getX();            oldmousey = e.getY();            return false;        }        //- Implement interaction technique for selected element ----------        Vector3D o = getPosition();        Vector3D p = new Vector3D(0, 0, 0);        Ray r = null;        InfinitePlane plane;        int mousex = e.getX();        int mousey = e.getY();        Vector3D deltapos = new Vector3D();        camera.updateVectors();        if ( interactionTechnique == 2 ) {            r = camera.generateRay(mousex, mousey);            if ( r.direction.dotProduct(v) > 0 ) {                v = v.multiply(-1);            }            plane = new InfinitePlane(v, o);            if ( !plane.doIntersection(r) ) {                oldmousex = e.getX();                oldmousey = e.getY();                p = o;            }            else {                p = r.direction.multiply(r.t).add(r.origin);            }        }        else if ( interactionTechnique == 1 ) {            boolean accountForU = false;            boolean accountForV = false;            Vector3D left, up;            left = camera.getLeft();            up = camera.getUp();            v.normalize();            left.normalize();            up.normalize();            if ( Math.abs(v.dotProduct(left)) > Math.cos(Math.toRadians(80.0)) ) {                accountForU = true;            }            if ( Math.abs(v.dotProduct(up)) > Math.cos(Math.toRadians(80.0)) ) {                accountForV = true;            }            if ( accountForU && !accountForV ) {                plane = camera.calculateUPlaneAtPixel(mousex, mousey);            }            else if ( accountForV && !accountForU ) {                plane = camera.calculateVPlaneAtPixel(mousex, mousey);            }            else if ( accountForU && accountForV ) {                if ( (mousex-oldmousex) > (mousey-oldmousey) ) {                    plane = camera.calculateUPlaneAtPixel(mousex, mousey);                }                else {                    plane = camera.calculateVPlaneAtPixel(mousex, mousey);                }            }            else {                oldmousex = e.getX();                oldmousey = e.getY();                return false;            }            r = new Ray(o, v);            Ray r2 = new Ray(o, v);            if ( !plane.doIntersectionWithNegative(r) ) {                oldmousex = e.getX();                oldmousey = e.getY();                return false;            }            p = r.origin.add(r.direction.multiply(r.t));        }        oldmousex = e.getX();        oldmousey = e.getY();        //* HOW TO REFACTOR TO HERE ***************************************        setPosition(p.substract(lastDeltaPosition));        selectedResizing = false;        //- Automatic cursor repositioning constrain ----------------------        // THIS IS NOT WORKING NICELY!/*        try {            if ( awtRobot == null ) {                awtRobot = new Robot();            }            Vector3D pp = new Vector3D();            Vector3D base = p.add(deltapos);            camera.projectPoint(base, pp);            Point global = e.getComponent().getLocationOnScreen();            //awtRobot.mouseMove((int)pp.x+global.x, (int)pp.y+global.y);            skipRobot = true;        }        catch ( Exception ex ) {            System.err.println(ex);        }*/        return true;    }    public boolean processMouseWheelEventAwt(MouseWheelEvent e)    {        return false;    }}//===========================================================================//= EOF                                                                     =//===========================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品久久人人做人人爱| 成人黄色小视频| 欧美一级日韩不卡播放免费| 久色婷婷小香蕉久久| 精品国产成人系列| 国产福利不卡视频| 亚洲欧美综合色| 欧美亚洲一区三区| 美腿丝袜亚洲一区| 国产欧美精品一区二区色综合| 成年人网站91| 日欧美一区二区| 久久久久久久久伊人| 色老汉一区二区三区| 日韩成人免费电影| 国产精品天干天干在线综合| 日本高清无吗v一区| 久久精品国产精品青草| 国产精品视频线看| 91麻豆精品91久久久久同性| 国产精选一区二区三区 | 日韩免费一区二区| 国产suv精品一区二区三区| 一区二区理论电影在线观看| 精品久久久久久久久久久久久久久| 成人av在线一区二区三区| 亚洲国产中文字幕在线视频综合| 精品剧情在线观看| 色哟哟一区二区三区| 美女高潮久久久| 又紧又大又爽精品一区二区| 日韩欧美在线123| 91视频免费播放| 麻豆成人在线观看| 亚洲自拍偷拍九九九| 国产亚洲一本大道中文在线| 欧美精品久久99久久在免费线| 国产福利一区在线观看| 日韩主播视频在线| 亚洲日本va午夜在线影院| 日韩欧美一区二区久久婷婷| 欧美影院一区二区三区| 成人综合激情网| 免费看欧美美女黄的网站| 亚洲激情av在线| 亚洲国产精品99久久久久久久久 | 精品入口麻豆88视频| 91福利在线导航| 成人禁用看黄a在线| 久久成人免费日本黄色| 午夜精品福利一区二区三区蜜桃| 国产精品萝li| 国产日韩精品一区二区三区| 精品久久久久久亚洲综合网| 欧美久久免费观看| 欧美影院精品一区| 91麻豆swag| 99久久国产综合精品色伊| 国产v综合v亚洲欧| 国产精品综合在线视频| 精品在线亚洲视频| 蜜臀av亚洲一区中文字幕| 调教+趴+乳夹+国产+精品| 一区二区激情小说| 亚洲久本草在线中文字幕| 中文字幕日本不卡| 国产精品久久综合| 国产精品久久久久精k8| 国产精品久久毛片| 国产精品福利av| |精品福利一区二区三区| 1000部国产精品成人观看| 国产精品欧美精品| 国产精品麻豆99久久久久久| 日本一区二区高清| 国产精品福利电影一区二区三区四区 | 毛片av一区二区| 日韩和欧美一区二区| 日韩精品国产精品| 麻豆成人在线观看| 国产伦精一区二区三区| 国产一区二区女| 成人午夜精品一区二区三区| 成人a级免费电影| 91麻豆精品一区二区三区| 欧美午夜片在线观看| 欧美一区二区三区在线| 日韩欧美一级二级三级| 久久婷婷色综合| 中文字幕亚洲欧美在线不卡| 亚洲黄色录像片| 日本亚洲视频在线| 国产一区二区在线看| 成人午夜短视频| 不卡av电影在线播放| 欧美日韩中文另类| 欧美videossexotv100| 欧美韩日一区二区三区四区| 亚洲黄色小视频| 日韩不卡一区二区三区| 国产美女在线精品| 色呦呦一区二区三区| 678五月天丁香亚洲综合网| 久久久亚洲精品石原莉奈| 亚洲欧洲99久久| 日本大胆欧美人术艺术动态| 国产91精品一区二区麻豆亚洲| 色天天综合久久久久综合片| 日韩欧美区一区二| 国产精品激情偷乱一区二区∴| 亚洲一二三级电影| 国产一区视频导航| 在线区一区二视频| 久久新电视剧免费观看| 亚洲一区二区在线观看视频 | 欧美激情中文字幕| 亚洲尤物在线视频观看| 极品少妇一区二区| 欧美在线视频不卡| 久久网站最新地址| 亚洲成av人综合在线观看| 粉嫩av一区二区三区在线播放| 欧美日韩精品欧美日韩精品一| 久久久久久99久久久精品网站| 亚洲电影中文字幕在线观看| 国产不卡在线视频| 欧美日韩国产区一| 中文字幕日本不卡| 精油按摩中文字幕久久| 欧美日韩视频在线一区二区| 国产拍欧美日韩视频二区| 天涯成人国产亚洲精品一区av| 99久久精品国产网站| 久久久久久免费网| 日本强好片久久久久久aaa| 91麻豆精东视频| 中文字幕va一区二区三区| 精品一区二区免费在线观看| 欧美日韩一级片网站| 亚洲视频小说图片| 丁香一区二区三区| 精品国产免费人成在线观看| 丝袜亚洲另类欧美| 一本到不卡精品视频在线观看 | 色婷婷综合久久久久中文| 精品电影一区二区三区| 五月综合激情日本mⅴ| 99久久精品费精品国产一区二区| 久久久91精品国产一区二区三区| 日本成人在线网站| 欧美电影影音先锋| 亚洲成人一二三| 欧美日韩视频在线一区二区| 一区二区三区不卡视频| 91理论电影在线观看| 欧美国产精品专区| 粉嫩av一区二区三区在线播放 | 色综合久久88色综合天天6 | 久久久精品蜜桃| 久久成人羞羞网站| 日韩精品中文字幕在线不卡尤物 | 日韩国产在线一| 欧美日韩色一区| 天天色综合成人网| 制服丝袜av成人在线看| 欧美aaaaa成人免费观看视频| 欧美精品日韩综合在线| 视频在线在亚洲| 欧美一级电影网站| 久久精品久久精品| 精品av久久707| 国产成人在线网站| 亚洲欧洲日产国产综合网| 色婷婷香蕉在线一区二区| 一区二区三区四区av| 欧美视频你懂的| 日韩电影一二三区| 久久综合999| 97精品超碰一区二区三区| 一二三区精品视频| 欧美一卡2卡3卡4卡| 国产一区二区成人久久免费影院| 国产日韩一级二级三级| 99久久综合狠狠综合久久| 一区二区日韩av| 91精品国产免费| 国产91丝袜在线18| 亚洲综合久久久久| 日韩午夜激情av| 成人短视频下载| 亚洲成人精品一区| 久久久青草青青国产亚洲免观| 99久久夜色精品国产网站| 亚洲午夜久久久久久久久电影院| 欧美一区二区三区的| 成人午夜激情在线| 午夜av电影一区| 中文字幕乱码亚洲精品一区| 欧美在线观看18| 国产一区二区91|