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

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

?? threed.java

?? The view238 application is a simple tool for graphically displaying STEP-NC toolpaths. It is a Java
?? JAVA
字號:
/* $RCSfile: coolant.cxx,v $
 * $Revision: 1.3 $ $Date: 2006/08/21 14:15:51 $
 * 
 * Copyright (c) 1991-2006 by STEP Tools Inc. 
 * All Rights Reserved.
 * 
 * This file may be distributed and/or modified under the terms of 
 * the GNU General Public License version 2 as published by the Free
 * Software Foundation and appearing in the file LICENSE.GPL included
 * with this file.
 * 
 * THIS FILE IS PROVIDED "AS IS" WITH NO WARRANTY OF ANY KIND,
 * INCLUDING THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE.
 * 
 * 		----------------------------------------
 */

/*
 * @(#)ThreeD.java	1.14 04/07/26
 * 
 * Copyright (c) 2004 Sun Microsystems, Inc. All Rights Reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 * 
 * -Redistribution of source code must retain the above copyright notice, this
 *  list of conditions and the following disclaimer.
 * 
 * -Redistribution in binary form must reproduce the above copyright notice, 
 *  this list of conditions and the following disclaimer in the documentation
 *  and/or other materials provided with the distribution.
 * 
 * Neither the name of Sun Microsystems, Inc. or the names of contributors may 
 * be used to endorse or promote products derived from this software without 
 * specific prior written permission.
 * 
 * This software is provided "AS IS," without a warranty of any kind. ALL 
 * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING
 * ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
 * OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN MIDROSYSTEMS, INC. ("SUN")
 * AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE
 * AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
 * DERIVATIVES. IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST 
 * REVENUE, PROFIT OR DATA, OR FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, 
 * INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY 
 * OF LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, 
 * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
 * 
 * You acknowledge that this software is not designed, licensed or intended
 * for use in the design, construction, operation or maintenance of any
 * nuclear facility.
 */

/*
 * @(#)ThreeD.java	1.14 04/07/26
 */

/* This code was derived from the Java wireframe demo applet */

package com.steptools.view238;

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.URL;

import javax.swing.*;

// class FileFormatException extends IOException {
//     public FileFormatException(String s) {
// 	super(s);
//     }
// }


