MATLAB Function Reference | ![]() ![]() |
Light Properties
つぎの2つの方法を使って、グラフィックオブジェクトプロパティを設定したり、引用できます。
プロパティのデフォルト値の変更は、デフォルトプロパティ値の設定を参照してください。
Light プロパティの記述
この節では、プロパティ名とそれに設定できる値のタイプを説明します。
BusyAction
cancel
| {queue}
コールバックルーチンの割込み。BusyAction
プロパティを使って、実行中のコールバックルーチンに割込みを行うイベントの取り扱い方法を制御することができます。実行中のコールバックルーチンがあれば、続いて呼び込まれるコールバックルーチンは、常にそれを中断しようとします。コールバックを実行中のオブジェクトのInterruptible
プロパティがon
(デフォルト)に設定されていれば、イベントキューが処理されるつぎの点で割込みが起こります。Interruptible
プロパティがoff
ならば、(実行中のコールバックをもつオブジェクトの)BusyAction
プロパティは、MATLABがイベントを処理する方法を指定します。つぎのような選択があります。
cancel
- 2番目のコールバックルーチンを実行しようとするイベントを破棄します。
queue
-
カレントで実行しているコールバックが終了するまで、2番目のコールバックルーチンを実行しようとするイベントを待機させます。
ButtonDownFcn
文字列
このプロパティは、 Light オブジェクトでは使われません。
Children
ハンドル
空行列。Lightオブジェクトは、子オブジェクトをもちません。
Clipping
on
| off
Clipping
は、Light
オブジェクトでは使われません。
Color
ColorSpec
光源のカラー。このプロパティは、Lightオブジェクトから生じる光源のカラーを定義します。3要素の
RGB ベクトル、または、MATLAB
の既定のカラーの名前として定義してください。詳しくは、ColorSpec
を参照してください。
CreateFcn
文字列
オブジェクト作成中に実行するコールバックルーチン。このプロパティは、MATLABが Light オブジェクトを作成するときに実行するコールバックルーチンを定義します。このプロパティは、Lightオブジェクトのデフォルト値として定義しなければいけません。たとえば、つぎのステートメントのように設定します。
set(0,'DefaultLightCreateFcn','set(gcf,''Colormap'',hsv)')
このステートメントは、Light オブジェクト作成時にカレントのFigure
のカラーマップを hsv
に設定します。MATLABは、すべてのLight
プロパティを設定した後に、このルーチンを実行します。既存のLight
オブジェクトにこのプロパティを設定しても、効果はありません。
実行しているオブジェクトの CreateFcn のハンドルは、ルートの CallbackObjectプロパティを通してのみ受け入れられます。これは、gcbo
を使って、引き出せます。
DeleteFcn
文字列
Light のコールバックルーチンの削除。Lightオブジェクトを削除する(たとえば、delete
コマンドの実行やLightオブジェクトを含む
Axes や Figure
オブジェクトを消去する)ときに実行するコールバックルーチン。MATLABは、オブジェクトのプロパティを壊す前に、このルーチンを実行するので、これらの値はコールバックルーチンに対して使用することができます。
実行しているオブジェクトの DeleteFcn のハンドルは、ルートの CallbackObject
プロパティを通してのみ受け入れられます。これは、 gcbo
を使って引き出せます。
HandleVisibility
{on}
| callback | off
コマンドラインユーザとGUIによるオブジェクトのハンドルへのアクセスの制御。 。このプロパティは、オブジェクトのハンドルが、その子オブジェクトの親のリスト内で視覚可能であるときを決定します。このプロパティは、(ダイアログボックスのような)ユーザインタフェースデバイスのみを含んでいるFigure内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。
HandleVisibility
が on
のときは、ハンドルは常に見える状態です。
HandleVisibility
をcallback
に設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。
HandleVisibility
を off
に設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUI(ユーザがタイプした文字列の評価のような)を傷つける可能性がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。
ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認して、ハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get
, findobj
, gca
, gcf
, gco
, newplot
, cla
, clf
, close
が含まれます。
ハンドルの視覚状態がcallback
やoff
を使って制限されているとき、オブジェクトのハンドルは、その親のChildren
プロパティには現れません。Figureは、ルートのCurrentFigure
プロパティに現れず、オブジェクトは、ルートのCallbackObject
プロパティ、または、FigureのCallbackObject
プロパティに現れません。そして、Axesは、親オブジェクトのCurrentAxes
プロパティに現れません。
ルートのShowHiddenHandles
プロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。
隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分かっていると、そのプロパティを関数set
とget
で設定し、ハンドルを取り扱う関数に渡すことができます。
HitTest {on}
| off
このプロパティは、Light オブジェクトでは使われません。
Interruptible
{on}
| off
コールバックルーチンの中断モード。DeleteFcn
プロパティに対して定義された
Light オブジェクトのコールバックルーチンは、Interruptible
プロパティによって影響を受けません。
Parent
親Axesのハンドル
Light オブジェクトの親オブジェクト。Lightオブジェクトの親オブジェクトである、Axes オブジェクトのハンドル番号。このプロパティを新しいAxesのハンドル番号に変更することにより、Light オブジェクトを他のAxes オブジェクトに移動することができます。
Position
[x,y,z]
Axesデータ単位
Light オブジェクトの位置。このプロパティは、Lightオブジェクトの位置を定義するベクトルを指定します。ベクトルは、x,
y, z座標の原点から定義されます。Light
オブジェクトの配置は、Style
プロパティの設定に依存します。
Style
プロパティをlocal
に設定すると、Position
は
Light
オブジェクトの実際の位置を指定します(全方向に設定した位置から放射する)。Style
プロパティをinfinite
に設定すると、Position
は光源が平行光線を発する方向を指定します。
Selected
on
| off
このプロパティは、Light オブジェクトでは使われません。
SelectionHighlight
{on}
| off
このプロパティは、Light オブジェクトでは使われません。
Style
{infinite}
| local
平行、または、放射光源。このプロパティは、光線が平行になるように無限大にLight
オブジェクトを設定するか、または、光線がすべての方向に放射するようにPosition
プロパティで指定される位置に設定するかを決定します。Position
プロパティを参照してください。
Tag
文字列
ユーザ指定のオブジェクトのラベル。Tag
プロパティは、ユーザ指定のラベルをもつグラフィックスオブジェクトを識別する方法を提供します。これはオブジェクトのハンドル番号をグローバル変数として定義したり、コールバックルーチン間で引数として渡すことを必要とする、対話型のグラフィックスプログラムの構築に役立ちます。任意の文字列でTag
を定義できます。
Type
文字列(参照のみ)
グラフィックスオブジェクトのタイプ。このプロパティは、グラフィックスオブジェクトのクラスを識別する文字列を含みます。Lightオブジェクトに対しては、Type
は常に
'light
'です。
UIContextMenu
uicontextmenu
オブジェクトのハンドル
このプロパティは、Light オブジェクトでは使われません。
UserData
matrix
ユーザ指定データ。このプロパティは、Lightオブジェクトに関連付けたい任意のデータです。Light
オブジェクトは、このプロパティを使いませんが、set
や get
を使ってアクセスすることができます。
Visible
{on}
| off
Light オブジェクトの可視化。Lightオブジェクト自身は視覚可能ではありませんが、Patch
および Surface オブジェクト上でLight
オブジェクトを見ることができます。Visible
を off
に設定した場合、光源から生じる光は見えません。照射の機能(Axesオブジェクトの
AmbientLightColor
プロパティ、Patchおよび
Surface オブジェクトの AmbientStrength
)プロパティを含む)を可能にするためには、Visible
プロパティが
on
である Axes オブジェクトに、Lightオブジェクトが少なくとも1つなくてはいけません。
参考:
lighting
, material
, patch
, surface
![]() |
light | lightangle | ![]() |