import CloudApi from "./CloudApi"; import GeoPoint from "../GeoPoint"; import SceneLoader from "../SceneLoader"; /** * データセットを表現する抽象クラス */ declare class AbstractDataset { private _api; private _id; private _owner_id; private _name; private _description; private _created_at; private _updated_at; /** * @param api */ constructor(api: CloudApi); /** * データセットのidを取得 */ getId(): string; /** * オーナーのidを取得 */ getOwnerId(): string; /** * 名前を取得 */ getName(): string; /** * 説明を取得 */ getDescription(): string; /** * 作成日時を取得 */ getCreatedAt(): Date; /** * 更新日時を取得 */ getUpdatedAt(): Date; /** * @param json サーバから返却されたjson */ protected _restoreFromJson(json: AbstractDataset.Json): void; } declare namespace AbstractDataset { interface Json { id: string; owner_id: string; name: string; description: string; created_at: Date; updated_at: Date; } interface Count { /** * データセット数 */ count: number; } } /** * データセットを表現するクラス */ declare class Dataset extends AbstractDataset { /** * @param api */ private constructor(); protected _restoreFromJson(json: Dataset.Json): void; } declare namespace Dataset { interface Json extends AbstractDataset.Json { } interface Count extends AbstractDataset.Count { } } /** * 3Dデータセットを表現するクラス */ declare class Dataset3D extends AbstractDataset { private _url; private _scene_id; private _path; private _srid; private _origin; private _src_file_type; private _dst_file_type; private _extensions; /** * @param api */ private constructor(); /** * 原点位置 */ getOrigin(): GeoPoint; /** * モデルが公開されているURL */ getUrl(): string; /** * シーンID */ getSceneId(): string; /** * Path */ getPath(): string; /** * SRID */ getSRID(): string; /** * ソースファイルの形式 */ getSrcFileType(): string; /** * 変換後ファイルの形式 */ getDstFileType(): string; /** * 拡張指定 */ getExtensions(): object; protected _restoreFromJson(json: Dataset3D.Json): void; } declare namespace Dataset3D { interface RequestJson extends AbstractDataset.Json { /** * glTFファイルのパスを指定します(アップロードする際はディレクトリを指定するため、ディレクトリルートからのglTFファイルへのパスを指定します) */ path: string; /** * 現在は4326(WGS 84)を指定します */ srid: string; /** * 経度 */ x: number; /** * 緯度 */ y: number; /** * 高さ */ z: number; /** * アップロードするファイル種類 ("glTF"等) を指定します */ src_file_type: string; /** * "glTF"を指定します */ dst_file_type: string; /** * 拡張指定 */ extensions: object; } interface Json extends RequestJson { /** * データのURL */ url: string; /** * シーンID */ scene_id: string; } interface UploadFileInfo { /** * ファイル名 */ filename: string; /** * ファイルタイプ */ content_type: string; } interface UploadUrlInfo extends UploadFileInfo { /** * URL */ url: string; } interface Count extends AbstractDataset.Count { } } /** * 点群データセットを表現するクラス */ declare class PointCloudDataset extends AbstractDataset { private _url?; private _bounding_box?; private _content_root?; private _format?; /** * @param api */ constructor(api: CloudApi); /** * 点群ファイルが公開されているURLを取得 */ getUrl(): string | undefined; /** * 点群のバウンディングボックスを取得 */ getBoundingBox(): GeoJson.BBox3d | undefined; /** * 1レベルに1ボックスしか存在しないボックスの中で最も高いレベルのボックス。 * (点群に含まれる全ての点を包含するボックスの中で最も高いレベルのボックス) */ getContentRoot(): string | undefined; /** * フォーマット(現在はrawのみ対応) */ getFormat(): string | undefined; /** * @param json サーバから返却されたJson */ protected _restoreFromJson(json: PointCloudDataset.Json): void; } declare namespace PointCloudDataset { interface Json extends AbstractDataset.Json { url?: string; fileinfo: PointCloudDataset.FileInfo; } interface FileInfo { bbox: GeoJson.BBox; content_root: [level: number, x: number, y: number, z: number]; format: string; } interface Count extends AbstractDataset.Count { } } declare namespace GeoJson { function isBBox3d(arg: any): arg is BBox3d; type BBox2d = [ minLng: number, minLat: number, maxLng: number, maxLat: number ]; type BBox3d = [ minLng: number, minLat: number, minAlt: number, maxLng: number, maxLat: number, maxAlt: number ]; type BBox = BBox2d | BBox3d; } /** * シーンを表現するクラス */ declare class Scene extends AbstractDataset { private _x; private _y; private _z; /** * @param api */ private constructor(); /** * @param json サーバから返却されたJson */ protected _restoreFromJson(json: Scene.Json): void; } declare namespace Scene { interface Json extends AbstractDataset.Json { x: number; y: number; z: number; } interface FileJson { id: number; scene_file: SceneLoader.SceneJson; } } export { AbstractDataset, Dataset, Dataset3D, PointCloudDataset, Scene }; //# sourceMappingURL=CloudApiModel.d.ts.map