Beispiel #1
0
    def test_camera_basics(self):
        widget = cesiumpy.CesiumWidget(divid='cesiumwidget')

        c = cesiumpy.Camera(widget)
        self.assertEqual(c.script, '')

        c.flyTo((1, 2, 3))
        exp = '{destination : Cesium.Cartesian3.fromDegrees(1.0, 2.0, 3.0)}'
        self.assertEqual(c.script, exp)

        c.flyTo((4, 5, 6))
        exp = '{destination : Cesium.Cartesian3.fromDegrees(4.0, 5.0, 6.0)}'
        self.assertEqual(c.script, exp)

        c.flyTo((4, 5, 6, 7))
        exp = '{destination : Cesium.Rectangle.fromDegrees(4.0, 5.0, 6.0, 7.0)}'
        self.assertEqual(c.script, exp)

        msg = "x must be longitude, between -180 to 180"
        with nose.tools.assert_raises_regexp(ValueError, msg):
            c.flyTo((200, 2, 3))

        msg = "y must be latitude, between -90 to 90"
        with nose.tools.assert_raises_regexp(ValueError, msg):
            c.flyTo((1, 200, 3))

        msg = "The 'destination' trait of a Camera instance must be a _Cartesian or None"
        with nose.tools.assert_raises_regexp(traitlets.TraitError, msg):
            c.flyTo(1)
Beispiel #2
0
    def test_camera_repr(self):
        widget = cesiumpy.CesiumWidget(divid='cesiumwidget')

        c = cesiumpy.Camera(widget)
        self.assertEqual(repr(c), "Camera(destination=default)")

        c.flyTo((-130, 40, 10000))
        self.assertEqual(
            repr(c),
            "Camera(destination=Cartesian3.fromDegrees(-130.0, 40.0, 10000.0))"
        )
Beispiel #3
0
    def test_widget_props(self):
        widget = cesiumpy.CesiumWidget(divid='namechange',
                                       height='50%',
                                       width='70%')
        result = widget.to_html()
        exp = """<script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css" type="text/css">
<div id="namechange" style="width:70%; height:50%;"><div>
<script type="text/javascript">
  var widget = new Cesium.CesiumWidget("namechange");
</script>"""
        self.assertEqual(result, exp)
Beispiel #4
0
    def test_widget(self):
        widget = cesiumpy.CesiumWidget(divid='cesiumwidget')
        widget.camera.flyTo((-117.16, 32.71, 15000.0))
        result = widget.to_html()

        exp = """<script src="https://cesiumjs.org/Cesium/Build/Cesium/Cesium.js"></script>
<link rel="stylesheet" href="https://cesiumjs.org/Cesium/Build/Cesium/Widgets/widgets.css" type="text/css">
<div id="cesiumwidget" style="width:100%; height:100%;"><div>
<script type="text/javascript">
  var widget = new Cesium.CesiumWidget("cesiumwidget");
  widget.camera.flyTo({destination : Cesium.Cartesian3.fromDegrees(-117.16, 32.71, 15000.0)});
</script>"""
        self.assertEqual(result, exp)
Beispiel #5
0
import cesiumpy

v = cesiumpy.CesiumWidget()

v = cesiumpy.Viewer()
b = cesiumpy.Box(dimensions=(40e4, 30e4, 50e4), material=cesiumpy.color.RED, position=[-120, 40, 0])
v.entities.add(b)#print
Beispiel #6
0
 def test_random_divid(self):
     widget = cesiumpy.CesiumWidget()
     self.assertIsInstance(widget.div.divid, six.string_types)
Beispiel #7
0
 def setUp(self):
     self.widget = cesiumpy.CesiumWidget(divid='widgettest')