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

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

?? editableomrect.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
// **********************************************************************// // <copyright>// //  BBN Technologies//  10 Moulton Street//  Cambridge, MA 02138//  (617) 873-8000// //  Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/openmap/com/bbn/openmap/omGraphics/EditableOMRect.java,v $// $RCSfile: EditableOMRect.java,v $// $Revision: 1.3.2.2 $// $Date: 2005/08/09 21:17:45 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.omGraphics;import com.bbn.openmap.LatLonPoint;import com.bbn.openmap.layer.util.stateMachine.State;import com.bbn.openmap.omGraphics.editable.GraphicEditState;import com.bbn.openmap.omGraphics.editable.GraphicSelectedState;import com.bbn.openmap.omGraphics.editable.GraphicSetOffsetState;import com.bbn.openmap.omGraphics.editable.RectStateMachine;import com.bbn.openmap.proj.Projection;import com.bbn.openmap.util.Debug;/** * The EditableOMRect encompasses an OMRect, providing methods for * modifying or creating it. This class only modifies rects in lat/lon * space (RENDERTYPE_LATLON) - and ellipses in screen space * (RENDERTYPE_XY or RENDERTYPE_OFFSET). When you grab at the rect, * you change the radius of the entire rect. Grabbing the center point * moves the rect. If there is an offset point, moving the center * point changes the rect's position in relation to the offset point. * Moving the offset point moves the rect, keeping the distance to the * center point constant. */public class EditableOMRect extends EditableOMGraphic {    protected GrabPoint gpnw;    protected GrabPoint gpne;    protected GrabPoint gpsw;    protected GrabPoint gpse;    protected OffsetGrabPoint gpc;    protected OffsetGrabPoint gpo; // offset    protected OMRect rect;    public final static String OffsetResetCmd = "OffsetResetCmd";    public final static int CENTER_POINT_INDEX = 0;    public final static int NW_POINT_INDEX = 1;    public final static int NE_POINT_INDEX = 2;    public final static int SW_POINT_INDEX = 3;    public final static int SE_POINT_INDEX = 4;    public final static int OFFSET_POINT_INDEX = 5;    /**     * Create the EditableOMRect, setting the state machine to create     * the rect off of the gestures.     */    public EditableOMRect() {        createGraphic(null);    }    /**     * Create an EditableOMRect with the rectType and renderType     * parameters in the GraphicAttributes object.     */    public EditableOMRect(GraphicAttributes ga) {        createGraphic(ga);    }    /**     * Create the EditableOMRect with an OMRect already defined, ready     * for editing.     *      * @param omc OMRect that should be edited.     */    public EditableOMRect(OMRect omc) {        setGraphic(omc);    }    /**     * Create and initialize the state machine that interprets the     * modifying gestures/commands, as well as ititialize the grab     * points. Also allocates the grab point array needed by the     * EditableOMRect.     */    public void init() {        Debug.message("eomg", "EditableOMRect.init()");        setCanGrabGraphic(false);        setStateMachine(new RectStateMachine(this));        gPoints = new GrabPoint[6];    }    /**     * Set the graphic within the state machine. If the graphic is     * null, then one shall be created, and located off screen until     * the gestures driving the state machine place it on the map.     */    public void setGraphic(OMGraphic graphic) {        init();        if (graphic instanceof OMRect) {            rect = (OMRect) graphic;            stateMachine.setSelected();            setGrabPoints(rect);        } else {            createGraphic(null);        }    }    /**     * Create and set the graphic within the state machine. The     * GraphicAttributes describe the type of rect to create.     */    public void createGraphic(GraphicAttributes ga) {        init();        stateMachine.setUndefined();        int renderType = OMGraphic.RENDERTYPE_UNKNOWN;        int lineType = OMGraphic.LINETYPE_GREATCIRCLE;        if (ga != null) {            renderType = ga.getRenderType();            lineType = ga.getLineType();        }        if (Debug.debugging("eomg")) {            Debug.output("EditableOMRect.createGraphic(): rendertype = "                    + renderType);            Debug.output("EditableOMRect.createGraphic(): linetype = "                    + lineType);        }        switch (renderType) {        case (OMGraphic.RENDERTYPE_LATLON):            if (lineType == OMGraphic.LINETYPE_UNKNOWN) {                lineType = OMGraphic.LINETYPE_GREATCIRCLE;                ga.setLineType(OMGraphic.LINETYPE_GREATCIRCLE);            }            rect = new OMRect(90f, -180f, 90f, -180f, lineType);            break;        case (OMGraphic.RENDERTYPE_OFFSET):            rect = new OMRect(90f, -180f, -1, -1, 1, 1);            break;        default:            rect = new OMRect(-1, -1, -1, -1);        }        if (ga != null) {            ga.setTo(rect);        }        assertGrabPoints();    }    /**     * Get the OMGraphic being created/modified by the EditableOMRect.     */    public OMGraphic getGraphic() {        return rect;    }    /**     * Set the GrabPoint that is in the middle of being modified, as a     * result of a mouseDragged event, or other selection process.     */    public void setMovingPoint(GrabPoint gp) {        super.setMovingPoint(gp);    }    float diffx;    float diffy;    // Called from the state machine...    public void initRectSize() {        diffx = Math.abs(rect.getEastLon() - rect.getWestLon()) / 2f;        diffy = Math.abs(rect.getNorthLat() - rect.getSouthLat()) / 2f;        //      Debug.output("initRectSize(): diffx:" + diffx + ", diffy:"        // + diffy);    }    protected int lastRenderType = -1;    /**     * Check to make sure the grab points are not null. If they are,     * allocate them, and them assign them to the array.     */    public void assertGrabPoints() {        int rt = getGraphic().getRenderType();        if (rt != lastRenderType) {            clearGrabPoints();            lastRenderType = rt;        }        if (gpnw == null) {            gpnw = new GrabPoint(-1, -1);            gPoints[NW_POINT_INDEX] = gpnw;            //          gpnw.setFillPaint(Color.yellow);        }        if (gpne == null) {            gpne = new GrabPoint(-1, -1);            gPoints[NE_POINT_INDEX] = gpne;            //          gpne.setFillPaint(Color.blue);        }        if (gpsw == null) {            gpsw = new GrabPoint(-1, -1);            gPoints[SW_POINT_INDEX] = gpsw;            //          gpsw.setFillPaint(Color.green);        }        if (gpse == null) {            gpse = new GrabPoint(-1, -1);            gPoints[SE_POINT_INDEX] = gpse;            //          gpse.setFillPaint(Color.orange);        }        if (gpc == null) {            gpc = new OffsetGrabPoint(-1, -1);            //          gpc.setFillPaint(Color.red);            gPoints[CENTER_POINT_INDEX] = gpc;            if (getGraphic().getRenderType() != OMGraphic.RENDERTYPE_LATLON) {                gpc.addGrabPoint(gpnw);                gpc.addGrabPoint(gpne);                gpc.addGrabPoint(gpsw);                gpc.addGrabPoint(gpse);            }        }        if (gpo == null) {            gpo = new OffsetGrabPoint(-1, -1);            gPoints[OFFSET_POINT_INDEX] = gpo;            gpo.addGrabPoint(gpc);        }    }    protected void clearGrabPoints() {        gpc = null;        gpnw = null;        gpne = null;        gpsw = null;        gpse = null;        gpo = null;        gPoints[CENTER_POINT_INDEX] = gpc;        gPoints[NW_POINT_INDEX] = gpnw;        gPoints[NE_POINT_INDEX] = gpne;        gPoints[SW_POINT_INDEX] = gpsw;        gPoints[SE_POINT_INDEX] = gpse;        gPoints[OFFSET_POINT_INDEX] = gpo;    }    /**     * Set the grab points for the graphic provided, setting them on     * the extents of the graphic. Called when you want to set the     * grab points off the location of the graphic.     */    public void setGrabPoints(OMGraphic graphic) {        Debug.message("eomg", "EditableOMRect.setGrabPoints(graphic)");        if (!(graphic instanceof OMRect)) {            return;        }        assertGrabPoints();        OMRect rect = (OMRect) graphic;        boolean ntr = rect.getNeedToRegenerate();        int renderType = rect.getRenderType();        int top = 0;        int bottom = 0;        int left = 0;        int right = 0;        LatLonPoint llp;        int latoffset = 0;        int lonoffset = 0;        boolean doStraight = true;        if (ntr == false) {            if (renderType == OMGraphic.RENDERTYPE_LATLON                    || renderType == OMGraphic.RENDERTYPE_OFFSET) {                if (projection != null) {                    float wlon = rect.getWestLon();                    float nlat = rect.getNorthLat();                    float elon = rect.getEastLon();                    float slat = rect.getSouthLat();                    llp = new LatLonPoint(nlat, wlon);                    java.awt.Point p = projection.forward(llp);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
韩国av一区二区三区| 91麻豆成人久久精品二区三区| 亚洲午夜免费福利视频| 一区二区三区**美女毛片| 中文字幕亚洲不卡| 亚洲日本va在线观看| 亚洲三级小视频| 亚洲欧美日韩国产综合在线| 亚洲欧洲av一区二区三区久久| 国产日韩成人精品| 成人欧美一区二区三区视频网页| 国产精品久久久久久妇女6080| 亚洲国产成人午夜在线一区| 国产精品乱码一区二区三区软件| 国产精品丝袜久久久久久app| 国产精品色噜噜| 一卡二卡三卡日韩欧美| 五月天中文字幕一区二区| 蜜桃精品在线观看| 国产精品一品二品| 91免费国产在线| 欧美三日本三级三级在线播放| 欧美日韩免费电影| 精品乱人伦一区二区三区| 精品国产精品一区二区夜夜嗨| 久久久99精品免费观看| 中文字幕 久热精品 视频在线| 亚洲日本在线看| 三级久久三级久久| 国产原创一区二区| 91影视在线播放| 欧美一级理论片| 国产亚洲美州欧州综合国| 亚洲欧洲色图综合| 日韩avvvv在线播放| 狠狠色丁香九九婷婷综合五月| av一区二区不卡| 欧美精品日韩一区| 久久久久国产精品麻豆| 一区二区三区不卡视频在线观看| 日产精品久久久久久久性色| 国产乱国产乱300精品| 色综合久久久久久久久| 日韩丝袜美女视频| 亚洲日本青草视频在线怡红院| 日韩国产成人精品| aaa亚洲精品| 欧美大肚乱孕交hd孕妇| 中文字幕亚洲一区二区va在线| 婷婷开心激情综合| 大陆成人av片| 欧美剧在线免费观看网站| 国产欧美一区二区在线观看| 亚洲gay无套男同| 成人网页在线观看| 日韩欧美中文一区二区| 亚洲欧美色图小说| 国产在线精品一区二区夜色 | 国产尤物一区二区在线| 色哟哟亚洲精品| 国产欧美一区二区精品婷婷| 天天色综合天天| 色诱视频网站一区| 国产日韩欧美精品一区| 日韩av电影免费观看高清完整版 | 精品国产不卡一区二区三区| 亚洲欧洲av另类| 国内外成人在线| 欧美人伦禁忌dvd放荡欲情| 欧美激情综合在线| 久久精品国产网站| 欧美嫩在线观看| 亚洲人成人一区二区在线观看| 国产一区在线观看麻豆| 欧美日韩黄视频| 亚洲精品国产精品乱码不99 | 91福利视频在线| 国产精品嫩草99a| 狠狠色丁香九九婷婷综合五月| 欧美日韩视频在线第一区| 亚洲色图一区二区三区| 国产福利一区二区三区视频在线| 欧美乱熟臀69xxxxxx| 亚洲综合一二区| 91蜜桃婷婷狠狠久久综合9色| 精品国产一区久久| 男女男精品网站| 欧美日韩国产首页在线观看| 亚洲国产精品一区二区尤物区| 99r精品视频| 亚洲图片你懂的| 99精品国产一区二区三区不卡| 国产精品午夜在线观看| 国产精品亚洲午夜一区二区三区| 日韩欧美一区二区视频| 免费在线观看一区| 日韩久久精品一区| 麻豆精品视频在线观看视频| 欧美一区二区三区电影| 日本 国产 欧美色综合| 日韩一级片网址| 蜜桃av一区二区在线观看 | 水野朝阳av一区二区三区| 91成人免费电影| 亚洲精品日韩专区silk| 91极品美女在线| 亚洲中国最大av网站| 欧美三级电影在线看| 亚洲午夜免费电影| 欧美丰满少妇xxxxx高潮对白| 天堂精品中文字幕在线| 3751色影院一区二区三区| 日韩国产精品久久久| 欧美不卡一区二区三区四区| 美洲天堂一区二卡三卡四卡视频| 日韩午夜激情av| 国产成人综合在线观看| 中文字幕国产一区二区| 91视频.com| 亚洲成人av资源| 欧美xxxx老人做受| 国产成人自拍在线| 中文字幕一区二区三区色视频| 色哟哟国产精品免费观看| 午夜精品福利一区二区蜜股av| 7777精品伊人久久久大香线蕉完整版| 日本女优在线视频一区二区| 久久这里只有精品6| zzijzzij亚洲日本少妇熟睡| 夜夜嗨av一区二区三区四季av| 欧美日本一区二区三区| 国产一区二区在线观看视频| 国产精品亲子伦对白| 在线亚洲人成电影网站色www| 五月婷婷欧美视频| 久久精品欧美一区二区三区不卡 | 制服丝袜日韩国产| 国产美女av一区二区三区| 亚洲欧美怡红院| 欧美一区二区三区在线| 国产精品一区二区不卡| 一区二区日韩电影| 精品国产亚洲一区二区三区在线观看| 成人性生交大片免费看中文| 亚洲自拍偷拍欧美| 久久久美女毛片| 欧美最猛性xxxxx直播| 麻豆精品久久精品色综合| 综合自拍亚洲综合图不卡区| 欧美精品亚洲二区| 国产成人精品1024| 舔着乳尖日韩一区| 国产精品久久久久久久久免费丝袜| 欧美日韩综合在线| 成人黄页在线观看| 蜜臀久久久99精品久久久久久| 中文字幕一区在线| 久久综合九色综合欧美就去吻| 91黄色免费版| 国产成人av一区二区三区在线| 亚洲国产精品麻豆| 国产精品免费久久| 日韩美女一区二区三区四区| 色天天综合色天天久久| 国内外精品视频| 日韩精品电影在线观看| 亚洲另类中文字| 国产欧美日韩在线| 欧美一级黄色大片| 欧美日韩午夜在线视频| www.亚洲在线| 国产一区二区伦理| 免费成人av在线播放| 五月天丁香久久| 亚洲美女淫视频| 国产精品久久久久久久午夜片| 精品国产一区二区三区忘忧草| 欧美日韩一区二区在线观看| 91视频一区二区| 丁香亚洲综合激情啪啪综合| 麻豆国产欧美一区二区三区| 一区二区在线观看免费| 中文字幕亚洲电影| 中文av一区特黄| 2023国产一二三区日本精品2022| 欧美麻豆精品久久久久久| 色综合久久中文字幕| 9l国产精品久久久久麻豆| 国产凹凸在线观看一区二区| 久久99精品视频| 久久99精品久久久久婷婷| 热久久一区二区| 免费人成在线不卡| 日本不卡视频在线观看| 午夜视频一区在线观看| 亚洲伊人伊色伊影伊综合网 | 色综合久久天天| 99久久久久久| 99久久婷婷国产| 91婷婷韩国欧美一区二区|