Quad (クラス)
public Quad {inherits LightableSceneObject}
パッケージ: CURL.GRAPHICS.SCENE

x-y 面上にある単純な軸平行の四角形。

次の例では、Quad を使用して単純な四角形を描画しています。
例: Quad を使用した四角形の描画
{import * from CURL.GRAPHICS.SCENE}
{SceneGraphic
    width = 3in,
    height = 3in,
    {Scene
        {Quad -3in, -3in, 6in, 6in}
    }
}

コンストラクタ
default:新規の Quad を作成します。
コンストラクタ public {Quad.default
x:Distance,
y:Distance,
z:Distance = 0m,
width:Distance,
height:Distance,
fill-pattern:FillPattern = {Color.from-rgb .7, .7, .7},
lighting-enabled?:bool = false,
ambient-color:Color = {Palette.get-white},
diffuse-color:Color = {Palette.get-white},
specular-color:Color = {Palette.get-white},
shininess:double = 10,
transformation:Transformation3d = {Transformation3d},
visible?:bool = true,
name:#String = null,
opaque-to-intersection?:bool = true,
...
}

プロパティ
fill-pattern:四辺形に対する色またはテクスチャ。
アクセサ public Quad.fill-pattern:FillPattern
セッター public Quad.fill-pattern:FillPattern
height:y 方向の四辺形の高さ。
アクセサ public Quad.height:Distance
セッター public Quad.height:Distance
width:x 方向の四辺形の幅。
アクセサ public Quad.width:Distance
セッター public Quad.width:Distance
x:四辺形の左下隅にある X の位置 (小さい方の x、y および z)。
アクセサ public Quad.x:Distance
セッター public Quad.x:Distance
y:四辺形の左下隅にある y の位置 (小さい方の x、y および z)。
アクセサ public Quad.y:Distance
セッター public Quad.y:Distance
z:四辺形の左下隅にある z の位置 (小さい方の x、y および z)。
アクセサ public Quad.z:Distance
セッター public Quad.z:Distance
プロパティ 継承 LightableSceneObject: ambient-color, diffuse-color, lighting-enabled?, shininess, specular-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 {Quad.get-local-bounding-box
check-visibility?:bool = false
}:(min-xyz:Distance3d, max-xyz:Distance3d, valid-bounds?:bool)
paint:Renderer3d を使用して self を描画します。
public {Quad.paint
renderer:Renderer3d,
viewport-width:Distance,
viewport-height:Distance
}: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, 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 {Quad.default
x:Distance,
y:Distance,
z:Distance = 0m,
width:Distance,
height:Distance,
fill-pattern:FillPattern = {Color.from-rgb .7, .7, .7},
lighting-enabled?:bool = false,
ambient-color:Color = {Palette.get-white},
diffuse-color:Color = {Palette.get-white},
specular-color:Color = {Palette.get-white},
shininess:double = 10,
transformation:Transformation3d = {Transformation3d},
visible?:bool = true,
name:#String = null,
opaque-to-intersection?:bool = true,
...
}

新規の Quad を作成します。

Quad.xQuad.y, Quad.zQuad.widthQuad.heightQuad.fill-patternLightableSceneObject.lighting-enabled?LightableSceneObject.ambient-colorLightableSceneObject.diffuse-colorLightableSceneObject.specular-color および LightableSceneObject.shininess については、各アクセッサの説明を参照してください。
transformation: Quad の初期の Transformation3d。既定値は実体の変換になります。
visible?: Quad が可視かどうかを指定するブール値。既定値は true になります。
name: Quad の名前を表す String。既定値は null になります。
opaque-to-intersection?: Quad が他のオブジェクトが交点のイベントを受け取るのを終了させるかどうかを指定する bool。既定値は true です。(詳細については SceneObject.opaque-to-intersection? を参照してください)。
...:
各残余引数は、新規に作成されたオブジェクトの EventTarget.add-event-handler メソッドに送信される EventHandler にする必要があります。
変換に関連する残余引数の詳細については、SceneObject.default を参照してください。



プロパティ詳細
fill-pattern (アクセサ)
アクセサ public Quad.fill-pattern:FillPattern
セッター public Quad.fill-pattern:FillPattern

四辺形に対する色またはテクスチャ。



height (アクセサ)
アクセサ public Quad.height:Distance
セッター public Quad.height:Distance

y 方向の四辺形の高さ。



width (アクセサ)
アクセサ public Quad.width:Distance
セッター public Quad.width:Distance

x 方向の四辺形の幅。



x (アクセサ)
アクセサ public Quad.x:Distance
セッター public Quad.x:Distance

四辺形の左下隅にある X の位置 (小さい方の x、y および z)。



y (アクセサ)
アクセサ public Quad.y:Distance
セッター public Quad.y:Distance

四辺形の左下隅にある y の位置 (小さい方の x、y および z)。



z (アクセサ)
アクセサ public Quad.z:Distance
セッター public Quad.z:Distance

四辺形の左下隅にある z の位置 (小さい方の x、y および z)。






メソッド詳細
get-local-bounding-box (メソッド)
public {Quad.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? を参照してください)。


paint (メソッド)
public {Quad.paint
renderer:Renderer3d,
viewport-width:Distance,
viewport-height:Distance
}:void

Renderer3d を使用して self を描画します。

注意事項

このメソッドを使用して SceneObject の変換を修正することはできません。それを修正するには、SceneObject.pre-paint を使用する必要があります。