Skip to content

Commit c1e68f1

Browse files
committed
More Cartographic cleanup
1. Remove all usage of creating Cartographic instances using degrees as internal representation, Cartographics are always represented as radians. 2. Add fromDegrees helper function to aid in creating Cartographics from degrees. 3. Reaname toCartesian(s) and toCartographic(s) methods to cartesianToCartographic/cartesianArrayToCartographicArray and cartographicToCartesian and cartographicArrayToCartesianArray respectively. 4. Fix comment in Quaternion.fromAxisAngle to specify the correct unit.
1 parent e9f9b2d commit c1e68f1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+336
-371
lines changed

Examples/Sandbox/CodeSnippets/Advanced.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@
101101
return Cesium.destroyObject(this);
102102
};
103103

104-
primitives.add(new Sandbox.ExamplePrimitive(ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883))));
104+
primitives.add(new Sandbox.ExamplePrimitive(ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883))));
105105
};
106106

107107
this.clear = function () {

Examples/Sandbox/CodeSnippets/Billboard.js

+16-16
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
var textureAtlas = scene.getContext().createTextureAtlas({image : image});
1111
billboards.setTextureAtlas(textureAtlas);
1212
billboards.add({
13-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
13+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
1414
imageIndex : 0
1515
});
1616
primitives.add(billboards);
@@ -37,17 +37,17 @@
3737
billboards.setTextureAtlas(textureAtlas);
3838

3939
billboards.add({
40-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
40+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
4141
imageIndex : 0 // Logo
4242
});
4343

4444
billboards.add({
45-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.50, 35.14)),
45+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.50, 35.14)),
4646
imageIndex : 1 // Facility
4747
});
4848

4949
billboards.add({
50-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.12, 25.46)),
50+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.12, 25.46)),
5151
imageIndex : 1 // Facility
5252
});
5353

@@ -78,18 +78,18 @@
7878
var textureAtlas = scene.getContext().createTextureAtlas({image : canvas});
7979
billboards.setTextureAtlas(textureAtlas);
8080
billboards.add({
81-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
81+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
8282
color : { red : 1.0, blue : 0.0, green : 0.0, alpha : 1.0 },
8383
scale : 0.5
8484
});
8585

8686
billboards.add({
87-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.50, 35.14)),
87+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.50, 35.14)),
8888
color : { red : 0.0, blue : 1.0, green : 0.0, alpha : 1.0 }
8989
});
9090

9191
billboards.add({
92-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.12, 25.46)),
92+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.12, 25.46)),
9393
color : { red : 0.0, blue : 0.0, green : 1.0, alpha : 1.0 },
9494
scale : 2
9595
});
@@ -159,31 +159,31 @@
159159
billboards.setTextureAtlas(textureAtlas);
160160
// Add several billboards based on the above marker definitions.
161161
billboards.add({
162-
position: ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
162+
position: ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
163163
imageIndex: 10,
164164
scale: 1,
165165
color: { red: 0, green: 1, blue: 0, alpha: 1 }
166166
});
167167
billboards.add({
168-
position: ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-84.0, 39.0)),
168+
position: ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-84.0, 39.0)),
169169
imageIndex: 16,
170170
scale: 1,
171171
color: { red: 0, green: 0.5, blue: 1, alpha: 1 }
172172
});
173173
billboards.add({
174-
position: ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-70.0, 41.0)),
174+
position: ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-70.0, 41.0)),
175175
imageIndex: 21,
176176
scale: 1,
177177
color: { red: 0.5, green: 0.9, blue: 1, alpha: 1 }
178178
});
179179
billboards.add({
180-
position: ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-73.0, 37.0)),
180+
position: ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-73.0, 37.0)),
181181
imageIndex: 35,
182182
scale: 1,
183183
color: { red: 1, green: 0, blue: 0, alpha: 1 }
184184
});
185185
billboards.add({
186-
position: ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-79.0, 35.0)),
186+
position: ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-79.0, 35.0)),
187187
imageIndex: 40,
188188
scale: 1,
189189
color: { red: 1, green: 1, blue: 0, alpha: 1 }
@@ -203,7 +203,7 @@
203203
billboards.setTextureAtlas(textureAtlas);
204204
billboards.add({
205205
show : true, // default
206-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
206+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
207207
pixelOffset : new Cesium.Cartesian2(0, 50), // default: (0, 0)
208208
eyeOffset : new Cesium.Cartesian3(0.0, 0.0, 0.0), // default
209209
horizontalOrigin : Cesium.HorizontalOrigin.CENTER, // default
@@ -228,11 +228,11 @@
228228
// add() returns a Billboard object containing functions to change
229229
// the billboard's position and appearance.
230230
var b = billboards.add({
231-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883)),
231+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)),
232232
imageIndex : 0
233233
});
234234

235-
b.setPosition(ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883, 300000.0)));
235+
b.setPosition(ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883, 300000.0)));
236236
b.setScale(3.0);
237237
b.setColor({ red : 1.0, green : 1.0, blue : 1.0, alpha : 0.25 });
238238

