MATLAB Function Reference    

Light Properties
プロパティの変更

つぎの2つの方法を使って、グラフィックオブジェクトプロパティを設定したり、引用できます。

プロパティのデフォルト値の変更は、デフォルトプロパティ値の設定を参照してください。

Light プロパティの記述

この節では、プロパティ名とそれに設定できる値のタイプを説明します。

BusyAction                   cancel | {queue}

コールバックルーチンの割込みBusyActionプロパティを使って、実行中のコールバックルーチンに割込みを行うイベントの取り扱い方法を制御することができます。実行中のコールバックルーチンがあれば、続いて呼び込まれるコールバックルーチンは、常にそれを中断しようとします。コールバックを実行中のオブジェクトのInterruptibleプロパティがon(デフォルト)に設定されていれば、イベントキューが処理されるつぎの点で割込みが起こります。Interruptibleプロパティがoffならば、(実行中のコールバックをもつオブジェクトの)BusyActionプロパティは、MATLABがイベントを処理する方法を指定します。つぎのような選択があります。

ButtonDownFcn                文字列

このプロパティは、 Light オブジェクトでは使われません。

Children                     ハンドル

空行列。Lightオブジェクトは、子オブジェクトをもちません。

Clipping                     on | off

Clippingは、Light オブジェクトでは使われません。

Color                        ColorSpec

光源のカラー。このプロパティは、Lightオブジェクトから生じる光源のカラーを定義します。3要素の RGB ベクトル、または、MATLAB の既定のカラーの名前として定義してください。詳しくは、ColorSpecを参照してください。

CreateFcn                    文字列

オブジェクト作成中に実行するコールバックルーチン。このプロパティは、MATLABが Light オブジェクトを作成するときに実行するコールバックルーチンを定義します。このプロパティは、Lightオブジェクトのデフォルト値として定義しなければいけません。たとえば、つぎのステートメントのように設定します。

このステートメントは、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内に、コマンドラインから誤って書き込むことや削除することを防ぐために有効です。

HandleVisibilityonのときは、ハンドルは常に見える状態です。

HandleVisibilitycallbackに設定すると、ハンドルは、コールバックルーチンの中から、または、コールバックにより起動される関数からは可視化されますが、コマンドラインから起動される関数の中からは可視化されません。これは、コマンドラインユーザがGUIを保護しながら、コールバックルーチンがオブジェクトのハンドルに完全にアクセスできるようにするために提供されています。

HandleVisibilityoff に設定すると、常にハンドルは視覚不可能になります。これは、コールバックルーチンが、GUI(ユーザがタイプした文字列の評価のような)を傷つける可能性がある関数を呼び込み、その関数の実行中にハンドルを一時的に隠すときに必要です。

ハンドルが子オブジェクトの親のリスト内で視覚不可能のとき、オブジェクトの階層を検索したり、ハンドルのプロパティを確認して、ハンドルを取得する関数は、ハンドル番号を出力しません。これらの関数には、get, findobj, gca, gcf, gco, newplot, cla, clf, closeが含まれます。

ハンドルの視覚状態がcallbackoffを使って制限されているとき、オブジェクトのハンドルは、その親のChildren プロパティには現れません。Figureは、ルートのCurrentFigure プロパティに現れず、オブジェクトは、ルートのCallbackObject プロパティ、または、FigureのCallbackObject プロパティに現れません。そして、Axesは、親オブジェクトのCurrentAxes プロパティに現れません。

ルートのShowHiddenHandlesプロパティをonに設定すると、それらのHandleVisibilityの設定(これは、HandleVisibilityプロパティの値に影響を与えません)に拘わらず、すべてのハンドルを視覚可能にできます。

隠されているハンドル番号も、まだ有効です。オブジェクトのハンドルが分かっていると、そのプロパティを関数setgetで設定し、ハンドルを取り扱う関数に渡すことができます。

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プロパティの設定に依存します。

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 オブジェクトは、このプロパティを使いませんが、setgetを使ってアクセスすることができます。

Visible                      {on} | off

Light オブジェクトの可視化。Lightオブジェクト自身は視覚可能ではありませんが、Patch および Surface オブジェクト上でLight オブジェクトを見ることができます。Visibleoffに設定した場合、光源から生じる光は見えません。照射の機能(Axesオブジェクトの AmbientLightColorプロパティ、Patchおよび Surface オブジェクトの AmbientStrength)プロパティを含む)を可能にするためには、Visibleプロパティが onである Axes オブジェクトに、Lightオブジェクトが少なくとも1つなくてはいけません。

参考:

lighting, material, patch, surface


  light lightangle