# arc_properties

arc (弧)エンティティプロパティの説明

## 説明

Arc (弧)エンティティはグラフィックエンティティの階層の一部です. このエンティティは楕円,楕円の一部および 塗りつぶした楕円のパラメータを定義します.

parent:

  このフィールドは親のハンドルを含みます. arcエンティティの親は `"Axes"` または `"Compound"` 型である 必要があります.

children:

  このプロパティは,ハンドルの`children` を有するベクトルを含みます. しかし,`arc`ハンドルは現在 `children`を有していません.

thickness:

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

line_style:

  `line_style` プロパティの値は [0 8]の整数である 必要があります. 0 および 1 は実線, その他の値は 破線の選択を意味します(getlinestyle参照).

line_mode:

  このプロパティにより弧を表現する線の 表示の有無を指定できます. 値は, `"on"` または `"off"`とする必要があります.

fill_mode:

  `fill_mode` プロパティの値が `"on"` の場合, 弧は `background`色で塗りつぶされます.

foreground:

  このフィールドは, arc の外側の描画に使用される デフォルトの`foreground` プロパティの値を含みます. (カレントの色マップに関連する)色の添字である必要があります.

background:

  このフィールドは 弧を塗りつぶす際に使用される色を含みます. (カレントの色マップに関連する)色の添字である必要があります.

data:

  このプロパティは,包含する長方形の左上の座標, そして幅と高さを扇形の境界角と共に返すためのものです. これは,ユーザ座標 `[xleft,yup,[zup],width,height,a1,a2]`の 行列です. ただし, `a1` および `a2`は 扇形の境界角(単位:度)です.

  警告: バージョン 4.1.2 までのScilabでは, `a1` および `a2`は 度/64で指定されていました.

visible:

  このフィールドには,エンティティのプロパティ値 `visible`が含まれます. `"on"` または `"off"`のどちらかである必要があります. `"on"`の場合その弧が描画され, `"off"` の場合,弧は画面に表示されません.

arc_drawing_method:

  このフィールドは arc を描画する際に使用される離散化 の種類を制御します. 値は, `"nurbs"` または `"lines"`のどちらかとする必要があります. `"nurbs"`が選択された場合, 弧は nurbs (Non-Uniform Rational B-Spline) 曲線/曲面により 描画されます. この結果,視点によらず完全な楕円が表示されます. `"lines"`が選択された場合, 弧は一定の数の直線で近似されます. これにより描画時間は減少しますが, 拡大すると鋭角的なエッジが現れる可能性があります. `"lines"`の使用は推奨されておらず, `"nurbs"`を使用した際にフレームレートが 失われる場合のみ使用するべきです.

clip_state:

  このフィールドには弧の `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:

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

## 例

    a=get("current_axes");//新規に作成した軸のハンドルを取得
    a.data_bounds=[-2,-2;2,2];

    xarc(-1.5,1.5,3,3,0,360*64)

    arc=get("hdl"); //カレントのエンティティのハンドルを取得 (ここではarcエンティティ)
    arc.fill_mode="on";
    arc.foreground=5;
    arc.data(:,[3 6])=[2 270*64];
    xfarc(-.5,1,.4,.6,0,360*64);
    arc.visible="off";

## 参照

- set
- get
- delete
- xarc
- xarcs
- xfarc
- xfarcs
- graphics_entities