156 Commits

Author SHA1 Message Date
Oscar Lorentzon
726e0b72a2 Install manually created typings.
Create a single source of typings by installing
manually created typings with file: prefix.
2016-02-29 17:22:42 +01:00
Oscar Lorentzon
8066b9c52a Use Typings instead of TSD.
Remove deprecated TSD dependency.
Use Typings to install type definitions.
Install rx typings from npm package.
2016-02-29 16:58:56 +01:00
Johan Gyllenspetz
b27de56cce Initial version of RouteComponent 2016-02-09 17:36:44 -08:00
Johan Gyllenspetz
7fe77acb9f Handle errors in image pipelines 2016-02-08 13:51:18 -08:00
Kamil Nikel
20ca0b987d Rename enumerations with PascalCase
Fixes mapillar/mapillary-js#61
2016-02-08 12:12:01 +01:00
Oscar Lorentzon
e5e43efd8c Remove unused prefetcher class. 2016-02-04 17:50:03 +01:00
Oscar Lorentzon
9b31d8325e Comment all edge directions and remove unused. 2016-02-04 17:01:28 +01:00
Kamil Nikel
6f136c7d4b Add EdgeDirection enum details 2016-02-04 16:17:53 +01:00
Oscar Lorentzon
4addaafaa2 Complete mesh caching immediately if not merged.
If node is not merged there exist no mesh so this should not be fetched.
Emit a non populated mesh instance.
2016-02-04 09:08:30 +01:00
Oscar Lorentzon
5805f9e7b2 Indicate if mesh is populated.
Empty meshes can be returned for merged nodes. They will parse
to null. To be able to know that a mesh has been loaded but
was empty the populated bool is added to the mesh interface
and set in the mesh loading. If the mesh is null it falls
back to a non populated mesh with empty vertex and face
arrays.
2016-02-04 08:55:31 +01:00
Oscar Lorentzon
5c0e51a3f8 Delete worthy items from unworthy dict when worthy. 2016-02-04 08:27:25 +01:00
Oscar Lorentzon
d8fae6855a Export bounds interface in geohash typing to avoid any. 2016-02-04 08:12:31 +01:00
Oscar Lorentzon
db01f62645 Calculate required hashes for tile nodes.
When tiles are retrieved the the hashes required for all the
nodes to be worthy are calculated. The value is supplied to
the node.
2016-02-03 17:55:53 +01:00
Oscar Lorentzon
99e47b4f69 Return empty list for sequence edges when not worthy. 2016-02-03 11:47:20 +01:00
Oscar Lorentzon
ae8f5cae7f Calculate perspective to pano edges in graph. 2016-02-03 11:47:19 +01:00
Johan Gyllenspetz
084f34ac21 Add worthy logic 2016-02-02 22:42:04 -08:00
Johan Gyllenspetz
8ed1c934e0 Simplify UI handling and conform to possible 1.0.0 API 2016-02-02 16:04:43 -08:00
Oscar Lorentzon
d0fd5a0413 Return observable to avoid null subscriptions.
Fixes #48

An observable flatMap / selectMany should not return null,
instead it should return an observable with the next
emitted item set to null. Then it is possible to
subscribe. Subscription must handle the possibility of
the next value being null.
2016-02-02 10:15:20 +01:00
Oscar Lorentzon
3cba256995 Edges from worthy to non worthy nodes.
Edges from worthy nodes to non worthy should exist.
2016-02-01 15:55:13 +01:00
Oscar Lorentzon
2e65b87bdc Do no check if mesh exists in loaded property.
Mesh can be null for a merged node if it is in its own
merge connected component with no connections.
2016-01-29 12:15:13 +01:00
Oscar Lorentzon
b8b329901d Ensure that image is loaded before completing stream. 2016-01-27 16:48:23 +01:00
Oscar Lorentzon
005760df8a Merge branch 'rotation-from-compass'
Conflicts:
	src/graph/Node.ts