@@ -251,7 +251,7 @@
251251
var textureAtlas = scene.getContext().createTextureAtlas({image : image});
252252
billboards.setTextureAtlas(textureAtlas);
253253

254-
var center = ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883));
254+
var center = ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883));
255255
billboards.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
256256
billboards.add({ position : new Cesium.Cartesian3(0.0, 0.0, 0.0) }); // center
257257
billboards.add({ position : new Cesium.Cartesian3(1000000.0, 0.0, 0.0) }); // east

Examples/Sandbox/CodeSnippets/Camera.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
this.code = function() {
99
flight = scene.getCamera().getControllers().addFlight({
10-
destination : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-118.26, 34.19, 100000.0)),
10+
destination : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-118.26, 34.19, 100000.0)),
1111
duration : 4.0
1212
});
1313
};
@@ -28,7 +28,7 @@
2828

2929
Sandbox.CameraReferenceFrame = function (scene, ellipsoid, primitives) {
3030
this.code = function() {
31-
var center = ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883));
31+
var center = ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883));
3232
var transform = Cesium.Transforms.eastNorthUpToFixedFrame(center);
3333

3434
var spindle = scene.getCamera().getControllers().get(0);
@@ -88,12 +88,12 @@
8888
scene.getCamera().viewExtent(ellipsoid, west, south, east, north);
8989

9090
var polyline = new Cesium.Polyline(undefined);
91-
polyline.setPositions(ellipsoid.cartographicDegreesToCartesians([
92-
new Cesium.Cartographic(-78, 38),
93-
new Cesium.Cartographic(-78, 42),
94-
new Cesium.Cartographic(-72, 42),
95-
new Cesium.Cartographic(-72, 38),
96-
new Cesium.Cartographic(-78, 38)
91+
polyline.setPositions(ellipsoid.cartographicArrayToCartesianArray([
92+
Cesium.Cartographic.fromDegrees(-78, 38),
93+
Cesium.Cartographic.fromDegrees(-78, 42),
94+
Cesium.Cartographic.fromDegrees(-72, 42),
95+
Cesium.Cartographic.fromDegrees(-72, 38),
96+
Cesium.Cartographic.fromDegrees(-78, 38)
9797
]));
9898
primitives.add(polyline);
9999
};

Examples/Sandbox/CodeSnippets/Circle.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
this.code = function () {
77
var polyline = new Cesium.Polyline(undefined);
88
polyline.setPositions(Cesium.Shapes.computeCircleBoundary(
9-
ellipsoid, ellipsoid.cartographicDegreesToCartesian(
10-
new Cesium.Cartographic(-75.59777, 40.03883)), 300000.0));
9+
ellipsoid, ellipsoid.cartographicToCartesian(
10+
Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)), 300000.0));
1111

1212
primitives.add(polyline);
1313
};
@@ -17,8 +17,8 @@
1717
this.code = function () {
1818
var polygon = new Cesium.Polygon(undefined);
1919
polygon.setPositions(Cesium.Shapes.computeCircleBoundary(
20-
ellipsoid, ellipsoid.cartographicDegreesToCartesian(
21-
new Cesium.Cartographic(-75.59777, 40.03883)), 300000.0));
20+
ellipsoid, ellipsoid.cartographicToCartesian(
21+
Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)), 300000.0));
2222

2323
primitives.add(polygon);
2424
};
@@ -28,8 +28,8 @@
2828
this.code = function () {
2929
var polygon = new Cesium.Polygon(undefined);
3030
polygon.setPositions(Cesium.Shapes.computeCircleBoundary(
31-
ellipsoid, ellipsoid.cartographicDegreesToCartesian(
32-
new Cesium.Cartographic(-75.59777, 40.03883)), 300000.0));
31+
ellipsoid, ellipsoid.cartographicToCartesian(
32+
Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)), 300000.0));
3333
// Any polygon-compatible material can be used
3434
polygon.material = new Cesium.TieDyeMaterial(undefined);
3535

@@ -41,8 +41,8 @@
4141
this.code = function () {
4242
var polygon = new Cesium.Polygon(undefined);
4343
polygon.setPositions(Cesium.Shapes.computeEllipseBoundary(
44-
ellipsoid, ellipsoid.cartographicDegreesToCartesian(
45-
new Cesium.Cartographic(-75.59777, 40.03883)), 500000.0, 300000.0, Cesium.Math.toRadians(60)));
44+
ellipsoid, ellipsoid.cartographicToCartesian(
45+
Cesium.Cartographic.fromDegrees(-75.59777, 40.03883)), 500000.0, 300000.0, Cesium.Math.toRadians(60)));
4646

4747
primitives.add(polygon);
4848
};

Examples/Sandbox/CodeSnippets/Composite.js

