Placce a Geometry Greater than 180 Degs

1. A concise explanation of the problem you're experiencing.
I am trying to draw a geometry larger than 180 degrees. Instead, the geometries don't go that far. I would expect the purple and alice blue arrows to cross. But instead they stop short of intersection. Is this possible with any geometry type?

Additionally, if you put in a value of 180 it errors.

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.

var viewer = new Cesium.Viewer('cesiumContainer');

var purpleArrow = viewer.entities.add({
    name : 'Purple straight arrow at height',
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([0, 0, 0,
                                                               181, 0, 0]),
        width : 10,
        followSurface : true,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.PURPLE)
    }
});

var aliceBlueArrow = viewer.entities.add({
    name : 'Purple straight arrow at height',
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([0, 0, 0,
                                                               0, 181, 0]),
        width : 10,
        followSurface : true,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.ALICEBLUE)
    }
});

var redArrow = viewer.entities.add({
    name : 'Purple straight arrow at height',
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([0, 0, 0,
                                                               179, 0, 0]),
        width : 10,
        followSurface : true,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.RED)
    }
});

var blueArrow = viewer.entities.add({
    name : 'Purple straight arrow at height',
    polyline : {
        positions : Cesium.Cartesian3.fromDegreesArrayHeights([0, 0, 0,
                                                               0, 179, 0]),
        width : 10,
        followSurface : true,
        material : new Cesium.PolylineArrowMaterialProperty(Cesium.Color.BLUE)
    }
});

viewer.zoomTo(viewer.entities);

3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

I want to draw a line / polygon that encompasses more than 180 degrees.

4. The Cesium version you're using, your operating system and browser.
Latest, Windows 10, Chrome / FF

Thanks for reporting this, and thanks for the code example! I’ve open a GitHub issue for this since I think it might be a bug:

https://github.com/AnalyticalGraphicsInc/cesium/issues/7214

Either way, I’ll update the thread back here once it’s resolved.

So it looks like the 180 degree crash is a bug, but the not wrapping around is intended, since it’s just Cesium choosing the shorter distance to be consistent. If you do want it to wrap around the globe like that you’ll have to define an extra point, see Hannah’s answer here:

https://github.com/AnalyticalGraphicsInc/cesium/issues/7214#issuecomment-434838652

Let me know if that helps. Thanks again for reporting this!

I’m curious, what kind of application are you building?