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

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

?? g2_graphic_pd.c

?? ViennaRNA-1.6.1
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
/*******************************************************************************  Copyright (C) 1998-2001  Ljubomir Milanovic & Horst Wagner**  This file is part of the g2 library****  This library is free software; you can redistribute it and/or**  modify it under the terms of the GNU Lesser General Public**  License as published by the Free Software Foundation; either**  version 2.1 of the License, or (at your option) any later version.****  This library 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**  Lesser General Public License for more details.****  You should have received a copy of the GNU Lesser General Public**  License along with this library; if not, write to the Free Software**  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA******************************************************************************/#include <stdio.h>#include <stdlib.h>#include <math.h>#include "g2_funix.h"#include "g2_virtual_device.h"#include "g2_graphic_pd.h"#include "g2_control_pd.h"#include "g2_util.h"#ifndef PI#define PI 3.14159265358979323846#endif /* PI *//* * * Plot (physical device) * */void g2_plot_pd(g2_physical_device *pd, double x, double y){    int    ix, iy;    double dx, dy;        if(pd->ff[g2_Plot].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x, y, &ix, &iy);	    pd->ff[g2_Plot].fun(pd->pid, pd->pdp,				ix, iy);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x, y, &dx, &dy);	    pd->ff[g2_Plot].fun(pd->pid, pd->pdp,				dx, dy);	    break;	}    } else {	/* emulate ... with .... */      }}/* * * Draw line (low_level) * */void g2_line_pd(g2_physical_device *pd,		double x1, double y1, double x2, double y2){    int    ix1, iy1, ix2, iy2;    double dx1, dy1, dx2, dy2;        if(pd->ff[g2_Line].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1);	    g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2);	    pd->ff[g2_Line].fun(pd->pid, pd->pdp,				ix1, iy1, ix2, iy2);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1);	    g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2);	    pd->ff[g2_Line].fun(pd->pid, pd->pdp,				dx1, dy1, dx2, dy2);	    break;	}		    } else {	/* emulate ... with .... */      }}/* * * Draw poly line (physical device) * */void g2_poly_line_pd(g2_physical_device *pd,		     int N, double *points){    int i;    int    *ipt;    double *dpt;        if(pd->ff[g2_PolyLine].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    ipt=g2_malloc(2*N*sizeof(int));	    for(i=0;i<2*N;i+=2)		g2_uc2pdc_int(pd, points[i+0], points[i+1], ipt+i, ipt+i+1);	    pd->ff[g2_PolyLine].fun(pd->pid, pd->pdp,				    N, ipt);	    free(ipt);	    break;	  case g2_DoubleCoor:	    dpt=g2_malloc(2*N*sizeof(double));	    for(i=0;i<2*N;i+=2)		g2_uc2pdc_double(pd,				  points[i+0], points[i+1],				  dpt+i, dpt+i+1);	    pd->ff[g2_PolyLine].fun(pd->pid, pd->pdp,				    N, dpt);	    free(dpt);	    break;	}    } else {	for (i=0;i<N-1;i++)		 /* emulate polyline with lines */  	    g2_line_pd(pd,		       points[2*i], points[2*i+1],		       points[2*i+2], points[2*i+3]);    }}/* * * Triangle (physical device) * */void g2_triangle_pd(g2_physical_device *pd,		    double x1, double y1,		    double x2, double y2,		    double x3, double y3){    int    ix1, iy1, ix2, iy2, ix3, iy3;    double dx1, dy1, dx2, dy2, dx3, dy3;        if(pd->ff[g2_Triangle].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1);	    g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2);	    g2_uc2pdc_int(pd, x3, y3, &ix3, &iy3);	    pd->ff[g2_Triangle].fun(pd->pid, pd->pdp,				    ix1, iy1,				    ix2, iy2,				    ix3, iy3);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1);	    g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2);	    g2_uc2pdc_double(pd, x3, y3, &dx3, &dy3);	    pd->ff[g2_Triangle].fun(pd->pid, pd->pdp,				    dx1, dy1,				    dx2, dy2,				    dx3, dy3);	}		    } else {	g2_line_pd(pd, x1, y1, x2, y2);      /* emulate triangle with lines */	g2_line_pd(pd, x2, y2, x3, y3);	g2_line_pd(pd, x3, y3, x1, y1);    }}/* * * Filled triangle (physical device) * */void g2_filled_triangle_pd(g2_physical_device *pd,			   double x1, double y1,			   double x2, double y2,			   double x3, double y3){    int    ix1, iy1, ix2, iy2, ix3, iy3;    double dx1, dy1, dx2, dy2, dx3, dy3;        if(pd->ff[g2_FilledTriangle].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1);	    g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2);	    g2_uc2pdc_int(pd, x3, y3, &ix3, &iy3);	    pd->ff[g2_FilledTriangle].fun(pd->pid, pd->pdp,					  ix1, iy1,					  ix2, iy2,					  ix3, iy3);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1);	    g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2);	    g2_uc2pdc_double(pd, x3, y3, &dx3, &dy3);	    pd->ff[g2_FilledTriangle].fun(pd->pid, pd->pdp,					  dx1, dy1,					  dx2, dy2,					  dx3, dy3);	}		    } else {	double Triangle[6];     /* emulate FilledTriangle with FilledPolygon */	Triangle[0] = x1;	Triangle[1] = y1;	Triangle[2] = x2;	Triangle[3] = y2;	Triangle[4] = x3;	Triangle[5] = y3;	g2_filled_polygon_pd(pd, 3, Triangle);     }}/* * * Rectangle (physical device) * */void g2_rectangle_pd(g2_physical_device *pd,		     double x1, double y1, double x2, double y2){    int    ix1, iy1, ix2, iy2;    double dx1, dy1, dx2, dy2;        if(pd->ff[g2_Rectangle].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1);	    g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2);	    g2_sort2_i(&ix1, &ix2);	    g2_sort2_i(&iy1, &iy2);	    pd->ff[g2_Rectangle].fun(pd->pid, pd->pdp,				     ix1, iy1, ix2, iy2);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1);	    g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2);	    g2_sort2_d(&dx1, &dx2);	    g2_sort2_d(&dy1, &dy2);	    pd->ff[g2_Rectangle].fun(pd->pid, pd->pdp,				     dx1, dy1, dx2, dy2);	    break;	}		    } else {	g2_line_pd(pd, x1, y1, x1, y2);     /* emulate rectangle with lines */	g2_line_pd(pd, x1, y1, x2, y1);	g2_line_pd(pd, x2, y1, x2, y2);	g2_line_pd(pd, x1, y2, x2, y2);    }}/* * * Filled rectangle (physical device) * */void g2_filled_rectangle_pd(g2_physical_device *pd,			    double x1, double y1, double x2, double y2){    int    ix1, iy1, ix2, iy2;    double dx1, dy1, dx2, dy2;        if(pd->ff[g2_FilledRectangle].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    g2_uc2pdc_int(pd, x1, y1, &ix1, &iy1);	    g2_uc2pdc_int(pd, x2, y2, &ix2, &iy2);	    g2_sort2_i(&ix1, &ix2);	    g2_sort2_i(&iy1, &iy2);	    pd->ff[g2_FilledRectangle].fun(pd->pid, pd->pdp,					   ix1, iy1, ix2, iy2);	    break;	  case g2_DoubleCoor:	    g2_uc2pdc_double(pd, x1, y1, &dx1, &dy1);	    g2_uc2pdc_double(pd, x2, y2, &dx2, &dy2);	    g2_sort2_d(&dx1, &dx2);	    g2_sort2_d(&dy1, &dy2);	    pd->ff[g2_FilledRectangle].fun(pd->pid, pd->pdp,					   dx1, dy1, dx2, dy2);	    break;	}		    } else {	double Rectangle[8];  /* emulate FilledRectangle with FilledPolygon */	Rectangle[0] = x1;	Rectangle[1] = y1;	Rectangle[2] = x2;	Rectangle[3] = y1;	Rectangle[4] = x2;	Rectangle[5] = y2;	Rectangle[6] = x1;	Rectangle[7] = y2;	g2_filled_polygon_pd(pd,4,Rectangle);    }}/* * * Polygon (physical device) * */void g2_polygon_pd(g2_physical_device *pd,		   int N, double *points){    int i;    int    *ipt;    double *dpt;        if(pd->ff[g2_Polygon].fun!=NULL) {	switch(pd->coor_type) {	  case g2_IntCoor:	    ipt=g2_malloc(2*N*sizeof(int));	    for(i=0;i<2*N;i+=2)		g2_uc2pdc_int(pd, points[i+0], points[i+1], ipt+i, ipt+i+1);	    pd->ff[g2_Polygon].fun(pd->pid, pd->pdp,				   N, ipt);	    free(ipt);	    break;	  case g2_DoubleCoor:	    dpt=g2_malloc(2*N*sizeof(double));	    for(i=0;i<2*N;i+=2)		g2_uc2pdc_double(pd,				  points[i+0], points[i+1], dpt+i, dpt+i+1);	    pd->ff[g2_Polygon].fun(pd->pid, pd->pdp,				   N, dpt);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
看国产成人h片视频| 国产伦精一区二区三区| 久久伊人中文字幕| 91黄色在线观看| 国产精品自拍av| 亚洲一区在线观看网站| 日本一区二区免费在线观看视频| 精品视频在线看| 成人美女视频在线观看18| 日韩制服丝袜av| 亚洲欧美日韩在线播放| 26uuu成人网一区二区三区| 欧美性感一类影片在线播放| 国产丶欧美丶日本不卡视频| 日韩国产欧美三级| 九色|91porny| 亚洲午夜av在线| 亚洲激情一二三区| 最新欧美精品一区二区三区| 久久精品欧美一区二区三区麻豆 | 成人性生交大片免费看中文网站| 三级成人在线视频| 一级精品视频在线观看宜春院| 久久久777精品电影网影网| 91精品国产福利| 欧美日韩一区成人| av资源站一区| 成人免费电影视频| 高清不卡在线观看| 国产伦精一区二区三区| 久久成人久久爱| 捆绑调教一区二区三区| 日本欧美大码aⅴ在线播放| 亚洲一级电影视频| 亚洲午夜在线观看视频在线| 亚洲三级在线免费观看| 中文字幕一区二| 国产精品成人免费 | 午夜激情综合网| 亚洲最快最全在线视频| 亚洲激情第一区| 伊人婷婷欧美激情| 亚洲欧美国产77777| 亚洲男人的天堂网| 亚洲影院理伦片| 午夜激情综合网| 麻豆国产精品一区二区三区 | 日韩精品一区二区三区视频| 欧美精品免费视频| 欧美一区二区精品在线| 日韩欧美二区三区| 精品99一区二区| 国产欧美日韩激情| 国产精品电影院| 亚洲综合色网站| 免费成人美女在线观看.| 蜜桃一区二区三区四区| 国产一区二区在线免费观看| 成人午夜在线播放| 色婷婷久久久综合中文字幕| 欧美午夜宅男影院| 精品久久久久久最新网址| 久久综合久久鬼色中文字| 国产午夜亚洲精品午夜鲁丝片| 日本一区二区三区久久久久久久久不| 亚洲视频在线一区二区| 午夜精品福利在线| 国产美女久久久久| 色老头久久综合| 日韩欧美三级在线| 国产精品剧情在线亚洲| 亚洲大片免费看| 国产在线看一区| 91香蕉视频黄| 日韩亚洲欧美高清| 欧美国产成人精品| 五月婷婷欧美视频| 国产美女在线精品| 欧美影院一区二区三区| 日韩一区二区在线播放| 国产精品嫩草99a| 天天综合日日夜夜精品| 丁香激情综合国产| 欧美日韩一级大片网址| 国产亚洲精品资源在线26u| 亚洲综合色噜噜狠狠| 精品一区二区综合| 色88888久久久久久影院野外| 91精品国产综合久久久久久久久久 | 国产亚洲福利社区一区| 亚洲免费观看高清在线观看| 蜜臀va亚洲va欧美va天堂| 91美女在线观看| 精品久久99ma| 亚洲国产你懂的| 成人成人成人在线视频| 欧美一区二视频| 亚洲黄色录像片| 大桥未久av一区二区三区中文| 精品污污网站免费看| 亚洲欧美综合在线精品| 久久er99精品| 欧美日本一区二区三区| 中文字幕一区二区在线观看| 久久精品国产一区二区三区免费看| 91丨porny丨户外露出| 亚洲精品在线免费观看视频| 亚洲国产你懂的| 91极品视觉盛宴| 亚洲婷婷国产精品电影人久久| 另类综合日韩欧美亚洲| 欧美乱熟臀69xxxxxx| 亚洲影院理伦片| 色婷婷综合久久久中文一区二区| 国产视频一区在线播放| 美女视频黄 久久| 欧美裸体一区二区三区| 亚洲国产中文字幕在线视频综合 | 日韩一区二区精品在线观看| 亚洲国产精品欧美一二99| 99久久国产综合精品色伊| 国产清纯美女被跳蛋高潮一区二区久久w| 日韩经典中文字幕一区| 欧美三级日韩在线| 亚洲综合精品自拍| 91片黄在线观看| 亚洲天堂精品视频| www.亚洲在线| 国产精品精品国产色婷婷| 国产成人av福利| 久久久久久久综合| 久久草av在线| 欧美电影免费观看高清完整版在| 日本不卡123| 日韩精品一区在线| 国内精品写真在线观看| 日韩精品一区二区三区蜜臀| 美女在线视频一区| 欧美大白屁股肥臀xxxxxx| 奇米在线7777在线精品| 欧美大片顶级少妇| 国内久久精品视频| 欧美videos中文字幕| 狠狠久久亚洲欧美| 久久久久久夜精品精品免费| 精品综合久久久久久8888| 日韩三级视频中文字幕| 精品在线视频一区| 337p日本欧洲亚洲大胆色噜噜| 精品一区二区日韩| 日本一区二区三区在线不卡| 99久久国产综合色|国产精品| 亚洲人成网站精品片在线观看| 在线观看日韩高清av| 日韩福利视频导航| 久久色在线观看| 成人av资源网站| 一卡二卡三卡日韩欧美| 3d成人动漫网站| 国产九色sp调教91| 中文字幕在线不卡国产视频| 91极品视觉盛宴| 久久精品噜噜噜成人av农村| 国产欧美日韩综合精品一区二区 | 精品美女被调教视频大全网站| 国产乱码一区二区三区| 亚洲视频在线一区观看| 欧美精品久久99| 国产精品99久久久久久似苏梦涵| 综合久久给合久久狠狠狠97色| 欧美视频一区二区三区在线观看 | 91精品国产91久久久久久一区二区| 久久精品国产久精国产| 国产精品色呦呦| 欧美日韩午夜在线视频| 国产一区在线看| 亚洲男女毛片无遮挡| 日韩欧美国产wwwww| av不卡在线观看| 蜜桃精品视频在线| 中文字幕在线不卡国产视频| 欧美精品日日鲁夜夜添| 成人动漫视频在线| 日韩福利视频导航| ㊣最新国产の精品bt伙计久久| 日韩一区二区三区视频在线 | 中文字幕高清一区| 欧美肥妇free| 成人av第一页| 久久草av在线| 亚洲综合无码一区二区| 久久久综合激的五月天| 欧美色视频一区| 成人激情校园春色| 美女网站色91| 一区二区三区日韩精品| 国产亚洲欧美日韩俺去了| 欧美一级二级在线观看| 91久久久免费一区二区| 国产精品99久久久久久久vr|