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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? jthreedtab.java

?? The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
?? JAVA
?? 第 1 頁 / 共 3 頁
字號(hào):
/* -*- tab-width: 4 -*- * * Electric(tm) VLSI Design System * * File: JThreeDTab.java * * Copyright (c) 2004 Sun Microsystems and Static Free Software * * Electric(tm) is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * Electric(tm) is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Electric(tm); see the file COPYING.  If not, write to * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, Mass 02111-1307, USA. */package com.sun.electric.plugins.j3d.ui;import com.sun.electric.database.geometry.GenMath;import com.sun.electric.database.text.TextUtils;import com.sun.electric.plugins.j3d.View3DWindow;import com.sun.electric.plugins.j3d.utils.J3DAppearance;import com.sun.electric.plugins.j3d.utils.J3DUtils;import com.sun.electric.technology.Layer;import com.sun.electric.tool.user.dialogs.options.ThreeDTab;import java.awt.GridBagConstraints;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import javax.media.j3d.TransparencyAttributes;import javax.swing.DefaultListModel;import javax.swing.JList;import javax.swing.JPanel;import javax.swing.ListSelectionModel;import javax.swing.event.DocumentEvent;import javax.swing.event.DocumentListener;import javax.vecmath.Vector3f;/** * Class to handle the "3D" tab of the Preferences dialog. * @author  Gilda Garreton * @version 0.1 */public class JThreeDTab extends ThreeDTab{	/** Creates new form ThreeDTab */	public JThreeDTab(java.awt.Frame parent, Boolean modal)	{		super(parent, modal.booleanValue());		initComponents();	}	public JPanel getPanel() { return threeD; }	private boolean initial3DTextChanging = false;	protected JList threeDLayerList;	private DefaultListModel threeDLayerModel;	public Map<Layer,GenMath.MutableDouble> threeDThicknessMap, threeDDistanceMap;    public Map<Layer,J3DAppearance> transparencyMap;	private JThreeDSideView threeDSideView;    /**	 * Method called at the start of the dialog.	 * Caches current values and displays them in the 3D tab.	 */	public void init()	{		threeDTechnology.setText("Layer cross section for technology '" + curTech.getTechName() + "'");		threeDLayerModel = new DefaultListModel();		threeDLayerList = new JList(threeDLayerModel);		threeDLayerList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);		threeDLayerPane.setViewportView(threeDLayerList);		threeDLayerList.clearSelection();		threeDLayerList.addMouseListener(new MouseAdapter()		{			public void mouseClicked(MouseEvent evt) { threeDValuesChanged(false); }		});		threeDThicknessMap = new HashMap<Layer,GenMath.MutableDouble>();		threeDDistanceMap = new HashMap<Layer,GenMath.MutableDouble>();        transparencyMap = new HashMap<Layer,J3DAppearance>();        // Sorted by Height to be consistent with LayersTab		for(Layer layer : curTech.getLayersSortedByName())		{			if (layer.isPseudoLayer()) continue;			threeDLayerModel.addElement(layer.getName());            Layer.Function fun = layer.getFunction();            threeDThicknessMap.put(layer, new GenMath.MutableDouble(layer.getThickness()));			threeDDistanceMap.put(layer, new GenMath.MutableDouble(layer.getDistance()));            // Get a copy of JAppearance to set values temporarily            // this function will generate JAppearance if doesn't exist yet            J3DAppearance app = J3DAppearance.getAppearance(layer.getGraphics());            // forcing visibility            J3DAppearance newApp = new J3DAppearance(app);            newApp.getRenderingAttributes().setVisible(true);            transparencyMap.put(layer, newApp);		}                threeDLayerList.setSelectedIndex(0);		threeDHeight.getDocument().addDocumentListener(new ThreeDInfoDocumentListener(this));		threeDThickness.getDocument().addDocumentListener(new ThreeDInfoDocumentListener(this));        // Transparency data        transparancyField.getDocument().addDocumentListener(new ThreeDInfoDocumentListener(this));		threeDSideView = new JThreeDSideView(this);		threeDSideView.setMinimumSize(new java.awt.Dimension(200, 450));		threeDSideView.setPreferredSize(new java.awt.Dimension(200, 450));		GridBagConstraints gbc = new GridBagConstraints();		gbc.gridx = 2;       gbc.gridy = 1;		gbc.gridwidth = 2;   gbc.gridheight = 1;		//gbc.weightx = 0.5;   gbc.weighty = 1.0;		gbc.fill = GridBagConstraints.BOTH;		gbc.insets = new java.awt.Insets(4, 4, 4, 4);		threeD.add(threeDSideView, gbc);        scaleField.setText(TextUtils.formatDouble(J3DUtils.get3DFactor()));        double[] rot = GenMath.transformStringIntoArray(J3DUtils.get3DRotation());        xRotField.setText(TextUtils.formatDouble(rot[0]));        yRotField.setText(TextUtils.formatDouble(rot[1]));        zRotField.setText(TextUtils.formatDouble(rot[2]));		threeDPerspective.setSelected(J3DUtils.is3DPerspective());        // to turn on antialising if available. No by default because of performance.        threeDAntialiasing.setSelected(J3DUtils.is3DAntialiasing());        threeDZoom.setText(TextUtils.formatDouble(J3DUtils.get3DOrigZoom()));        threeDCellBnd.setSelected(J3DUtils.is3DCellBndOn());        threeDAxes.setSelected(J3DUtils.is3DAxesOn());        maxNodeField.setText(String.valueOf(J3DUtils.get3DMaxNumNodes()));        alphaField.setText(String.valueOf(J3DUtils.get3DAlpha()));        for (J3DAppearance.J3DTransparencyOption op : J3DAppearance.J3DTransparencyOption.values())        {            transparencyMode.addItem(op);        }        // Add listener after creating the list        transparencyMode.addActionListener(new ActionListener()        {            public void actionPerformed(ActionEvent evt) { threeDValuesChanged(true); }        });        // Light boxes        String lights = J3DUtils.get3DLightDirs();        Vector3f[] dirs = J3DUtils.transformIntoVectors(lights);        dirOneBox.setSelected(dirs[0] != null);        if (dirOneBox.isSelected())        {            xDirOneField.setText(String.valueOf(dirs[0].x));            yDirOneField.setText(String.valueOf(dirs[0].y));            zDirOneField.setText(String.valueOf(dirs[0].z));        }        dirTwoBox.setSelected(dirs[1] != null);        if (dirTwoBox.isSelected())        {            xDirTwoField.setText(String.valueOf(dirs[1].x));            yDirTwoField.setText(String.valueOf(dirs[1].y));            zDirTwoField.setText(String.valueOf(dirs[1].z));        }        // Setting the initial values		threeDValuesChanged(false);        dirOneBoxStateChanged(null);        dirTwoBoxStateChanged(null);	}    /**	 * Class to handle changes to the thickness or height.	 */	private static class ThreeDInfoDocumentListener implements DocumentListener	{		JThreeDTab dialog;		ThreeDInfoDocumentListener(JThreeDTab dialog) { this.dialog = dialog; }		public void changedUpdate(DocumentEvent e) { dialog.threeDValuesChanged(true); }		public void insertUpdate(DocumentEvent e) { dialog.threeDValuesChanged(true); }		public void removeUpdate(DocumentEvent e) { dialog.threeDValuesChanged(true); }	}	private void threeDValuesChanged(boolean set)	{		String layerName = (String)threeDLayerList.getSelectedValue();		Layer layer = curTech.findLayer(layerName);		if (layer == null) return;        processDataInFields(layer, set);	}    /**     * To process data in fields either from layer list or from     * object picked.     */    void processDataInFields(Layer layer, boolean set)    {        if (!set) initial3DTextChanging = true;        else if (initial3DTextChanging) return;		GenMath.MutableDouble thickness = threeDThicknessMap.get(layer);		GenMath.MutableDouble height = threeDDistanceMap.get(layer);        J3DAppearance app = transparencyMap.get(layer);        TransparencyAttributes ta = app.getTransparencyAttributes();        if (set)        {            thickness.setValue(TextUtils.atof(threeDThickness.getText()));            height.setValue(TextUtils.atof(threeDHeight.getText()));            ta.setTransparency((float)TextUtils.atof(transparancyField.getText()));            J3DAppearance.J3DTransparencyOption op = (J3DAppearance.J3DTransparencyOption)transparencyMode.getSelectedItem();            ta.setTransparencyMode(op.mode);            app.getRenderingAttributes().setDepthBufferEnable(op.mode != TransparencyAttributes.NONE);            threeDSideView.updateZValues(layer, thickness.doubleValue(), height.doubleValue());        }        else        {            threeDHeight.setText(TextUtils.formatDouble(height.doubleValue()));            threeDThickness.setText(TextUtils.formatDouble(thickness.doubleValue()));            transparancyField.setText(TextUtils.formatDouble(ta.getTransparency()));            for (J3DAppearance.J3DTransparencyOption op : J3DAppearance.J3DTransparencyOption.values())            {                if (op.mode == ta.getTransparencyMode())                {                    transparencyMode.setSelectedItem(op);                    break;  // found                }            }        threeDSideView.showLayer(layer);        }        if (!set) initial3DTextChanging = false;    }	/**	 * Method called when the "OK" panel is hit.	 * Updates any changed fields in the 3D tab.	 */	public void term()	{		for(Iterator<Layer> it = curTech.getLayers(); it.hasNext(); )		{			Layer layer = it.next();			if (layer.isPseudoLayer()) continue;			GenMath.MutableDouble thickness = threeDThicknessMap.get(layer);			GenMath.MutableDouble height = threeDDistanceMap.get(layer);            J3DAppearance newApp = transparencyMap.get(layer);            J3DAppearance oldApp = (J3DAppearance)layer.getGraphics().get3DAppearance();            oldApp.setTransparencyAndRenderingAttributes(newApp.getTransparencyAttributes(), newApp.getRenderingAttributes().getDepthBufferEnable());			if (thickness.doubleValue() != layer.getThickness())				layer.setThickness(thickness.doubleValue());			if (height.doubleValue() != layer.getDistance())				layer.setDistance(height.doubleValue());		}		boolean currentBoolean = threeDPerspective.isSelected();		if (currentBoolean != J3DUtils.is3DPerspective())			J3DUtils.set3DPerspective(currentBoolean);        currentBoolean = threeDAntialiasing.isSelected();		if (currentBoolean != J3DUtils.is3DAntialiasing())		{            View3DWindow.setAntialiasing(currentBoolean);			J3DUtils.set3DAntialiasing(currentBoolean);		}        currentBoolean = threeDCellBnd.isSelected();		if (currentBoolean != J3DUtils.is3DCellBndOn())		{            J3DAppearance.setCellVisibility(currentBoolean);			J3DUtils.set3DCellBndOn(currentBoolean);		}        currentBoolean = threeDAxes.isSelected();		if (currentBoolean != J3DUtils.is3DAxesOn())		{            J3DAppearance.setAxesVisibility(currentBoolean);			J3DUtils.set3DAxesOn(currentBoolean);		}        double currentValue = TextUtils.atof(scaleField.getText());        if (currentValue != J3DUtils.get3DFactor())        {            View3DWindow.setScaleFactor(currentValue);            J3DUtils.set3DFactor(currentValue);        }        String rotationValue = "(" +                xRotField.getText() + " " +                yRotField.getText() + " " +                zRotField.getText() + ")";        if (!rotationValue.equals(J3DUtils.get3DRotation()))            J3DUtils.set3DRotation(rotationValue);        currentValue = TextUtils.atof(threeDZoom.getText());        if (GenMath.doublesEqual(currentValue, 0))            System.out.println(currentValue + " is an invalid zoom factor.");        else if (currentValue != J3DUtils.get3DOrigZoom())            J3DUtils.set3DOrigZoom(currentValue);        StringBuffer dir = new StringBuffer();        if (dirOneBox.isSelected())        {            double[] values = new double[] {TextUtils.atof(xDirOneField.getText()),                TextUtils.atof(yDirOneField.getText()),                TextUtils.atof(zDirOneField.getText())};            dir.append(GenMath.transformArrayIntoString(values));        } else            dir.append(GenMath.transformArrayIntoString(new double[] {0,0,0}));

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品欧美久久久久久动漫| 日韩欧美综合在线| 欧美aa在线视频| 国产午夜亚洲精品理论片色戒| 不卡av在线网| 日本美女视频一区二区| 国产精品免费av| 欧美一区二区三区电影| 99久久99久久精品免费看蜜桃| 蜜芽一区二区三区| 一区二区视频在线看| 久久综合九色综合欧美就去吻| 色国产精品一区在线观看| 国产老妇另类xxxxx| 视频一区中文字幕| 亚洲精品国产视频| 国产精品―色哟哟| 久久综合精品国产一区二区三区| 精品视频在线免费观看| proumb性欧美在线观看| 韩国女主播成人在线观看| 午夜激情综合网| 亚洲欧洲中文日韩久久av乱码| 久久久久国色av免费看影院| 欧美日韩大陆在线| 在线一区二区三区四区五区| 成人黄色电影在线| 精品一区免费av| 琪琪久久久久日韩精品| 亚洲在线观看免费| 亚洲精品福利视频网站| 亚洲欧洲中文日韩久久av乱码| 中文字幕高清不卡| 欧美国产日产图区| 国产欧美一区二区精品久导航 | 欧美亚洲丝袜传媒另类| 丁香婷婷综合激情五月色| 国产一区二区三区观看| 另类调教123区| 久久成人羞羞网站| 久久精品二区亚洲w码| 日本欧美一区二区| 久久99久久99| 国产综合久久久久久鬼色| 强制捆绑调教一区二区| 久久精品国产久精国产爱| 精品一区二区三区免费| 激情小说欧美图片| 国产精品99久久久久久有的能看| 九色综合国产一区二区三区| 久久福利视频一区二区| 国产精品一区二区91| 国产一区二区三区综合| 国产激情一区二区三区桃花岛亚洲| 精品一区二区三区av| 国模大尺度一区二区三区| 久久er99热精品一区二区| 狠狠色综合日日| 国产成人午夜精品影院观看视频| 成人小视频在线观看| 91影院在线免费观看| 欧洲亚洲精品在线| 91精品久久久久久蜜臀| 久久在线观看免费| 中文字幕中文乱码欧美一区二区| 亚洲精品视频免费看| 亚洲成人久久影院| 激情欧美一区二区三区在线观看| 国产一区不卡视频| 色综合久久天天综合网| 欧美精选一区二区| 精品国产电影一区二区| 国产精品久久久久久妇女6080| 亚洲免费观看高清完整版在线观看熊| 亚洲福利一二三区| 久久国产精品免费| eeuss鲁片一区二区三区在线观看| 欧美曰成人黄网| 欧美va日韩va| 亚洲欧洲国产专区| 日本视频一区二区三区| 成人性生交大片免费看视频在线| 欧洲一区二区三区免费视频| 精品999久久久| 亚洲免费观看在线视频| 久88久久88久久久| 色狠狠av一区二区三区| 亚洲精品免费在线播放| 日韩电影免费在线观看网站| 国产激情视频一区二区三区欧美| 欧美优质美女网站| 久久久久久免费网| 亚洲成人黄色小说| 成人午夜看片网址| 4438x亚洲最大成人网| 国产精品网站导航| 久久狠狠亚洲综合| 欧洲国产伦久久久久久久| 欧美精品一区二区久久久| 伊人性伊人情综合网| 大尺度一区二区| 日韩一区二区免费在线电影| **欧美大码日韩| 国产一区二区三区黄视频| 538prom精品视频线放| 亚洲精品免费在线播放| 成人高清免费观看| 精品国产伦理网| 午夜精品久久一牛影视| 本田岬高潮一区二区三区| 欧美成人猛片aaaaaaa| 一区二区激情视频| 北岛玲一区二区三区四区| 欧美成人a∨高清免费观看| 亚洲国产欧美在线人成| 99视频一区二区| 国产网红主播福利一区二区| 免费日本视频一区| 欧美日韩一区二区三区不卡| 中文字幕一区视频| 国产91高潮流白浆在线麻豆| 欧美电视剧免费全集观看| 五月天网站亚洲| 欧美又粗又大又爽| 亚洲在线视频网站| 欧美在线综合视频| 一区二区三区精品| 91在线无精精品入口| 亚洲国产激情av| 国产精品一区二区三区四区 | 欧美日韩情趣电影| 亚洲视频精选在线| 不卡一区中文字幕| 国产精品麻豆久久久| 成人午夜视频在线| 中文字幕精品一区二区精品绿巨人| 欧美日本国产视频| 亚洲精品伦理在线| 色偷偷久久人人79超碰人人澡 | 六月丁香综合在线视频| 7777精品伊人久久久大香线蕉完整版| 亚洲一区免费观看| 欧美日韩精品免费观看视频| 亚洲韩国一区二区三区| 欧美日韩综合不卡| 丝袜亚洲另类欧美综合| 91精品蜜臀在线一区尤物| 秋霞国产午夜精品免费视频| 日韩午夜精品电影| 国产精品资源在线| 中文在线一区二区| 91视视频在线观看入口直接观看www | 成人中文字幕在线| 国产精品网站导航| 欧洲生活片亚洲生活在线观看| 亚洲最新视频在线观看| 欧美日韩午夜精品| 毛片av一区二区| 久久久久久免费| 成人国产亚洲欧美成人综合网 | 日韩女优电影在线观看| 久久国产三级精品| 国产精品久久久久天堂| 91免费看视频| 午夜欧美2019年伦理| 日韩视频123| 国产不卡视频在线播放| 国产精品乱码久久久久久| 色婷婷综合激情| 日韩av在线播放中文字幕| 久久综合九色综合97婷婷女人 | 国产免费成人在线视频| 91看片淫黄大片一级在线观看| 亚洲一区二区视频在线观看| 日韩精品影音先锋| av动漫一区二区| 日韩中文字幕不卡| 国产日韩欧美精品在线| 91麻豆自制传媒国产之光| 日韩和欧美一区二区三区| 日本中文字幕不卡| 国产精品拍天天在线| 欧美四级电影网| 国产麻豆精品theporn| 一区二区三区中文字幕| 久久亚洲精华国产精华液| 一本色道久久综合亚洲91| 免费人成网站在线观看欧美高清| 国产精品狼人久久影院观看方式| 欧美三片在线视频观看| 国内精品久久久久影院色| 一区二区三区精品视频在线| 精品美女在线播放| 欧美亚州韩日在线看免费版国语版| 韩国成人福利片在线播放| 亚洲综合另类小说| 欧美激情一区二区三区四区| 91精品久久久久久蜜臀| 色噜噜夜夜夜综合网| 国产成人精品亚洲日本在线桃色|