Skip to content

2017_05_03_ _JGA_iTowns2_presentation

Eric Boix edited this page May 5, 2017 · 2 revisions

General diagram

Vocabulary:

  • Tile: a 3D bounding box (holding some information)

Architecture general presentation

  • Building_server is based

  • Two stages (based on two components) concerning the server side: pre-processing / server per-se

  • Pre-processing part of the server:

    • Configuration file (conf.yml) specifies how to build the tree of bounding boxes
  • Description of client/server dialog:

    • client request: getcity
    • server response: a tileset.json file descibing the tiles (build out of DB data the server)
    • client request: gettile?id=1 (requests some tile)
    • server response: 1.building...

iTwons2 general presentation

Structure

  • Based on Three.js
  • Used tools:
    • npm (package manager for the dependencies),
    • webpack (for packaging),
    • babel (for ES6 compliance)

Architecture of the client side(based on this PR soon to be accepted)

  • index.html (taken a gateway)

    • will describe layers e.g.
      • protocol:WMS
      • id: ...
      • culling: some_function()
      • initialization: another_funciton()
      • url:
    • such a layer is added to the scene (of the client):
      • a scene accepts various types of providers e.g. 3Dtiles is a provider (example
  • Adding a layer object requires to define the above described attributes

  • There can be hierarchies of layers i.e. a layer that depends on another one

Recommended version

  • GGE: which version/branch should we use in order to stick with the herd (i.e. avoid rebase constraints) ?
  • GGE: first need is to be able to add time-competing versions of the city based on a 3DCityDB server.
    • JGA: using the 3Dtyles branch in order to develop the time slider is probably not the way to go since there is no time support within 3Dtiles. Nevertheless start from the 3Dtiles branch and modify it.
  • GGE: second need concerns working on workspaces (competing scenarios that can be imagined/selected as git branches graphic rendering) with loading/discard parts of scenes.
    • JGA: one must know the "format" of the data. Will it use 3Dtiles ? When yes then use the 3DTiles branch...
  • GGE: third need consists in adding contextual text within the scene and attached to some elements of the scene.
    • JGA: ditto. Start working on the server side. When you will be done the iTowns2 3DTiles refactoring will be finished.