/** An component to put a 3D model into a page */
public class ThreeD extends JComponent
  implements MouseListener, MouseMotionListener {
    Model3D md;
    boolean painted = true;
    double xfac;
    int prevx, prevy;
    double xtheta, ytheta;
    double scalefudge = 1;
    Matrix3D amat = new Matrix3D(), tmat = new Matrix3D();
    String mdname = null;
    String message = null;

    public ThreeD() {
	scalefudge = 1.0;
	amat.yrot(20);
	amat.xrot(20);
// 	if (mdname == null)
// 	    mdname = "hughes_500.obj";
	setSize(getSize().width <= 20 ? 400 : getSize().width,
		getSize().height <= 20 ? 400 : getSize().height);
	addMouseListener(this);
	addMouseMotionListener(this);

//	InputStream is = new FileInputStream(mdname);
//	Model3D m = new Model3D (is);
//	md = m;
//	m.findBB();
//	m.compress();
// 	double xw = m.xmax - m.xmin;
// 	double yw = m.ymax - m.ymin;
// 	double zw = m.zmax - m.zmin;
// 	if (yw > xw)
// 	    xw = yw;
// 	if (zw > xw)
// 	    xw = zw;
// 	double f1 = getSize().width / xw;
// 	double f2 = getSize().height / xw;
// 	xfac = 0.7f * (f1 < f2 ? f1 : f2) * scalefudge;
//	is.close();

//	repaint();	
    }

    public void setModel (Model3D m) {
	md = m;
	m.findBB();
	m.compress();
	double xw = m.xmax - m.xmin;
	double yw = m.ymax - m.ymin;
	double zw = m.zmax - m.zmin;
	if (yw > xw)
	    xw = yw;
	if (zw > xw)
	    xw = zw;
	double f1 = getSize().width / xw;
	double f2 = getSize().height / xw;
	xfac = 0.7f * (f1 < f2 ? f1 : f2) * scalefudge;
//	is.close();
    }
		  
    public Dimension getPreferredSize() {
 	return new Dimension(400,400);
    }
		  
    public void mouseClicked(MouseEvent e) {
    }

    public  void mousePressed(MouseEvent e) {
        prevx = e.getX();
        prevy = e.getY();
        e.consume();
    }

    public  void mouseReleased(MouseEvent e) {
    }

    public  void mouseEntered(MouseEvent e) {
    }

    public  void mouseExited(MouseEvent e) {
    }

    public  void mouseDragged(MouseEvent e) {
        int x = e.getX();
        int y = e.getY();

        tmat.unit();
        double xtheta = (prevy - y) * 360.0f / getSize().width;
        double ytheta = (x - prevx) * 360.0f / getSize().height;
        tmat.xrot(xtheta);
        tmat.yrot(ytheta);
        amat.mult(tmat);

	forceRepaint();
        prevx = x;
        prevy = y;
        e.consume();
    }

    public void forceRepaint() {
        if (painted) {
            painted = false;
            repaint();
        }
    }
    
    public  void mouseMoved(MouseEvent e) {
    }

    public void paint(Graphics g) {
	if (md != null) {
	    md.mat.unit();
	    md.mat.translate(-(md.xmin + md.xmax) / 2,
			     -(md.ymin + md.ymax) / 2,
			     -(md.zmin + md.zmax) / 2);
	    md.mat.mult(amat);
	    md.mat.scale(xfac, -xfac, 16 * xfac / getSize().width);
	    md.mat.translate(getSize().width / 2, getSize().height / 2, 8);
	    md.transformed = false;
	    md.paint(g);
	    setPainted();
	} else if (message != null) {
	    g.drawString("Error in model:", 3, 20);
	    g.drawString(message, 10, 40);
	}
    }

    private synchronized void setPainted() {
 	painted = true;
 	notifyAll();
    }
    
//    private synchronized void waitPainted() {
//	while (!painted)
//	    wait();
//	painted = false;
//    }

//     public String getAppletInfo() {
//         return "Title: ThreeD \nAuthor: James Gosling? \nAn applet to put a 3D model into a page.";
//     }

//     public String[][] getParameterInfo() {
//         String[][] info = {
//             {"model", "path string", "The path to the model to be displayed."},
//             {"scale", "double", "The scale of the model.  Default is 1."}
//         };
//         return info;
//     }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级黄色大片| 波多野结衣中文字幕一区二区三区| 91尤物视频在线观看| 国产色产综合色产在线视频| 强制捆绑调教一区二区| 欧美群妇大交群中文字幕| 亚洲欧美综合色| 成人午夜电影久久影院| 精品国产91亚洲一区二区三区婷婷| 日本成人中文字幕在线视频| 欧美精品丝袜中出| 日本中文字幕不卡| 精品国产一区二区三区忘忧草| 亚洲一二三四区| 在线观看欧美日本| 午夜视黄欧洲亚洲| 在线电影一区二区三区| 亚洲成av人片在线观看无码| 91国偷自产一区二区使用方法| 日韩毛片视频在线看| 欧美三级视频在线播放| 亚洲在线视频网站| 这里是久久伊人| 久久91精品国产91久久小草| 久久精品人人做人人爽人人| 国产自产2019最新不卡| 中文字幕精品在线不卡| 91高清视频免费看| 最新日韩在线视频| 欧美日韩一级视频| 视频在线在亚洲| 久久久精品国产99久久精品芒果| 成人爱爱电影网址| 五月天精品一区二区三区| 91精品婷婷国产综合久久性色 | 在线精品视频一区二区三四| 性久久久久久久| 欧美日韩久久一区二区| 日日噜噜夜夜狠狠视频欧美人| www欧美成人18+| 99久久伊人精品| 亚洲电影激情视频网站| 久久久久久久久久久99999| 97se亚洲国产综合在线| 日韩高清在线一区| 国产精品电影一区二区| 欧美精品久久久久久久久老牛影院| 国产一区二区影院| 亚洲成人黄色小说| 国产精品热久久久久夜色精品三区 | 欧美日韩另类一区| 高清不卡在线观看| 久久超碰97中文字幕| 亚洲一卡二卡三卡四卡五卡| 国产精品伦理在线| 337p日本欧洲亚洲大胆精品 | 欧美日韩一区二区不卡| 成人性色生活片免费看爆迷你毛片| 亚洲一级电影视频| 亚洲美女电影在线| 国产精品免费视频观看| 26uuuu精品一区二区| 91麻豆精品国产91久久久久 | 欧美日韩一级二级三级| 91理论电影在线观看| 国产福利一区二区| 国产精品中文字幕一区二区三区| 视频精品一区二区| 视频一区二区三区在线| 亚洲v中文字幕| 亚洲国产精品久久不卡毛片| 亚洲欧美一区二区三区极速播放| 国产精品五月天| 国产精品麻豆99久久久久久| 中文字幕欧美激情一区| 国产午夜精品一区二区| 国产日韩在线不卡| 久久综合精品国产一区二区三区| 91精品久久久久久久91蜜桃| 欧美精品一卡二卡| 日韩一区二区三区在线视频| 91精品国产一区二区| 日韩一区二区三区在线观看| 欧美mv和日韩mv国产网站| 日韩精品一区二区三区老鸭窝| 欧美xxxxxxxxx| 欧美成人伊人久久综合网| 日韩免费看的电影| 国产欧美日韩精品一区| 国产精品成人免费在线| 一区二区三区四区在线播放| 亚洲成人激情综合网| 琪琪久久久久日韩精品| 国产美女在线精品| 不卡的av电影| 欧美日韩视频第一区| 色噜噜夜夜夜综合网| 欧美成人一区二区三区在线观看| 欧美精品一二三| 久久蜜桃av一区精品变态类天堂| 欧美国产禁国产网站cc| 亚洲精品一区二区三区精华液 | 色嗨嗨av一区二区三区| 免费久久99精品国产| 久久精品999| 成人动漫中文字幕| 免费三级欧美电影| 一区二区三区四区国产精品| 97se亚洲国产综合在线| 亚洲国产精品麻豆| 蜜臀久久久99精品久久久久久| 国精品**一区二区三区在线蜜桃| www.日韩av| 欧美一区二区三区在线看| 国产欧美日韩在线视频| 亚洲午夜在线观看视频在线| 久草这里只有精品视频| 9i在线看片成人免费| 在线电影院国产精品| 中文字幕乱码亚洲精品一区| 香蕉久久夜色精品国产使用方法| 精品在线播放午夜| 91看片淫黄大片一级在线观看| 欧美一区二区网站| 国产精品欧美一区二区三区| 日韩综合小视频| av一区二区三区四区| 日韩亚洲欧美成人一区| 国产精品麻豆久久久| 麻豆精品新av中文字幕| 成人精品在线视频观看| 日韩一级片网站| 综合精品久久久| 精品亚洲porn| 欧美精品日韩一区| 亚洲精品乱码久久久久久黑人 | 欧美理论片在线| 一色桃子久久精品亚洲| 蜜桃一区二区三区在线| 日本久久一区二区| 国产欧美一区二区精品久导航| 日本欧洲一区二区| 91麻豆文化传媒在线观看| 国产丝袜在线精品| 久久激情综合网| 欧美日韩www| 亚洲国产精品一区二区www| 不卡一区二区中文字幕| 日韩欧美aaaaaa| 日韩成人伦理电影在线观看| 色美美综合视频| 亚洲日本护士毛茸茸| 国产白丝网站精品污在线入口| 91精品在线一区二区| 亚洲一区影音先锋| 91美女在线观看| 综合久久综合久久| hitomi一区二区三区精品| 国产亚洲精品aa| 国产精品伊人色| 久久九九久久九九| 国产乱一区二区| 国产欧美精品一区二区色综合朱莉| 韩国欧美国产1区| 欧美v日韩v国产v| 国产乱国产乱300精品| 精品国产伦一区二区三区免费| 免费成人小视频| 日韩免费观看2025年上映的电影| 免费在线观看视频一区| 日韩欧美成人一区二区| 日本不卡一二三区黄网| 欧美一级欧美一级在线播放| 日本视频一区二区三区| 日韩三区在线观看| 精品影院一区二区久久久| 精品国产乱码久久久久久1区2区| 久久精品国内一区二区三区| 久久一区二区视频| 国产成人精品一区二区三区网站观看| 精品国产乱码久久久久久久久 | 欧美大片一区二区三区| 精品制服美女丁香| 国产亚洲欧洲997久久综合| 丁香婷婷深情五月亚洲| 亚洲欧洲综合另类| 欧美久久高跟鞋激| 国产精品一卡二| 亚洲日本在线a| 欧美一区二区视频在线观看2022 | 欧美精品丝袜久久久中文字幕| 美女视频一区二区三区| 久久久国产精品不卡| av在线不卡电影| 婷婷综合另类小说色区| 久久久一区二区三区捆绑**| 成人av电影在线网| 亚洲二区在线观看| 国产亚洲精品精华液| 欧日韩精品视频|