segs_properties Segmentsエンティティプロパティの説明

## 説明

Segsエンティティはグラフィックエンティティ階層の葉です. この エンティティは色付の線分または色付の矢印の集合に関するパラメータを定義します.

parent:

  このフィールドには親のハンドルが含まれます. polylineエンティティの親は`"Axes"` 型または `"Compound"`型です.

children:

  このプロパティにはこのハンドルの`children` のベクトルが含まれます. しかし,現在,`segs`ハンドルには`children`がありません.

visible:

  このフィールドはこのエンティティの`visible` プロパティの値を有します. 値は`"on"` または `"off"`となります. デフォルトで線分は可視であり,プロパティの値は `"on"` となります. `"off"` の場合, このsegmentsは画面に描画されません.

data:

  このフィールドは線分の端点の座標を指定する2列の行列 `[x,y,[z]]` です. `xv=matrix(x,2,-1)` および `yv=matrix(y,2,-1)` の場合, `xv(:,k)`および `yv(:,k)` は `k`番目の線分の端点の座標です.

line_mode:

  このフィールドは線分の`line_mode`プロパティの デフォルト値を有します. この値には `"on"` (線を描画 ) または `"off"` (線を描画しない)を指定します.

line_style:

  `line_style`プロパティの値は[1 8]の 範囲の整数となります. `1`は実線を意味し,その他の値は破線の類 (破線,一点鎖線,長破線,長々破線,点線,二重点線)を意味します.

thickness:

  このプロパティはピクセル単位で線幅を指定する正の実数です. 実際の表示幅は指定された幅を最も近い整数に丸めることで定義されます. 唯一の例外はベクトル単位のエキスポートで,この場合は全体の `thickness`の値が考慮されます.

arrow_size:

  矢じりの大きさを指定する係数.負の値を指定すると, 大きさが矢印の長さにも依存します.線分を描画するには,この値を 0 に設定する必要があります.

segs_color:

  このフィールドは各線分を描画する際に使用される色のベクトルを 有します.各要素はカレントのカラーマップに基づく色インデックスです.

mark_mode:

  このフィールドはポリラインの`mark_mode` プロパティのデフォルト値を有します. この値は`"on"` (マーカを描画 drawn) または `"off"` (マーカを描画しない)となります.

mark_style:

  `mark_style`プロパティの値は `mark_mode`プロパティが`"on"`の場合に, 使用するマーカの種類を選択するために使用されます. この値は[0 14]の範囲の整数で,それぞれ以下の意味があります : ドット,プラス,十字,星,塗りつぶした菱形, 上向き三角形, 下向き三角形, 菱形プラス,円,アスタリスク, 正方形,右向き三角形,左向き三角形およびペンタグラム. 以下の図は,マーカのアスペクトが`mark_style`, `mark_foreground` および `mark_background`プロパティに依存する ことを示します.

mark_size_unit:

  このフィールは`mark_size_unit`プロパティのデフォルト値 を有します.`mark_size_unit`が`"point"` に設定された場合,`mark_size`の値はポイント単位で直接 指定されます. `mark_size_unit` に`"tabulated"`が 指定された場合,`mark_size`はfont size配列に相対的に 計算されます: この場合,この値は, 8pt, 10pt, 12pt, 14pt, 18pt および 24pt を意味する [0 5]の範囲の整数とします. xrectおよび Scilabのネーティブ関数は `tabulated`モードをデフォルトとします; plot関数を使用する場合, `point` モードが自動的に有効となります.

mark_size:

  `mark_size`プロパティは, `mark_mode`プロパティが`"on"`の時, マーカの大きさを選択するために使用されます. この値は, 8pt, 10pt, 12pt, 14pt, 18pt および 24pt を意味する [0 5]の範囲の整数です.

mark_foreground:

  このフィールドは,マーカの縁の色である`mark_foreground` プロパティの値を有します.この値は(カレントのcolor_mapに関連する)色インデックス または透過エッジを意味する 0 とします.

mark_background:

  このフィールドは,マーカの前景色である `mark_background`プロパティの値を有します. この値は(カレントのcolor_mapに関連する)色インデックス または透過面を意味する 0 とします.

clip_state:

  このフィールドは線分の`clip_state`プロパティの 値を有します. 値は以下となります:

  - `"off"` 線分はクリップされません.

  - `"clipgrf"` 線分はAxesボックスの外側でクリップ されます.

  - `"on"`線分はclip_boxプロパティで 指定された矩形の外側でクリップされます.

clip_box:

  このフィールドは`clip_box`プロパティを定義します. デフォルトで線分はクリップされず, `clip_state` は `"off"` です. このため,この値は空の行列となります. その他の場合, ベクトル`[x,y,w,h]` (左上の点 幅 高さ) は表示する線分の部分を定義し, `clip_state`プロパティの値が変更されます.

user_data:

  このフィールドは `segs` データ構造体に任意のScilab変数を 保存し,再度取得する際に使用できます.

## 例

    a=get("current_axes");//新規に作成された軸のハンドルを取得

    a.data_bounds=[-10,-10;10,10];

    x=2*%pi*(0:7)/8;

    xv=[2*sin(x);9*sin(x)];

    yv=[2*cos(x);9*cos(x)];

    xsegs(xv,yv,1:8)

    s=a.children

    s.arrow_size=1;

    s.segs_color=15:22;

    for j=1:2

      for i=1:8

        h=s.data(i*2,j);

        s.data(i*2,j)=s.data(i*2-1,j);

        s.data(i*2-1,j)=  h;

      end

    end

    s.segs_color=5; //全ての線分の色を 5 に設定

    s.clip_box=[-4,4,8,8];

    a.thickness=4;

    xrect(s.clip_box);

## 参照

- set
- get
- delete
- xsegs
- graphics_entities

## 履歴

5.4.0 line_style の値 0 は廃止されました, 代わりに 1 を 使用してください (両者は共に実線で等価です). 値 0 は Scilab 5.4.1 でエラーとなります.