import Scene from "./Scene"; import Entity from "./Entity"; import { Vector3 } from "./GeoMath"; import GeoPoint from "./GeoPoint"; import GeoRegion from "./GeoRegion"; import Orientation from "./Orientation"; import AltitudeMode from "./AltitudeMode"; /** * モデルエンティティ */ declare class ModelEntity extends Entity { private _position; private _matrix; private _scale; private _primitive_producer; /** 座標変換モード */ private _transform_mode; /** * @param scene 所属可能シーン * @param opts オプション集合 * * @throws Error ModelContainer からモデルが見つからなかった */ constructor(scene: Scene, opts?: ModelEntity.Option); getPrimitiveProducer(): ModelEntity.PrimitiveProducer | undefined; protected onChangeAltitudeMode(prev_mode: AltitudeMode): void; getBounds(): GeoRegion; /** * アニメーションの BindingBlock を初期化 */ private _setupAnimationBindingBlock; /** * position, orientation, scale を設定 * * @param json 生成情報 */ private _setupTransform; /** * モデルを設定 * * @param json 生成情報 * @param refs 参照辞書 * * @throws Error */ private _setupModelObject; /** * モデル原点位置を設定 * * @param value モデル原点の位置 */ setPosition(value: GeoPoint): void; /** * モデルの向きを設定 * * @param value モデルの向き */ setOrientation(value: Orientation): void; /** * モデルのスケールを設定 * * @param value モデルのスケール */ setScale(value: Vector3): void; /** * モデルの回転を設定 * * 今のところアニメーション専用 * @param value 回転行列 */ private _setRotation; private _setQuaternion; /** * モデルの行列を直接設定 */ private setMatrix; /** * モデル位置の標高を取得 * * @return 標高値 */ private _getElevation; } declare namespace ModelEntity { /** ModelEntity Option */ interface Option extends Entity.Option { /** * 生成情報 */ json?: ModelEntity.Json; } interface Json extends Entity.Json { transform: TransformJson; ref_model: string; index?: number | string; } interface TransformJson { position: [x: number, y: number, z: number]; heading: number; tilt: number; roll: number; scale: number | [x: number, y: number, z: number]; } } export default ModelEntity; //# sourceMappingURL=ModelEntity.d.ts.map