Remove non merged node return because logic has changed.
2016-01-26 12:06:15 +01:00
Oscar Lorentzon
d42884b648 Discard pano nodes from step and turn edges. 2016-01-25 13:26:31 +01:00
Oscar Lorentzon
5aed1941a9 Compute pano edges for nodes in graph. 2016-01-24 08:57:07 +01:00
Johan Gyllenspetz
e4b34122c8 Tinkering with the idea of having a global immutable Settings struct 2016-01-21 16:25:14 -08:00
Johan Gyllenspetz
a9a75f7bf2 Add url service for getting Images and Meshes 2016-01-21 09:59:39 -08:00
Oscar Lorentzon
5de0dc93a2 Unit test and correct world motion angle calc.
Calculate world motion for motion vector, not direction vector.
2016-01-21 16:45:59 +01:00
Johan Gyllenspetz
9e6e872e75 Add status for actual Image and Mesh loading 2016-01-20 14:03:38 +01:00
Oscar Lorentzon
1789b6b9f1 Panorama getter on node. 2016-01-19 08:34:38 +01:00
Johan Gyllenspetz
83be315025 Make cachedNode a hot observable to disable several loads of meshes and images 2016-01-18 17:47:45 -08:00
Oscar Lorentzon
537b731c9d Disallow adding not cached nodes to trajectory.
State does not handle caching so it should not allow
appending nodes that are not cached regarding mesh,
image and edges.
2016-01-18 14:59:50 +01:00
Johan Gyllenspetz
d14d6c1006 Codingstandard action adding _x for private, x$ for stream 2016-01-17 18:02:27 -08:00
Oscar Lorentzon
e446a3a9fd Remove EdgeConstants namespace. 2016-01-15 10:35:13 +01:00
Oscar Lorentzon
1f8d6c10f9 Rename edge direction enum to EdgeDirection. 2016-01-15 10:16:25 +01:00
Johan Gyllenspetz
92d2163818 Add LoadingService indicating for system when load happens 2016-01-14 21:51:38 -08:00
Oscar Lorentzon
9209984094 Do not fetch mesh when node is not merged. 2016-01-13 16:28:39 +01:00
Oscar Lorentzon
2bc3d83d37 Compute rotation from compass when not merged.
Use orientation to create rotation matrix.
2016-01-13 16:28:38 +01:00
Oscar Lorentzon
f6a51fc016 Mesh interface for typed mesh properties. 2016-01-13 09:03:00 +01:00
Johan Gyllenspetz
8ba9d6b8e3 Make sure that tiles is a Hot observable to avoid multiple tiles fetch 2016-01-12 16:30:40 -08:00
Johan Gyllenspetz
e1a2594b1e Cache mesh in node too 2016-01-12 16:15:39 -08:00
Oscar Lorentzon
83bfe51ca9 Use for..of throughout lib. 2016-01-07 20:58:24 +01:00
Oscar Lorentzon
ddca11975f Use for...of in edge calculator. 2016-01-07 20:49:20 +01:00
Oscar Lorentzon
91202e09bf Sort keys in object literals. 2016-01-07 20:35:17 +01:00
Oscar Lorentzon
1cdab053c0 Remove var keyword usage. 2016-01-07 20:25:38 +01:00
Oscar Lorentzon
535a8f3ef9 Add trailing comma to multi line assignments. 2016-01-07 20:22:39 +01:00
Kamil Nikel
a8eb080fc6 Update most APIs so the JSDoc generates correctly 2016-01-07 17:36:24 +01:00
Johan Gyllenspetz
40201a275e Add user and capturedAt to node structure 2016-01-06 07:10:19 -08:00
Johan Gyllenspetz
4f2b48b17f Move APIv2 to navigator and add experimental moveCloseTo
* Add search/im/close2 to API
* Move APIv2 initialization to Navigator and push it down
* Add experimental moveCloseTo
2016-01-05 16:49:45 -08:00
Johan Gyllenspetz
8d0b401685 Make sure there is a shutdown of the sequence after the first node is received from GraphService 2016-01-04 22:32:56 -08:00
Johan Gyllenspetz
54ed7063e6 Cache edges through a bot not inside the GraphService 2016-01-04 15:12:01 -08:00