🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

cesium

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cesium

1.24.0
Rubygems
Version published
Maintainers
1
Created
Source

= Cesium

WebGL Virtual Globe and Map Engine

{Gem Version}[http://badge.fury.io/rb/cesium]

= Requirements

In Gemfile file add line:

gem "cesium"

Run the bundle command to install it.

This gem relies on 'requirejs-rails' gem.

Make sure you follow the instruction from: https://github.com/jwhitley/requirejs-rails and you understand the concept of RequireJS: http://requirejs.org

Now you are ready to use this gem :-)

= Examples

== Example 1: For the convenience there is prepared route that will show you the globe. All you need to do is to modify your route.rb and add: get 'cesium', to: 'cesium#index' Now you can see the WebGL globe by visiting: http://localhost:3000/cesium

== Example 2: Usage of this gem inside your own Rails application.

  • I presume you have a canvas tag in your view with id "globe":

  • You should have some CSS to define canvas size. Here is an example that shows how to display the globe and cover 100% width & height of the wrapper html, body { height: 100%; margin: 0; padding: 0; overflow: hidden; }

    .fullSize { width: 100%; height: 100%; }

  • In the javascript module that is related to the view Here I use application.js (coffee):

    require [ 'jquery' 'Cesium' ], ($, Cesium) ->

    $ ->

     canvas = $('#globe')[0]  # change this to match your needs!!!
    
     @scene = new Cesium.Scene canvas
    
     primitives = @scene.getPrimitives()
    
     bing = new Cesium.BingMapsImageryProvider(
       url: 'http://dev.virtualearth.net'
       mapStyle: Cesium.BingMapsStyle.AERIAL
       proxy: if Cesium.FeatureDetection.supportsCrossOriginImagery() then undefined else new Cesium.DefaultProxy('/proxy/')
     )
    
     terrainProvider = new Cesium.CesiumTerrainProvider(
       url: 'http://cesium.agi.com/smallterrain'
     )
    
     ellipsoid = Cesium.Ellipsoid.WGS84
     centralBody = new Cesium.CentralBody(ellipsoid)
     centralBody.getImageryLayers().addImageryProvider(bing)
     centralBody.terrainProvider = terrainProvider
     primitives.setCentralBody(centralBody)
    
     new Cesium.SceneTransitioner(@scene, ellipsoid)
    
     ##################################################################
     #   INSERT CODE HERE to create graphics primitives in the scene.
     ##################################################################
    
     animate = =>
       # INSERT CODE HERE to update primitives based on changes to animation time, camera parameters, etc.
    
     tick = =>
       @scene.initializeFrame()
       animate()
       @scene.render()
       Cesium.requestAnimationFrame(tick)
    
     tick()
    
     canvas.oncontextmenu = =>
       false
    
     onResize = =>
       width = canvas.clientWidth
       height = canvas.clientHeight
       return if canvas.width == width and canvas.height == height
       canvas.width = width
       canvas.height = height
       @scene.getCamera().frustum.aspectRatio = width / height
    
    
     $(window).on('resize', onResize)
     onResize()
    

= Contribution

== To write new feature or fix a bug:

We follow git-flow branching model which means:

  • "master" branch should be more less stable
  • "develop" branch is the place to integrate features & bug fixes

More about git-flow: https://github.com/nvie/gitflow

  • Fork it
  • Clone it
  • Check out "develop" branch
  • Create locally feature/fix branch
  • Write code & test it
  • Merge it back into local "develop" branch as one commit
  • Test it!
  • Send "pull request" against "develop" branch on github

== To report an issue/bug:

== Maintainers

== How to upgrade to latest version of the Cesium

Clone specific version of the Cesium (-b VERSION_NUM):

git clone git@github.com:AnalyticalGraphicsInc/cesium.git -b 1.3 cd cesium ./Tools/apache-ant-[VERSION]/bin/ant clean ./Tools/apache-ant-[VERSION]/bin/ant combine ./Tools/apache-ant-[VERSION]/bin/ant buildApps ./Tools/apache-ant-[VERSION]/bin/ant runServer

After executing all of the build steps:

  • copy all files from Source folder
  • copy all files from Build/CesiumUnminified/Workers but not: „cesiumWorkerBootstrapper.js” and overwrite existing ones
  • cesiumWorkerBootstrapper.js should be copied from Source folder
  • check which worker files are NEW and add them to the lib/ENGINE_NAME/engine.rb

= License

  • Rails' Engine & all code which is part of this gem AND not part of the Cesium WebGL Globe: MIT License.
  • All of the code that is part of Cesium WebGL: Apache License, Version 2.0

Please check the Cesium website for details: http://cesium.agi.com https://raw.github.com/AnalyticalGraphicsInc/cesium/master/LICENSE.md

FAQs

Package last updated on 13 Aug 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts