mirror of
https://github.com/mapillary/mapillary-js.git
synced 2026-01-18 13:56:53 +00:00
104 lines
3.1 KiB
TypeScript
104 lines
3.1 KiB
TypeScript
import { Image } from "../../src/graph/Image";
|
|
import { CoreImageEnt } from "../../src/api/ents/CoreImageEnt";
|
|
import { SpatialImageEnt } from "../../src/api/ents/SpatialImageEnt";
|
|
import { LngLatAlt } from "../../src/api/interfaces/LngLatAlt";
|
|
import { PotentialEdge } from "../../src/graph/edge/interfaces/PotentialEdge";
|
|
import { CameraType } from "../../src/geo/interfaces/CameraType";
|
|
|
|
export class EdgeCalculatorHelper {
|
|
public createPotentialEdge(key: string = "pkey"): PotentialEdge {
|
|
return {
|
|
capturedAt: 0,
|
|
directionChange: 0,
|
|
distance: 0,
|
|
spherical: false,
|
|
id: key,
|
|
motionChange: 0,
|
|
rotation: 0,
|
|
sameMergeCC: false,
|
|
sameSequence: false,
|
|
sameUser: false,
|
|
sequenceId: "skey",
|
|
verticalDirectionChange: 0,
|
|
verticalMotion: 0,
|
|
worldMotionAzimuth: 0,
|
|
};
|
|
}
|
|
|
|
public createCoreImage(
|
|
key: string,
|
|
lngLatAlt: LngLatAlt,
|
|
sequenceKey: string): Image {
|
|
|
|
let coreImage: CoreImageEnt = {
|
|
computed_geometry: { lat: lngLatAlt.lat, lng: lngLatAlt.lng },
|
|
id: key,
|
|
geometry: { lat: lngLatAlt.lat, lng: lngLatAlt.lng },
|
|
sequence: { id: sequenceKey },
|
|
};
|
|
|
|
return new Image(coreImage);
|
|
}
|
|
|
|
public createCompleteImage(
|
|
key: string = "key",
|
|
lngLatAlt: LngLatAlt = { alt: 0, lat: 0, lng: 0 },
|
|
sequenceKey: string = "skey",
|
|
r: number[] = [0, 0, 0],
|
|
mergeCC: string = "2",
|
|
cameraType: CameraType = "perspective",
|
|
capturedAt: number = 0): Image {
|
|
|
|
let image: Image = this.createCoreImage(key, lngLatAlt, sequenceKey);
|
|
let spatialImage: SpatialImageEnt = {
|
|
altitude: 0,
|
|
atomic_scale: 0,
|
|
computed_rotation: r,
|
|
compass_angle: 0,
|
|
computed_altitude: lngLatAlt.alt,
|
|
camera_parameters: cameraType === "spherical" ?
|
|
[] : [1, 0, 0],
|
|
camera_type: cameraType,
|
|
captured_at: capturedAt,
|
|
computed_compass_angle: 0,
|
|
cluster: {
|
|
id: "ckey",
|
|
url: "ckey-url",
|
|
},
|
|
creator: { id: "ukey", username: "uname" },
|
|
exif_orientation: 0,
|
|
height: 0,
|
|
id: "key",
|
|
merge_id: mergeCC,
|
|
mesh: { id: "mesh-id", url: "mesh-url" },
|
|
private: false,
|
|
owner: { id: null },
|
|
thumb: { id: "thumb-id", url: "thumb-url" },
|
|
width: 0,
|
|
};
|
|
|
|
image.makeComplete(spatialImage);
|
|
|
|
return image;
|
|
}
|
|
|
|
public createDefaultImage(spherical: boolean = false): Image {
|
|
let key: string = "key";
|
|
let sequenceKey: string = "skey";
|
|
let lngLatAlt: LngLatAlt = { alt: 0, lat: 0, lng: 0 };
|
|
|
|
let cameraType: CameraType = spherical ?
|
|
"spherical" :
|
|
null;
|
|
|
|
return this.createCompleteImage(
|
|
key,
|
|
lngLatAlt,
|
|
sequenceKey,
|
|
[0, 0, 0],
|
|
"2",
|
|
cameraType,
|
|
0);
|
|
}
|
|
}
|