+15-15
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
// Setup code
2222
var redPolygon = new Cesium.Polygon(undefined);
23-
redPolygon.setPositions(ellipsoid.cartographicDegreesToCartesians([
24-
new Cesium.Cartographic(-70.0, 30.0),
25-
new Cesium.Cartographic(-60.0, 30.0),
26-
new Cesium.Cartographic(-60.0, 40.0),
27-
new Cesium.Cartographic(-70.0, 40.0)
23+
redPolygon.setPositions(ellipsoid.cartographicArrayToCartesianArray([
24+
Cesium.Cartographic.fromDegrees(-70.0, 30.0),
25+
Cesium.Cartographic.fromDegrees(-60.0, 30.0),
26+
Cesium.Cartographic.fromDegrees(-60.0, 40.0),
27+
Cesium.Cartographic.fromDegrees(-70.0, 40.0)
2828
]));
2929
redPolygon.material.color = {
3030
red : 1.0,
@@ -34,11 +34,11 @@
3434
};
3535

3636
var bluePolygon = new Cesium.Polygon(undefined);
37-
bluePolygon.setPositions(ellipsoid.cartographicDegreesToCartesians([
38-
new Cesium.Cartographic(-75.0, 34.0),
39-
new Cesium.Cartographic(-63.0, 34.0),
40-
new Cesium.Cartographic(-63.0, 40.0),
41-
new Cesium.Cartographic(-75.0, 40.0)
37+
bluePolygon.setPositions(ellipsoid.cartographicArrayToCartesianArray([
38+
Cesium.Cartographic.fromDegrees(-75.0, 34.0),
39+
Cesium.Cartographic.fromDegrees(-63.0, 34.0),
40+
Cesium.Cartographic.fromDegrees(-63.0, 40.0),
41+
Cesium.Cartographic.fromDegrees(-75.0, 40.0)
4242
]));
4343
bluePolygon.material.color = {
4444
red : 0.0,
@@ -48,11 +48,11 @@
4848
};
4949

5050
var greenPolygon = new Cesium.Polygon(undefined);
51-
greenPolygon.setPositions(ellipsoid.cartographicDegreesToCartesians([
52-
new Cesium.Cartographic(-67.0, 36.0),
53-
new Cesium.Cartographic(-55.0, 36.0),
54-
new Cesium.Cartographic(-55.0, 30.0),
55-
new Cesium.Cartographic(-67.0, 30.0)
51+
greenPolygon.setPositions(ellipsoid.cartographicArrayToCartesianArray([
52+
Cesium.Cartographic.fromDegrees(-67.0, 36.0),
53+
Cesium.Cartographic.fromDegrees(-55.0, 36.0),
54+
Cesium.Cartographic.fromDegrees(-55.0, 30.0),
55+
Cesium.Cartographic.fromDegrees(-67.0, 30.0)
5656
]));
5757
greenPolygon.material.color = {
5858
red : 0.0,

Examples/Sandbox/CodeSnippets/Label.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
this.code = function () {
77
var labels = new Cesium.LabelCollection(undefined);
88
labels.add({
9-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.10, 39.57)),
9+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
1010
text : 'Philadelphia'
1111
});
1212

@@ -18,15 +18,15 @@
1818
this.code = function () {
1919
var labels = new Cesium.LabelCollection(undefined);
2020
labels.add({
21-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.10, 39.57)),
21+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
2222
text : 'Philadelphia'
2323
});
2424
labels.add({
25-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.50, 35.14)),
25+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.50, 35.14)),
2626
text : 'Charlotte'
2727
});
2828
labels.add({
29-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-80.12, 25.46)),
29+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-80.12, 25.46)),
3030
text : 'Miami'
3131
});
3232

@@ -38,7 +38,7 @@
3838
this.code = function () {
3939
var labels = new Cesium.LabelCollection(undefined);
4040
labels.add({
41-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.10, 39.57)),
41+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
4242
text : 'Philadelphia',
4343
// CSS font-family
4444
font : '36px Helvetica',
@@ -55,11 +55,11 @@
5555
this.code = function () {
5656
var labels = new Cesium.LabelCollection(undefined);
5757
var l = labels.add({
58-
position : ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.10, 39.57)),
58+
position : ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57)),
5959
text : 'Philadelphia'
6060
});
6161

62-
l.setPosition(ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.10, 39.57, 300000.0)));
62+
l.setPosition(ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.10, 39.57, 300000.0)));
6363
l.setScale(2.0);
6464

6565
primitives.add(labels);
@@ -68,7 +68,7 @@
6868

6969
Sandbox.LabelReferenceFrame = function (scene, ellipsoid, primitives) {
7070
this.code = function () {
71-
var center = ellipsoid.cartographicDegreesToCartesian(new Cesium.Cartographic(-75.59777, 40.03883));
71+
var center = ellipsoid.cartographicToCartesian(Cesium.Cartographic.fromDegrees(-75.59777, 40.03883));
7272

7373
var labels = new Cesium.LabelCollection(undefined);
7474
labels.modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);

0 commit comments

Comments
 (0)