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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gds.java

?? The ElectricTM VLSI Design System is an open-source Electronic Design Automation (EDA) system that c
?? JAVA
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
		readUnsupported(unsupportedSet);		if (theToken != GDS_LAYER) handleError("Boundary has no points");		getToken();		int layerNum = tokenValue16;		if (theToken == GDS_SHORT_NUMBER)		{			getToken();		}		// also get node type		int layerType = tokenValue16;		if (theToken == GDS_NODETYPE)		{			getToken();			getToken();		}		setLayer(layerNum, layerType);		// make a dot		if (theToken != GDS_XY) handleError("Boundary has no points");		getToken();		determinePoints(1, 1);		if (TALLYCONTENTS)		{			countNode++;			return;		}		// create the node		if (mergeThisCell)		{		} else		{            theCell.makeInstance(layerNodeProto, new Point2D.Double(theVertices[0].getX(), theVertices[0].getY()),            	Orientation.IDENT, 0, 0, null);		}	}	private void determineText()		throws IOException	{		getToken();		readUnsupported(unsupportedSet);		determineLayer();		getToken();		int vert_just = -1;		int horiz_just = -1;		if (theToken == GDS_PRESENTATION)		{			Point just = determineJustification();			vert_just = just.x;			horiz_just = just.y;		}		if (theToken == GDS_PATHTYPE)		{			getToken();			// pathcode = tokenValue16;			getToken();		}		if (theToken == GDS_WIDTH)		{			getToken();			// pathwidth = tokenValue32 * theScale;			getToken();		}		int angle = 0;		boolean trans = false;		double scale = 1.0;		String textString = "";		for(;;)		{			if (theToken == GDS_STRANS)			{				ReadOrientation ro = new ReadOrientation();				ro.doIt();				angle = ro.angle;				trans = ro.trans;				scale = ro.scale;				continue;			}			if (theToken == GDS_XY)			{				getToken();				determinePoints(1, 1);				continue;			}			if (theToken == GDS_ANGLE)			{				getToken();				angle = (int)(tokenValueDouble * 10.0);				getToken();				continue;			}			if (theToken == GDS_STRING)			{				if (recordCount != 0)				{					getToken();					textString = tokenString;				}				getToken();				break;			}			if (theToken == GDS_MAG)			{				getToken();				getToken();				continue;			}			handleError("Text element has no reference point");			break;		}		if (TALLYCONTENTS)		{			countText++;			return;		}		readText(textString, vert_just, horiz_just, angle, trans, scale);	}	private void readText(String charstring, int vjust, int hjust, int angle, boolean trans, double scale)	{		// stop if layer invalid		if (!layerUsed) return;		// handle pins specially		if (layerIsPin)		{			NodeProto np = pinNodeProto;            if (np.getNumPorts() > 0)            {                theCell.makeExport(np, new Point2D.Double(theVertices[0].getX(), theVertices[0].getY()),                	Orientation.IDENT, np.getDefWidth(), np.getDefHeight(), charstring);            }			return;		}		// stop if not handling text in GDS		if (!IOTool.isGDSInIncludesText()) return;		double x = theVertices[0].getX() + MINFONTWIDTH * charstring.length();		double y = theVertices[0].getY() + MINFONTHEIGHT;		theVertices[1].setLocation(x, y);		// set the text size and orientation		MutableTextDescriptor td = MutableTextDescriptor.getNodeTextDescriptor();		double size = scale;		if (size <= 0) size = 2;		if (size > TextDescriptor.Size.TXTMAXQGRID) size = TextDescriptor.Size.TXTMAXQGRID;		if (size < TextDescriptor.Size.TXTMINQGRID) size = TextDescriptor.Size.TXTMINQGRID;		td.setRelSize(size);		// determine the presentation		td.setPos(TextDescriptor.Position.CENT);		switch (vjust)		{			case 1:		// top				switch (hjust)				{					case 1:  td.setPos(TextDescriptor.Position.UPRIGHT); break;					case 2:  td.setPos(TextDescriptor.Position.UPLEFT);  break;					default: td.setPos(TextDescriptor.Position.UP);      break;				}				break;			case 2:		// bottom				switch (hjust)				{					case 1:  td.setPos(TextDescriptor.Position.DOWNRIGHT); break;					case 2:  td.setPos(TextDescriptor.Position.DOWNLEFT);  break;					default: td.setPos(TextDescriptor.Position.DOWN);      break;				}				break;			default:	// centered				switch (hjust)				{					case 1:  td.setPos(TextDescriptor.Position.RIGHT); break;					case 2:  td.setPos(TextDescriptor.Position.LEFT);  break;					default: td.setPos(TextDescriptor.Position.CENT);  break;				}		}        theCell.makeText(layerNodeProto, new Point2D.Double(theVertices[0].getX(), theVertices[0].getY()),        	charstring, TextDescriptor.newTextDescriptor(td));	}	/**	 * untested feature, I don't have a box type	 */	private void determineBox()		throws IOException	{		getToken();		readUnsupported(unsupportedSet);		determineLayer();		if (theToken != GDS_XY) handleError("Boundary has no points");		getToken();		determinePoints(2, MAXPOINTS);		if (TALLYCONTENTS)		{			countBox++;			return;		}		if (layerUsed)		{			// create the box			if (mergeThisCell)			{			} else			{                theCell.makeInstance(layerNodeProto, new Point2D.Double(theVertices[0].getX(), theVertices[0].getY()),                	Orientation.IDENT, 0, 0, null);			}		}	}	private void setLayer(int layerNum, int layerType)	{		layerUsed = true;		layerIsPin = false;		Integer layerInt = new Integer(layerNum + (layerType<<16));		Layer layer = layerNames.get(layerInt);		if (layer == null)		{            String message = "GDS layer " + layerNum + ", type " + layerType +        		" unknown in cell '" + theCell.cell.getName();            if (IOTool.isGDSInIgnoresUnknownLayers()) message += "', ignoring it" ; else            	message += "', using Generic:DRC";            errorLogger.logWarning(message, theCell.cell, 0);            System.out.println(message);			layerNames.put(layerInt, Generic.tech().drcLay);			layerUsed = false;			layerNodeProto = null;		} else		{			layerNodeProto = layer.getNonPseudoLayer().getPureLayerNode();			if (layer == Generic.tech().drcLay && IOTool.isGDSInIgnoresUnknownLayers())				layerUsed = false;            pinNodeProto = Generic.tech().universalPinNode;			if (pinLayers.contains(layerInt))			{                layerIsPin = true;                if (layerNodeProto != null && layerNodeProto.getNumPorts() > 0)                {                    PortProto pp = layerNodeProto.getPort(0);	                for (Iterator<ArcProto> it = layer.getTechnology().getArcs(); it.hasNext(); )	                {	                    ArcProto arc = it.next();	                    if (pp.connectsTo(arc))	                    {	                        pinNodeProto = arc.findOverridablePinProto();	                        break;	                    }	                }                }            }			if (layerNodeProto == null)			{                String message = "Error: no pure layer node for layer "+layer.getName() +                	" in cell '" + theCell.cell.getName() + "', ignoring it";				System.out.println(message);                errorLogger.logError(message, theCell.cell, 0);				layerNames.put(layerInt, Generic.tech().drcLay);				layerUsed = false;			}		}	}	private void determineLayer()		throws IOException	{		if (theToken != GDS_LAYER) handleError("Layer statement is missing");		getToken();		if (theToken != GDS_SHORT_NUMBER) handleError("Invalid layer number");		int layerNum = tokenValue16;		getToken();		if (!isMember(theToken, maskSet)) handleError("No datatype field");		getToken();		setLayer(layerNum, tokenValue16);	}	/**	 * Method to get the justification information into a Point.	 * @return a point whose "x" is the vertical justification and whose	 * "y" is the horizontal justification.	 */	private Point determineJustification()		throws IOException	{		Point just = new Point();		getToken();		if (theToken != GDS_FLAGSYM) handleError("Array reference has no parameters");		int font_libno = tokenFlags & 0x0030;		font_libno = font_libno >> 4;		just.x = tokenFlags & 0x000C;		just.x = just.x >> 2;		just.y = tokenFlags & 0x0003;		getToken();		return just;	}	private void determineProperty()		throws IOException	{		getToken();		getToken();		if (theToken != GDS_PROPVALUE) handleError("Property has no value");		getToken();		// add to the current structure as a variable?		getToken();	}	private void getPrototype(String name)		throws IOException	{		// scan for this proto		Cell np = findCell(name);		if (np == null)		{			// FILO order, create this nodeproto			np = Cell.newInstance(theLibrary, tokenString+View.LAYOUT.getAbbreviationExtension());			if (np == null) handleError("Failed to create SREF proto");            setProgressValue(0);            setProgressNote("Reading " + tokenString);		}		// set the reference node proto		theNodeProto = np;	}	private void readGenerations()		throws IOException	{		getToken();		if (theToken != GDS_SHORT_NUMBER) handleError("Generations value is invalid");		getToken();	}	private boolean isMember(GSymbol tok, GSymbol [] set)	{		for(int i=0; i<set.length; i++)			if (set[i] == tok) return true;		return false;	}	private void getToken()		throws IOException	{		if (recordCount == 0)		{			valuetype = readRecord();		} else		{			if (valuetype == TYPEFLAGS)			{				tokenFlags = getWord();				theToken = GDS_FLAGSYM;				return;			}			if (valuetype == TYPESHORT)			{				tokenValue16 = getWord();				theToken = GDS_SHORT_NUMBER;				return;			}			if (valuetype == TYPELONG)			{				tokenValue32 = getInteger();				theToken = GDS_NUMBER;				return;			}			if (valuetype == TYPEFLOAT)			{				tokenValueDouble = getFloat();				theToken = GDS_REALNUM;				return;			}			if (valuetype == TYPEDOUBLE)			{				tokenValueDouble = getDouble();				theToken = GDS_REALNUM;				return;			}			if (value

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av动漫一区二区| 国产校园另类小说区| 91麻豆免费视频| 成人国产在线观看| 成人网页在线观看| 国产乱一区二区| 高清成人在线观看| 成人18精品视频| 一本到三区不卡视频| 欧美在线小视频| 欧美乱熟臀69xxxxxx| 91精品国产综合久久香蕉麻豆| 欧美区一区二区三区| 欧美剧在线免费观看网站| 欧美剧在线免费观看网站| 91精品国产高清一区二区三区蜜臀 | 欧美tickling网站挠脚心| 日韩精品最新网址| 久久久高清一区二区三区| 日本一区二区三区国色天香| 国产精品毛片a∨一区二区三区 | 极品美女销魂一区二区三区| 国产综合久久久久久鬼色 | 欧美色手机在线观看| 欧美精品123区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 日本va欧美va精品| 国产成人免费xxxxxxxx| 91蝌蚪porny九色| 欧美精品精品一区| 久久久精品tv| 一区二区三区中文在线观看| 偷拍与自拍一区| 国产成人精品免费在线| 色综合天天综合狠狠| 欧美一区二区三区免费视频| 久久久久久久久一| 亚洲精品网站在线观看| 久久精品99久久久| 97se亚洲国产综合在线| 2014亚洲片线观看视频免费| 国产女人水真多18毛片18精品视频| 亚洲免费观看高清完整版在线| 亚洲午夜国产一区99re久久| 久久99精品一区二区三区三区| 99精品欧美一区二区三区综合在线| 欧美片在线播放| 中文字幕免费不卡| 日韩精品一区第一页| 国产凹凸在线观看一区二区| 色噜噜狠狠一区二区三区果冻| 日韩欧美中文字幕制服| 亚洲丝袜另类动漫二区| 欧美aaa在线| 91蜜桃网址入口| 精品日本一线二线三线不卡| 亚洲日本va午夜在线电影| 蜜臀av一区二区在线免费观看| 99久久精品国产一区二区三区| 日韩一级二级三级| 一区二区三区四区视频精品免费 | 国产丝袜美腿一区二区三区| 亚洲国产成人91porn| 国产风韵犹存在线视精品| 91精品国产高清一区二区三区蜜臀 | 亚洲你懂的在线视频| 韩国女主播一区| 欧美色网站导航| 国产精品久久久久久久久搜平片| 免费成人在线影院| 欧美在线制服丝袜| 最新成人av在线| 国产精品一级片| 欧美一级片在线看| 丝袜美腿亚洲色图| 色一区在线观看| 中文无字幕一区二区三区 | 国产精品自拍三区| 日韩三级av在线播放| 亚洲高清在线精品| 97se亚洲国产综合在线| 亚洲国产高清在线观看视频| 国产一区二区91| 日韩女同互慰一区二区| 日韩激情在线观看| 欧美色图一区二区三区| 一级女性全黄久久生活片免费| 岛国精品在线播放| 国产日产欧美精品一区二区三区| 久久超碰97中文字幕| 日韩一区二区不卡| 高清国产午夜精品久久久久久| 精品av综合导航| 狠狠久久亚洲欧美| 欧美成人在线直播| 日韩av网站免费在线| 在线播放欧美女士性生活| 亚洲午夜精品在线| 欧美日韩一区二区在线观看| 亚洲综合在线第一页| 欧美性大战久久| 亚洲国产精品久久一线不卡| 欧美色窝79yyyycom| 亚洲成av人片一区二区三区| 在线免费亚洲电影| 亚洲二区在线视频| 欧美人成免费网站| 男女激情视频一区| 精品国产a毛片| 国产精品99久久久久久宅男| 国产午夜久久久久| 99这里只有久久精品视频| 亚洲欧美日韩久久精品| 欧美三级在线视频| 婷婷中文字幕一区三区| 这里只有精品视频在线观看| 六月丁香婷婷色狠狠久久| 精品国产乱子伦一区| 国产伦精品一区二区三区免费迷| 日本一区二区三区国色天香| av激情亚洲男人天堂| 一区二区三区自拍| 91精品国产乱码久久蜜臀| 久草精品在线观看| 国产欧美精品日韩区二区麻豆天美| av在线不卡电影| 亚洲最色的网站| 日韩欧美二区三区| 成人精品电影在线观看| 亚洲日本一区二区三区| 欧美人伦禁忌dvd放荡欲情| 久久97超碰色| 最新成人av在线| 欧美电影一区二区三区| 国产麻豆视频一区| 亚洲精品国产无天堂网2021 | 精品国产乱码久久久久久免费 | 欧美精品一区二区三区很污很色的| 国产成人免费在线观看不卡| 亚洲黄色尤物视频| 日韩欧美国产精品一区| 9i看片成人免费高清| 日本欧美久久久久免费播放网| 久久午夜电影网| 欧美伊人久久久久久久久影院| 97久久超碰国产精品电影| 亚洲h动漫在线| 久久精品视频一区| 欧美日韩免费观看一区二区三区| 极品少妇xxxx精品少妇偷拍| 亚洲免费在线播放| 精品少妇一区二区三区在线播放 | 久久久久久9999| 欧美在线观看一区二区| 国模大尺度一区二区三区| 亚洲视频中文字幕| 日韩精品一区二区三区中文不卡 | 91精品在线观看入口| jlzzjlzz亚洲女人18| 免费人成黄页网站在线一区二区| 中文字幕不卡一区| 日韩精品在线一区| 欧美色精品在线视频| 成人免费不卡视频| 蜜臀久久久久久久| 一区二区日韩电影| 国产欧美精品一区aⅴ影院 | 国产午夜精品一区二区| 欧美人妇做爰xxxⅹ性高电影 | 久久久久国产成人精品亚洲午夜| 欧美在线观看18| 成人性视频免费网站| 久久精品国产精品亚洲综合| 亚洲一区二区精品视频| 国产精品传媒视频| 久久亚洲精品小早川怜子| 欧美美女一区二区| 91久久奴性调教| 成人免费视频播放| 国产精品1区2区| 久久成人av少妇免费| 日韩福利视频网| 亚洲国产精品嫩草影院| 亚洲欧洲av在线| 中文字幕乱码一区二区免费| 久久综合九色综合欧美98| 日韩一区二区影院| 欧美精品亚洲一区二区在线播放| 91视频在线看| 91日韩一区二区三区| 粉嫩av一区二区三区| 国产成人一区在线| 国产精品自拍在线| 国产一二精品视频| 国产一区二区三区黄视频 | 久久婷婷国产综合精品青草| 欧美一区二区三区的| 欧美三级视频在线| 精品污污网站免费看| 91福利精品视频|