折れ線の操作

直線(polyline)シェイプは、始点と終点の間に頂点を追加して、折れ線にすることができます。

直線のインターフェースは、jp.carabiner.inkpod.pi.shape.PPolylineRelationShapeインターフェースです。このaddPoint()メソッドで、折れ線の頂点を追加することができます。

サンプル

関連・オブジェクトを作成してマップに追加後、直線シェイプに変更し、折れ線の頂点を追加するサンプルです。背景を右クリックして、メニューから「折れ線の作成」を選ぶと、2回折れ曲がった折れ線をマップに追加します。

importClass(Packages.jp.carabiner.inkpod.model.MapPoint);
importClass(java.awt.Point);

function extendUI(event) {
    inkpod.ui.actions.addAction({
        id     : "SAMPLE_CREATE_POLYLINE",
        text   : "折れ線の作成",
        action : function(frame, event) {
            var model = frame.model;
            var p = frame.contextMenuClickPoint;
 
            // 関連オブジェクトを作成
            var object = model.createRelationObject();
 
            // オブジェクトを追加
            object = model.addObject(object);
            // オブジェクトの形を'polyine'に変更
            object.changeShape("polyline");
 
            // 始点設定
            object.shape.lineStartPoint = p;
            // 終点設定
            object.shape.lineEndPoint = new Point(p.x + 300, p.y);
            // 中間の頂点を追加
            object.shape.addPoint(0, new Point(p.x + 100, p.y + 100));
            object.shape.addPoint(1, new Point(p.x + 200, p.y - 100));
        }
    });
    
    inkpod.ui.backgroundPopupMenu.addMenuItem("SAMPLE_CREATE_POLYLINE");
}

function init()
{
    inkpod.ui.addUIExtensionListener(extendUI);
}

function dispose()
{
}

plugin = {
    init : init,
    dispose : dispose
}

関連するクラス/インタフェース