直線(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 }