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

📄 jogldrawingarea.java

📁 基于java的3d开发库。对坐java3d的朋友有很大的帮助。
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
             (m & e.BUTTON1_DOWN_MASK) != 0 ) {            canvas.setCursor(camrotateCursor);        }        else if ( interactionMode == CAMERA_INTERACTION_MODE &&                  (m & e.BUTTON2_DOWN_MASK) != 0 ) {            canvas.setCursor(camtranslateCursor);        }        else if ( interactionMode == CAMERA_INTERACTION_MODE &&                  (m & e.BUTTON3_DOWN_MASK) != 0 ) {            canvas.setCursor(camadvanceCursor);        }        else {            canvas.setCursor(selectCursor);        }        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMousePressedEventAwt(e) ) {            ;        }        else if ( interactionMode == SELECT_INTERACTION_MODE ||                  interactionMode == TRANSLATE_INTERACTION_MODE ||                   interactionMode == ROTATE_INTERACTION_MODE ||                   interactionMode == SCALE_INTERACTION_MODE                   ) {            boolean composite = false;            if ( ((e.getModifiersEx()) & e.CTRL_DOWN_MASK) != 0x0 ) {                composite = true;            }            int oldThingSelected = theScene.selectedThings.firstSelected();            view = views.get(selectedView);            if ( mouseView == null ) {                return;            }            mouseView.updateMouseEvent(e, globalViewportXSize, globalViewportYSize);            theScene.activeCamera = view.getCamera();            theScene.selectObjectWithMouse(e.getX(), e.getY(),                                           composite, parent.visualDebugRay);            int firstThingSelected = theScene.selectedThings.firstSelected();            if ( oldThingSelected >= 0 && firstThingSelected < 0 &&                 interactionMode == TRANSLATE_INTERACTION_MODE &&                 translationGizmo.isActive() ) {                theScene.selectedThings.select(oldThingSelected);                firstThingSelected = theScene.selectedThings.firstSelected();            }            if ( firstThingSelected >= 0 ) {                //------------------------------------------------------------                Vector3D position;                SimpleBody gi;                gi = theScene.scene.getSimpleBodies().get(firstThingSelected);                Matrix4x4 composed;                position = gi.getPosition();                //composed = new Matrix4x4(gi.getRotation());                composed = new Matrix4x4();                composed.M[0][3] = position.x;                composed.M[1][3] = position.y;                composed.M[2][3] = position.z;                translationGizmo.setCamera(mouseView.getCamera());                translationGizmo.setTransformationMatrix(composed);                translationGizmo.processMousePressedEventAwt(e);                //------------------------------------------------------------            }            reportObjectSelection();        }        canvas.repaint();    }    public void mouseReleased(MouseEvent e)    {        JoglView view = views.get(selectedView);        JoglView mouseView = getSelectedView(e, false);        // WARNING / TODO        // There should be a cameraController.getFutureAction(e) that calculates        // the proper icon for display ... here an Aquynza operation is        // assumed and hard-coded        int firstThingSelected = theScene.selectedThings.firstSelected();        if ( interactionMode == CAMERA_INTERACTION_MODE ) {            canvas.setCursor(camrotateCursor);        }        else {            canvas.setCursor(selectCursor);        }        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMouseReleasedEventAwt(e) ) {            canvas.repaint();        }        else if ( interactionMode == TRANSLATE_INTERACTION_MODE &&                  firstThingSelected >= 0 ) {            Vector3D position;            SimpleBody gi;            gi = theScene.scene.getSimpleBodies().get(firstThingSelected);            Matrix4x4 composed;            position = gi.getPosition();            //composed = new Matrix4x4(gi.getRotation());            composed = new Matrix4x4();            composed.M[0][3] = position.x;            composed.M[1][3] = position.y;            composed.M[2][3] = position.z;            if ( mouseView == null ) {                return;            }            translationGizmo.setCamera(mouseView.getCamera());            translationGizmo.setTransformationMatrix(composed);            mouseView.updateMouseEvent(e, globalViewportXSize, globalViewportYSize);            if ( translationGizmo.processMouseReleasedEventAwt(e) ) {                composed = translationGizmo.getTransformationMatrix();                position.x = composed.M[0][3];                position.y = composed.M[1][3];                position.z = composed.M[2][3];                composed.M[0][3] = 0;                composed.M[1][3] = 0;                composed.M[2][3] = 0;                applyTranslationToSelectedObjects(position);                canvas.repaint();            }        }    }    public void mouseClicked(MouseEvent e)    {        JoglView view = getSelectedView(e, true);        JoglView mouseView = getSelectedView(e, false);        int firstThingSelected = theScene.selectedThings.firstSelected();        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMouseClickedEventAwt(e) ) {            canvas.repaint();        }        else if ( interactionMode == TRANSLATE_INTERACTION_MODE &&                  firstThingSelected >= 0 ) {            Vector3D position;            SimpleBody gi;            gi = theScene.scene.getSimpleBodies().get(firstThingSelected);            Matrix4x4 composed;            position = gi.getPosition();            //composed = new Matrix4x4(gi.getRotation());            composed = new Matrix4x4();            composed.M[0][3] = position.x;            composed.M[1][3] = position.y;            composed.M[2][3] = position.z;            translationGizmo.setCamera(mouseView.getCamera());            translationGizmo.setTransformationMatrix(composed);            mouseView.updateMouseEvent(e, globalViewportXSize, globalViewportYSize);            if ( translationGizmo.processMouseClickedEventAwt(e) ) {                composed = translationGizmo.getTransformationMatrix();                position.x = composed.M[0][3];                position.y = composed.M[1][3];                position.z = composed.M[2][3];                composed.M[0][3] = 0;                composed.M[1][3] = 0;                composed.M[2][3] = 0;                applyTranslationToSelectedObjects(position);                canvas.repaint();            }        }    }    public void mouseMoved(MouseEvent e)    {        //-----------------------------------------------------------------        JoglView view = views.get(selectedView);        JoglView mouseView = getSelectedView(e, false);        //-----------------------------------------------------------------        int firstThingSelected = theScene.selectedThings.firstSelected();        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMouseMovedEventAwt(e) ) {            canvas.repaint();        }        else if ( interactionMode == TRANSLATE_INTERACTION_MODE &&                  firstThingSelected >= 0 ) {            Vector3D position;            SimpleBody gi;            gi = theScene.scene.getSimpleBodies().get(firstThingSelected);            Matrix4x4 composed;            position = gi.getPosition();            //composed = new Matrix4x4(gi.getRotation());            composed = new Matrix4x4();            composed.M[0][3] = position.x;            composed.M[1][3] = position.y;            composed.M[2][3] = position.z;            translationGizmo.setCamera(mouseView.getCamera());            translationGizmo.setTransformationMatrix(composed);            mouseView.updateMouseEvent(e, globalViewportXSize, globalViewportYSize);            if ( translationGizmo.processMouseMovedEventAwt(e) ) {                composed = translationGizmo.getTransformationMatrix();                position.x = composed.M[0][3];                position.y = composed.M[1][3];                position.z = composed.M[2][3];                composed.M[0][3] = 0;                composed.M[1][3] = 0;                composed.M[2][3] = 0;                applyTranslationToSelectedObjects(position);                canvas.repaint();            }        }    }    public void mouseDragged(MouseEvent e)    {        JoglView view = views.get(selectedView);        JoglView mouseView = getSelectedView(e, false);        int firstThingSelected = theScene.selectedThings.firstSelected();        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMouseDraggedEventAwt(e) ) {            canvas.repaint();        }        else if ( interactionMode == TRANSLATE_INTERACTION_MODE &&                  firstThingSelected >= 0 ) {            Vector3D position;            SimpleBody gi;            gi = theScene.scene.getSimpleBodies().get(firstThingSelected);            Matrix4x4 composed;            position = gi.getPosition();            //composed = new Matrix4x4(gi.getRotation());            composed = new Matrix4x4();            composed.M[0][3] = position.x;            composed.M[1][3] = position.y;            composed.M[2][3] = position.z;            if ( mouseView == null ) {                return;            }            translationGizmo.setCamera(mouseView.getCamera());            translationGizmo.setTransformationMatrix(composed);            mouseView.updateMouseEvent(e, globalViewportXSize, globalViewportYSize);            if ( translationGizmo.processMouseDraggedEventAwt(e) ) {                composed = translationGizmo.getTransformationMatrix();                position.x = composed.M[0][3];                position.y = composed.M[1][3];                position.z = composed.M[2][3];                composed.M[0][3] = 0;                composed.M[1][3] = 0;                composed.M[2][3] = 0;                applyTranslationToSelectedObjects(position);                canvas.repaint();            }        }    }    /**    WARNING: It is not working... check pending    */    public void mouseWheelMoved(MouseWheelEvent e)    {        System.out.println(".");        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processMouseWheelEventAwt(e) ) {            canvas.repaint();        }    }    public void keyPressed(KeyEvent e)    {        char unicode_id;        int keycode;        boolean skipKey = false;        unicode_id = e.getKeyChar();        keycode = e.getKeyCode();        int firstThingSelected = theScene.selectedThings.firstSelected();        if ( interactionMode == CAMERA_INTERACTION_MODE &&              cameraController.processKeyPressedEventAwt(e) ) {            ;        }        else if ( interactionMode == SELECT_INTERACTION_MODE ) {            if ( unicode_id == e.CHAR_UNDEFINED ) {                switch ( keycode ) {                  case KeyEvent.VK_LEFT:                    if ( theScene.selectedDebugThingGroups.numberOfSelections() < 1 ) {                        theScene.selectedThings.selectPrevious();                    }                    if ( theScene.selectedThings.numberOfSelections() < 1 ) {                        theScene.selectedDebugThingGroups.selectPrevious();                    }                    reportObjectSelection();                    break;                  case KeyEvent.VK_RIGHT:                    if ( theScene.selectedDebugThingGroups.numberOfSelections() < 1 ) {                        theScene.selectedThings.selectNext();                    }                    if ( theScene.selectedThings.numberOfSelections() < 1 ) {                        theScene.selectedDebugThingGroups.selectNext();                    }                    reportObjectSelection();                    break;                }            }        }        else if ( interactionMode == TRANSLATE_INTERACTION_MODE ) {            if ( firstThingSelected >= 0 ) {                Matrix4x4 composed;                Vector3D position;                SimpleBody gi;                gi = theScene.scene.getSimpleBodies().get(firstThingSelected);                position = gi.getPosition();                //composed = new Matrix4x4(gi.getRotation());                composed = new Matrix4x4();                composed.M[0][3] = position.x;                composed.M[1][3] = position.y;                composed.M[2][3] = position.z;                translationGizmo.setTransformationMatrix(composed);                if ( translationGizmo.processKeyPressedEventAwt(e) ) {

⌨️ 快捷键说明

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