SceneLight (クラス)
public abstract SceneLight {inherits SceneObject}
パッケージ: CURL.GRAPHICS.SCENE
直接継承しているサブクラス: PointLight, SpotLight, DirectionalLight

シーンのすべての照明の抽象基本 クラス。照明の使用例については、DirectionalLight を参照してください。


コンストラクタ
default:新規の SceneLight を作成します。SceneLight のインスタンスを作成することはできないが、具象サブクラスでは、construct-super を使用してこのコンストラクタを呼び出すことができます。
コンストラクタ public {SceneLight.default
diffuse-color:Color = {Palette.get-white},
specular-color:Color = {Palette.get-white},
enabled?:bool = true,
eye-space?:bool = false,
transformation:Transformation3d = {Transformation3d},
visible?:bool = false,
name:#String = null,
...
}

プロパティ
diffuse-color:照明の拡散色。
アクセサ public SceneLight.diffuse-color:Color
セッター public SceneLight.diffuse-color:Color
enabled?:ライトがオンまたはオフのいずれであるかを示すブール値。
アクセサ public SceneLight.enabled?:bool
セッター public SceneLight.enabled?:bool
eye-space?:ライトの位置がカメラ内または世界座標内のいずれにあるかを示すブール値。
アクセサ public SceneLight.eye-space?:bool
セッター public SceneLight.eye-space?:bool
specular-color:照明の鏡面色。
アクセサ public SceneLight.specular-color:Color
セッター public SceneLight.specular-color:Color
プロパティ 継承 SceneObject: bounding-box-caching-enabled?, bounding-box-or-object-visible?, cached-bounding-box-dirty?, controller, local-bounding-box-color, local-bounding-box-line-width, local-bounding-box-visible?, name, opaque-to-intersection?, parent, parent-bounding-box-color, parent-bounding-box-line-width, parent-bounding-box-visible?, scene, transformation, visible?, world-bounding-box-color, world-bounding-box-line-width, world-bounding-box-visible?, world-position, world-transformation
プロパティ 継承 EventTarget: event-handlers

メソッド
get-local-bounding-box:SceneObject の軸平行である 3 次元のローカル境界。SceneObject のサブクラスにこのメソッドをオーバーライドする必要があります。
public {SceneLight.get-local-bounding-box
check-visibility?:bool = false
}:(min-xyz:Distance3d, max-xyz:Distance3d, valid-bounds?:bool)
shine:照明のプロパティを設定するために Scene から呼び出すメソッド。
public abstract {SceneLight.shine renderer:Renderer3d}:void
メソッド 継承 SceneObject: get-cached-local-bounding-box, get-parent-bounding-box, get-transformed-bounding-box, get-world-bounding-box, intersect-box, intersect-line, intersect-line-segment, intersect-ray, intersect-sphere, ndc-point-to-ray, paint, point-to-ndc-point, point-to-viewport-point, pre-paint, rotate, scale, set-orientation-and-position, translate, viewport-point-to-ray
メソッド 継承 EventTarget: accepts-event-class?, add-event-handler, event-handler-present?, handle-event, remove-event-handler, verify-event
メソッド 継承 BasicEventTarget: enqueue-event
メソッド 継承 Object: object-describe, object-describe-for-debugging, object-serialize



コンストラクタ詳細
default (コンストラクタ)
public {SceneLight.default
diffuse-color:Color = {Palette.get-white},
specular-color:Color = {Palette.get-white},
enabled?:bool = true,
eye-space?:bool = false,
transformation:Transformation3d = {Transformation3d},
visible?:bool = false,
name:#String = null,
...
}

新規の SceneLight を作成します。SceneLight のインスタンスを作成することはできないが、具象サブクラスでは、construct-super を使用してこのコンストラクタを呼び出すことができます。

SceneLight.diffuse-colorSceneLight.specular-colorSceneLight.enabled? および SceneLight.eye-space? については、個々のアクセッサのドキュメントを参照してください。
transformation: SceneLight の初期の Transformation3d。既定値は実体の変換になります。
visible?: SceneLight が可視であるかどうかを指定するブール値。SceneLight は通常、描画されないのでこのパラメータが普通影響を与えることはありません。
name: SceneLight の名前を表す String。既定値は null になります。
...:
各残余引数は、新規に作成されたオブジェクトの EventTarget.add-event-handler メソッドに送信される EventHandler にする必要があります。
変換に関連する残余引数の詳細については、SceneObject.default を参照してください。



プロパティ詳細
diffuse-color (アクセサ)
アクセサ public SceneLight.diffuse-color:Color
セッター public SceneLight.diffuse-color:Color

照明の拡散色。



enabled? (アクセサ)
アクセサ public SceneLight.enabled?:bool
セッター public SceneLight.enabled?:bool

ライトがオンまたはオフのいずれであるかを示すブール値。



eye-space? (アクセサ)
アクセサ public SceneLight.eye-space?:bool
セッター public SceneLight.eye-space?:bool

ライトの位置がカメラ内または世界座標内のいずれにあるかを示すブール値。



specular-color (アクセサ)
アクセサ public SceneLight.specular-color:Color
セッター public SceneLight.specular-color:Color

照明の鏡面色。






メソッド詳細
get-local-bounding-box (メソッド)
public {SceneLight.get-local-bounding-box
check-visibility?:bool = false
}:(min-xyz:Distance3d, max-xyz:Distance3d, valid-bounds?:bool)

SceneObject の軸平行である 3 次元のローカル境界。SceneObject のサブクラスにこのメソッドをオーバーライドする必要があります。

check-visibility?: このメソッドの呼び出し時にオブジェクトの可視性またはその境界ボックスがチェックされるかどうかを指定する boolcheck-visibility?trueSceneObject が不可視である場合は、返される境界は無効になります。既定値は false になります。

戻り値

min-xyz, max-xyz :境界ボックスを示す 2 つの Distance3d
valid-bounds? :返された境界が有効であるかどうかを示す bool

オーバーライド

SceneObject が不可視である場合は SceneObject の可視性を常時チェックし、無効な境界を返す必要があります。(SceneObject.bounding-box-or-object-visible? を参照してください)。


shine (メソッド)
public abstract {SceneLight.shine renderer:Renderer3d}:void

照明のプロパティを設定するために Scene から呼び出すメソッド。