import { Matrix, Vector2 } from "./GeoMath"; import Ray from "./Ray"; /** * 視点を表現するカメラ * * 視点を表現するカメラである。 * インスタンスは {@link Viewer.camera} から得ることができる。 * */ declare class Camera { /** * カメラの画角 (Degrees) * @defaultValue 46 */ fov: number; /** * 近接平面距離 (Meters) * @defaultValue 1 */ near: number; /** * 遠方平面距離 (Meters) * @defaultValue 1000 */ far: number; /** * 視点空間から GOCS への変換行列 * @defaultValue 恒等行列 */ view_to_gocs: Matrix; /** * 変換行列 canvas_to_view を取得 * * キャンバス座標系から視点座標系へ座標を変換するための変換行列を取得する。 * * 結果は omat に設定するが、omat を省略した場合は新規に生成した行列オブジェクトを使用する。 * * キャンバスの幅または高さが 0 のときは結果は不定値となる。 * * @param omat 結果を設定する行列オブジェクト * @return omat または新規に生成した行列 */ getCanvasToView(omat?: Matrix): Matrix; /** * 変換行列 canvas_to_gocs を取得 * キャンバス座標系から地心座標系 (GOCS) へ座標を変換するための変換行列を取得する。 * * 結果は omat に設定するが、omat を省略した場合は新規に生成した行列オブジェクトを使用する。 * * キャンバスの幅または高さが 0 のときは結果は不定値となる。 * * @param omat 結果を設定する行列オブジェクト * @return omat または新規に生成した行列 */ getCanvasToGocs(omat?: Matrix): Matrix; /** * 変換行列 view_to_canvas を取得 * * 視点座標系からキャンバス座標系へ座標を変換するための変換行列を取得する。 * 結果は omat に設定するが、omat を省略した場合は新規に生成した行列オブジェクトを使用する。 * キャンバスの幅または高さが 0 のときは結果は不定値となる。 * * @param omat 結果を設定する行列オブジェクト * @return omat または新規に生成した行列 */ getViewToCanvas(omat: Matrix): Matrix; /** * キャンバス座標に対応するレイを取得 * * キャンバス上の cpos で示した点に対応するレイを取得する。 * 始点は近接平面上に置き、方向は長さ 1 に正規化される。 * 返されるレイの座標系は GOCS である。 * * @param cpos キャンバス上の位置 * @param oray 結果を設定する Ray オブジェクト * @return oray または新規に生成した Ray */ getCanvasRay(cpos: Vector2, oray?: Ray): Ray; private static readonly _temp_mat; } declare namespace Camera { } export default Camera; //# sourceMappingURL=Camera.d.ts.map