亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
www久久久久| 日韩一区二区视频| 成人午夜精品在线| 国产成人自拍网| 国产福利91精品一区二区三区| 国产综合色精品一区二区三区| 久草精品在线观看| 国产最新精品免费| av电影在线观看一区| 97久久精品人人爽人人爽蜜臀| 色婷婷久久久亚洲一区二区三区 | 在线播放亚洲一区| 7777女厕盗摄久久久| 精品国产1区二区| 国产女人水真多18毛片18精品视频 | 中文字幕一区二区三区色视频| 亚洲欧美在线高清| 午夜欧美一区二区三区在线播放| 午夜精品在线视频一区| 久久精品国产一区二区三| 国产91丝袜在线18| 在线亚洲+欧美+日本专区| 欧美一级黄色片| 国产精品乱子久久久久| 亚洲va欧美va人人爽| 国产在线精品国自产拍免费| 99久免费精品视频在线观看| 欧美日本在线播放| 国产欧美日韩另类一区| 亚洲国产成人精品视频| 国产精品99久久久久久久女警| 99久久99久久精品国产片果冻| 欧美日本韩国一区| 国产精品污www在线观看| 亚洲国产精品久久人人爱| 精品制服美女久久| 欧美综合亚洲图片综合区| 欧美成人一级视频| 亚洲在线免费播放| 国产福利91精品| 欧美日韩国产在线播放网站| 国产亚洲欧美一区在线观看| 亚洲精品国产a| 国产高清不卡一区| 日韩一区二区免费在线观看| 国产精品成人免费在线| 精品一区二区综合| 欧美性色欧美a在线播放| 国产欧美va欧美不卡在线| 日本视频在线一区| 欧美亚洲自拍偷拍| 国产精品成人网| 国产精品99久久久久久久vr | 波多野结衣亚洲| 日韩精品一区二区三区视频| 亚洲午夜久久久| 99精品视频中文字幕| 久久综合成人精品亚洲另类欧美 | 色婷婷精品久久二区二区蜜臀av | 久久久精品免费免费| 日日欢夜夜爽一区| 欧美日本一区二区在线观看| 亚洲综合色在线| 91在线小视频| 成人免费在线视频观看| 国产99一区视频免费| 欧美成人伊人久久综合网| 日本欧美大码aⅴ在线播放| 欧美视频你懂的| 亚洲精品成人在线| 91久久人澡人人添人人爽欧美| 国产精品久久久久久久久免费相片| 国产一区二区三区日韩| 久久婷婷成人综合色| 久久国产精品99精品国产| 欧美大尺度电影在线| 美女视频第一区二区三区免费观看网站| 欧美日韩视频在线一区二区| 亚洲福利一二三区| 欧美日韩高清不卡| 日韩在线卡一卡二| 精品三级在线观看| 国产资源在线一区| 国产精品久久久久影视| 91网站最新地址| 亚洲高清视频在线| 日韩限制级电影在线观看| 激情文学综合网| 欧美国产在线观看| 色嗨嗨av一区二区三区| 亚洲成人第一页| 精品美女一区二区三区| 国产福利精品导航| 一区二区在线观看视频 | 国产人妖乱国产精品人妖| fc2成人免费人成在线观看播放| 国产精品大尺度| 欧美精品视频www在线观看| 麻豆成人av在线| 中文字幕国产一区二区| 在线观看亚洲一区| 另类中文字幕网| 国产精品嫩草99a| 欧美日韩一区二区三区视频| 精品一区二区影视| 亚洲色欲色欲www在线观看| 91精品午夜视频| 国产精品资源在线看| 亚洲精品伦理在线| 欧美mv日韩mv| 欧美性受极品xxxx喷水| 国产一区视频导航| 亚洲成人一区二区| 中文子幕无线码一区tr| 91麻豆精品久久久久蜜臀| 成人精品国产福利| 亚洲不卡在线观看| 成人欧美一区二区三区黑人麻豆| 日韩一区二区精品在线观看| 91小视频在线免费看| 国产黄色91视频| 久久国产剧场电影| 午夜精品久久一牛影视| 成人免费在线观看入口| 久久久精品tv| 欧美哺乳videos| 欧美日韩国产系列| 91啦中文在线观看| 国产成人午夜精品5599| 日韩精品亚洲一区| 一区二区三区在线视频观看58| 久久久久久久性| 日韩欧美国产三级| 欧美日本一道本| 欧美在线三级电影| 91日韩一区二区三区| 不卡的av在线| 成人免费av资源| 国产91在线观看丝袜| 国产综合色视频| 老司机免费视频一区二区三区| 亚洲亚洲人成综合网络| 亚洲免费三区一区二区| 亚洲欧洲日韩av| 国产精品久久夜| 国产精品青草久久| 久久精品视频在线免费观看| 欧美精品一区二区在线观看| 日韩一区二区精品| 日韩一区二区三区免费看 | 亚洲精品在线观看网站| 日韩写真欧美这视频| 日韩一卡二卡三卡四卡| 日韩欧美一卡二卡| 欧美成人官网二区| 精品久久一区二区| 久久这里只精品最新地址| 欧美成人性战久久| 久久精品人人做人人爽人人| 国产视频一区二区在线观看| 久久精品人人做人人爽97| 久久久久久久久一| 国产午夜三级一区二区三| 国产精品三级av| 亚洲欧美日韩电影| 亚洲国产日韩一级| 天天影视涩香欲综合网| 久久66热re国产| 国产成人免费在线视频| 99视频精品在线| 欧美三级中文字| 精品国精品自拍自在线| 国产精品网站导航| 亚洲一线二线三线视频| 蜜桃一区二区三区在线观看| 国产黄人亚洲片| 色国产综合视频| 亚洲精品在线免费观看视频| 亚洲天堂福利av| 蜜桃视频在线观看一区二区| 国产乱码精品1区2区3区| 色诱亚洲精品久久久久久| 欧美一级一级性生活免费录像| 久久久久国产一区二区三区四区| 最新日韩av在线| 日本欧美韩国一区三区| 91网页版在线| 久久网站热最新地址| 一区二区三区资源| 国产伦精品一区二区三区免费迷| 99天天综合性| 精品久久久久久最新网址| 综合电影一区二区三区| 麻豆精品一区二区综合av| 成人国产精品免费观看视频| 欧美精品乱人伦久久久久久| 欧美高清一级片在线观看| 免费高清视频精品| 欧美午夜精品免费| 中文字幕成人av|