Skip to content

Commit 0ccd97c

Browse files
author
Hannah
authored
Merge pull request #5872 from AnalyticalGraphicsInc/revert
Revert heading, pitch, roll changes
2 parents 9b05ee6 + edbd815 commit 0ccd97c

15 files changed

+47
-73
lines changed

Apps/Sandcastle/gallery/3D Models Coloring.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@
172172
viewer.entities.removeAll();
173173

174174
var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, height);
175-
var heading = -Cesium.Math.toRadians(135);
175+
var heading = Cesium.Math.toRadians(135);
176176
var pitch = 0;
177177
var roll = 0;
178178
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);

Apps/Sandcastle/gallery/Classification.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@
5656

5757
var center = new Cesium.Cartesian3(1216378.730451297, -4736275.917774027, 4081266.871000864);
5858
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
59-
var hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(-2.619728786416368, 0.0, 0.0));
59+
var hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(2.619728786416368, 0.0, 0.0));
6060
var hpr = Cesium.Matrix4.fromRotationTranslation(hprRotation, new Cesium.Cartesian3(0.0, 0.0, -2.0));
6161
Cesium.Matrix4.multiply(modelMatrix, hpr, modelMatrix);
6262

@@ -91,7 +91,7 @@
9191

9292
var center = new Cesium.Cartesian3(1216398.6054139996, -4736204.533089285, 4081338.6585485404);
9393
var modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
94-
var hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(-5.785339046755887, 0.0, 0.0));
94+
var hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(5.785339046755887, 0.0, 0.0));
9595
var hpr = Cesium.Matrix4.fromRotationTranslation(hprRotation, new Cesium.Cartesian3(0.4, 0.0, -2.0));
9696
Cesium.Matrix4.multiply(modelMatrix, hpr, modelMatrix);
9797

@@ -111,7 +111,7 @@
111111

112112
center = new Cesium.Cartesian3(1216394.3346955755, -4736207.431365568, 4081336.7768881875);
113113
modelMatrix = Cesium.Transforms.eastNorthUpToFixedFrame(center);
114-
hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(-5.785339046755887, 0.0, 0.0));
114+
hprRotation = Cesium.Matrix3.fromHeadingPitchRoll(new Cesium.HeadingPitchRoll(5.785339046755887, 0.0, 0.0));
115115
hpr = Cesium.Matrix4.fromRotationTranslation(hprRotation, new Cesium.Cartesian3(-0.25, 0.0, -2.0));
116116
Cesium.Matrix4.multiply(modelMatrix, hpr, modelMatrix);
117117

Apps/Sandcastle/gallery/Distance Display Conditions.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454

5555
var position = Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 0.0);
5656
var heading = Cesium.Math.toRadians(135);
57-
var hpr = new Cesium.HeadingPitchRoll(-heading, 0.0, 0.0);
57+
var hpr = new Cesium.HeadingPitchRoll(heading, 0.0, 0.0);
5858
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
5959

6060
viewer.entities.add({

Apps/Sandcastle/gallery/Projection.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
viewer.projectionPicker.viewModel.switchToOrthographic();
3737

3838
var position = Cesium.Cartesian3.fromDegrees(-123.0744619, 44.0503706, 0.0);
39-
var hpr = new Cesium.HeadingPitchRoll(-Cesium.Math.toRadians(135), 0.0, 0.0);
39+
var hpr = new Cesium.HeadingPitchRoll(Cesium.Math.toRadians(135), 0.0, 0.0);
4040
var orientation = Cesium.Transforms.headingPitchRollQuaternion(position, hpr);
4141

4242
var entity = viewer.entities.add({

Apps/Sandcastle/gallery/development/3D Models.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -123,8 +123,8 @@
123123

124124
function createModel(url, height, heading, pitch, roll) {
125125
height = Cesium.defaultValue(height, 0.0);
126-
heading = -Cesium.defaultValue(heading, 0.0);
127-
pitch = -Cesium.defaultValue(pitch, 0.0);
126+
heading = Cesium.defaultValue(heading, 0.0);
127+
pitch = Cesium.defaultValue(pitch, 0.0);
128128
roll = Cesium.defaultValue(roll, 0.0);
129129
var hpr = new Cesium.HeadingPitchRoll(heading, pitch, roll);
130130

CHANGES.md

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ Change Log
33
### 1.38 - 2017-10-02
44

55
* Breaking changes
6-
* `HeadingPitchRoll.fromQuaternion`, `Matrix3.fromHeadingPitchRoll`, `Quaternion.fromHeadingPitchRoll`, `Transforms.headingPitchRollToFixedFrame`, and `Transforms.headingPitchRollQuaternion` now use the classical orientation of heading and pitch calculated counter-clockwise. With this new behavior, heading and pitch need to be the negative of their previous values. The warning message will be removed in Cesium 1.40.[#5666](https://github.com/AnalyticalGraphicsInc/cesium/issues/5666)
76
* `Scene/CullingVolume` has been removed. Use `Core/CullingVolume`.
87
* `Scene/OrthographicFrustum` has been removed. Use `Core/OrthographicFrustum`.
98
* `Scene/OrthographicOffCenterFrustum` has been removed. Use `Core/OrthographicOffCenterFrustum`.

Source/Core/HeadingPitchRoll.js

+4-12
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@ define([
22
'./defaultValue',
33
'./defined',
44
'./DeveloperError',
5-
'./Math',
6-
'./deprecationWarning'
5+
'./Math'
76
], function(
87
defaultValue,
98
defined,
109
DeveloperError,
11-
CesiumMath,
12-
deprecationWarning) {
10+
CesiumMath) {
1311
'use strict';
1412

1513
/**
@@ -42,23 +40,17 @@ define([
4240
throw new DeveloperError('quaternion is required');
4341
}
4442
//>>includeEnd('debug');
45-
46-
deprecationWarning('HeadingPitchRoll.fromQuaternion', 'This function now uses a counter-clockwise orientation of heading and pitch as per mathematical conventions. With this new behavior, heading and pitch will need to be the negative of their previous values. This was introduced in 1.38 and the deprecation warning will be removed in Cesium 1.40.');
47-
4843
if (!defined(result)) {
4944
result = new HeadingPitchRoll();
5045
}
51-
5246
var test = 2 * (quaternion.w * quaternion.y - quaternion.z * quaternion.x);
5347
var denominatorRoll = 1 - 2 * (quaternion.x * quaternion.x + quaternion.y * quaternion.y);
5448
var numeratorRoll = 2 * (quaternion.w * quaternion.x + quaternion.y * quaternion.z);
5549
var denominatorHeading = 1 - 2 * (quaternion.y * quaternion.y + quaternion.z * quaternion.z);
5650
var numeratorHeading = 2 * (quaternion.w * quaternion.z + quaternion.x * quaternion.y);
57-
58-
result.heading = Math.atan2(numeratorHeading, denominatorHeading);
51+
result.heading = -Math.atan2(numeratorHeading, denominatorHeading);
5952
result.roll = Math.atan2(numeratorRoll, denominatorRoll);
60-
result.pitch = Math.asin(test);
61-
53+
result.pitch = -Math.asin(test);
6254
return result;
6355
};
6456

Source/Core/Matrix3.js

+6-10
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ define([
66
'./defineProperties',
77
'./DeveloperError',
88
'./freezeObject',
9-
'./Math',
10-
'./deprecationWarning'
9+
'./Math'
1110
], function(
1211
Cartesian3,
1312
Check,
@@ -16,8 +15,7 @@ define([
1615
defineProperties,
1716
DeveloperError,
1817
freezeObject,
19-
CesiumMath,
20-
deprecationWarning) {
18+
CesiumMath) {
2119
'use strict';
2220

2321
/**
@@ -306,13 +304,11 @@ define([
306304
Check.typeOf.object('headingPitchRoll', headingPitchRoll);
307305
//>>includeEnd('debug');
308306

309-
deprecationWarning('Matrix3.fromHeadingPitchRoll', 'This function now uses a counter-clockwise orientation of heading and pitch as per mathematical conventions. With this new behavior, heading and pitch will need to be the negative of their previous values. This was introduced in 1.38 and the deprecation warning will be removed in Cesium 1.40.');
310-
311-
var cosTheta = Math.cos(headingPitchRoll.pitch);
312-
var cosPsi = Math.cos(headingPitchRoll.heading);
307+
var cosTheta = Math.cos(-headingPitchRoll.pitch);
308+
var cosPsi = Math.cos(-headingPitchRoll.heading);
313309
var cosPhi = Math.cos(headingPitchRoll.roll);
314-
var sinTheta = Math.sin(headingPitchRoll.pitch);
315-
var sinPsi = Math.sin(headingPitchRoll.heading);
310+
var sinTheta = Math.sin(-headingPitchRoll.pitch);
311+
var sinPsi = Math.sin(-headingPitchRoll.heading);
316312
var sinPhi = Math.sin(headingPitchRoll.roll);
317313

318314
var m00 = cosTheta * cosPsi;

Source/Core/Quaternion.js

+4-9
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ define([
77
'./freezeObject',
88
'./HeadingPitchRoll',
99
'./Math',
10-
'./Matrix3',
11-
'./deprecationWarning'
10+
'./Matrix3'
1211
], function(
1312
Cartesian3,
1413
Check,
@@ -18,8 +17,7 @@ define([
1817
freezeObject,
1918
HeadingPitchRoll,
2019
CesiumMath,
21-
Matrix3,
22-
deprecationWarning) {
20+
Matrix3) {
2321
'use strict';
2422

2523
/**
@@ -191,13 +189,10 @@ define([
191189
Check.typeOf.object('headingPitchRoll', headingPitchRoll);
192190
//>>includeEnd('debug');
193191

194-
deprecationWarning('Quaternion.fromHeadingPitchRoll', 'This function now uses a counter-clockwise orientation of heading and pitch as per mathematical conventions. With this new behavior, heading and pitch will need to be the negative of their previous values. This was introduced in 1.38 and the deprecation warning will be removed in Cesium 1.40.');
195-
196192
scratchRollQuaternion = Quaternion.fromAxisAngle(Cartesian3.UNIT_X, headingPitchRoll.roll, scratchHPRQuaternion);
197-
scratchPitchQuaternion = Quaternion.fromAxisAngle(Cartesian3.UNIT_Y, headingPitchRoll.pitch, result);
193+
scratchPitchQuaternion = Quaternion.fromAxisAngle(Cartesian3.UNIT_Y, -headingPitchRoll.pitch, result);
198194
result = Quaternion.multiply(scratchPitchQuaternion, scratchRollQuaternion, scratchPitchQuaternion);
199-
scratchHeadingQuaternion = Quaternion.fromAxisAngle(Cartesian3.UNIT_Z, headingPitchRoll.heading, scratchHPRQuaternion);
200-
195+
scratchHeadingQuaternion = Quaternion.fromAxisAngle(Cartesian3.UNIT_Z, -headingPitchRoll.heading, scratchHPRQuaternion);
201196
return Quaternion.multiply(scratchHeadingQuaternion, result, result);
202197
};
203198

Source/Core/Transforms.js

+3-14
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ define([
1818
'./Matrix3',
1919
'./Matrix4',
2020
'./Quaternion',
21-
'./TimeConstants',
22-
'./deprecationWarning'
21+
'./TimeConstants'
2322
], function(
2423
when,
2524
Cartesian2,
@@ -40,8 +39,7 @@ define([
4039
Matrix3,
4140
Matrix4,
4241
Quaternion,
43-
TimeConstants,
44-
deprecationWarning) {
42+
TimeConstants) {
4543
'use strict';
4644

4745
/**
@@ -336,12 +334,8 @@ define([
336334
Check.typeOf.object( 'HeadingPitchRoll', headingPitchRoll);
337335
//>>includeEnd('debug');
338336

339-
deprecationWarning('Transforms.headingPitchRollToFixedFrame', 'This function now uses a counter-clockwise orientation of heading and pitch as per mathematical conventions. With this new behavior, heading and pitch will need to be the negative of their previous values. This was introduced in 1.38 and the deprecation warning will be removed in Cesium 1.40.');
340-
341337
fixedFrameTransform = defaultValue(fixedFrameTransform, Transforms.eastNorthUpToFixedFrame);
342-
343-
var hprQuaternion = Quaternion.fromHeadingPitchRoll(headingPitchRoll, scratchHPRQuaternion);
344-
338+
var hprQuaternion = Quaternion.fromHeadingPitchRoll(headingPitchRoll, scratchHPRQuaternion);
345339
var hprMatrix = Matrix4.fromTranslationQuaternionRotationScale(Cartesian3.ZERO, hprQuaternion, scratchScale, scratchHPRMatrix4);
346340
result = fixedFrameTransform(origin, ellipsoid, result);
347341
return Matrix4.multiply(result, hprMatrix, result);
@@ -378,11 +372,6 @@ define([
378372
Check.typeOf.object( 'HeadingPitchRoll', headingPitchRoll);
379373
//>>includeEnd('debug');
380374

381-
deprecationWarning('Transforms.headingPitchRollQuaternion', 'This function now uses a counter-clockwise orientation of heading and pitch as per mathematical conventions. With this new behavior, heading and pitch will need to be the negative of their previous values. This was introduced in 1.38 and the deprecation warning will be removed in Cesium 1.40.');
382-
383-
scratchENUMatrix4 = Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, scratchENUMatrix4);
384-
Matrix4.getRotation(scratchENUMatrix4, scratchHPRMatrix3);
385-
386375
var transform = Transforms.headingPitchRollToFixedFrame(origin, headingPitchRoll, ellipsoid, fixedFrameTransform, scratchENUMatrix4);
387376
var rotation = Matrix4.getRotation(transform, scratchHPRMatrix3);
388377
return Quaternion.fromRotationMatrix(rotation, result);

Source/Scene/Camera.js

+11-9
Original file line numberDiff line numberDiff line change
@@ -1039,6 +1039,7 @@ define([
10391039
var scratchSetViewCartesian = new Cartesian3();
10401040
var scratchSetViewTransform1 = new Matrix4();
10411041
var scratchSetViewTransform2 = new Matrix4();
1042+
var scratchSetViewQuaternion = new Quaternion();
10421043
var scratchSetViewMatrix3 = new Matrix3();
10431044
var scratchSetViewCartographic = new Cartographic();
10441045

@@ -1048,10 +1049,10 @@ define([
10481049
camera._setTransform(localTransform);
10491050

10501051
Cartesian3.clone(Cartesian3.ZERO, camera.position);
1051-
hpr.heading = -hpr.heading + CesiumMath.PI_OVER_TWO;
1052-
hpr.pitch = -hpr.pitch;
1052+
hpr.heading = hpr.heading - CesiumMath.PI_OVER_TWO;
10531053

1054-
var rotMat = Matrix3.fromHeadingPitchRoll(hpr, scratchSetViewMatrix3);
1054+
var rotQuat = Quaternion.fromHeadingPitchRoll(hpr, scratchSetViewQuaternion);
1055+
var rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
10551056

10561057
Matrix3.getColumn(rotMat, 0, camera.direction);
10571058
Matrix3.getColumn(rotMat, 2, camera.up);
@@ -1074,10 +1075,10 @@ define([
10741075
}
10751076
Cartesian3.clone(position, camera.position);
10761077
}
1077-
hpr.heading = -hpr.heading + CesiumMath.PI_OVER_TWO;
1078-
hpr.pitch = -hpr.pitch;
1078+
hpr.heading = hpr.heading - CesiumMath.PI_OVER_TWO;
10791079

1080-
var rotMat = Matrix3.fromHeadingPitchRoll(hpr, scratchSetViewMatrix3);
1080+
var rotQuat = Quaternion.fromHeadingPitchRoll(hpr, scratchSetViewQuaternion);
1081+
var rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
10811082

10821083
Matrix3.getColumn(rotMat, 0, camera.direction);
10831084
Matrix3.getColumn(rotMat, 2, camera.up);
@@ -1115,10 +1116,11 @@ define([
11151116
}
11161117

11171118
if (camera._scene.mapMode2D === MapMode2D.ROTATE) {
1118-
hpr.heading = -hpr.heading + CesiumMath.PI_OVER_TWO;
1119-
hpr.pitch = CesiumMath.PI_OVER_TWO;
1119+
hpr.heading = hpr.heading - CesiumMath.PI_OVER_TWO;
1120+
hpr.pitch = -CesiumMath.PI_OVER_TWO;
11201121
hpr.roll = 0.0;
1121-
var rotMat = Matrix3.fromHeadingPitchRoll(hpr, scratchSetViewMatrix3);
1122+
var rotQuat = Quaternion.fromHeadingPitchRoll(hpr, scratchSetViewQuaternion);
1123+
var rotMat = Matrix3.fromQuaternion(rotQuat, scratchSetViewMatrix3);
11221124

11231125
Matrix3.getColumn(rotMat, 2, camera.up);
11241126
Cartesian3.cross(camera.direction, camera.up, camera.right);

Specs/Core/Matrix3Spec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ defineSuite([
154154
0.133022221559489, 0.656295369162553, -0.742685314912828,
155155
-0.642787609686539, 0.627506871597133, 0.439385041770705);
156156

157-
var headingPitchRoll = new HeadingPitchRoll(CesiumMath.toRadians(10), CesiumMath.toRadians(40), CesiumMath.toRadians(55));
157+
var headingPitchRoll = new HeadingPitchRoll(-CesiumMath.toRadians(10), -CesiumMath.toRadians(40), CesiumMath.toRadians(55));
158158
var result = new Matrix3();
159159
var returnedResult = Matrix3.fromHeadingPitchRoll(headingPitchRoll, result);
160160
expect(result).toBe(returnedResult);

Specs/Core/QuaternionSpec.js

+6-6
Original file line numberDiff line numberDiff line change
@@ -108,14 +108,14 @@ defineSuite([
108108
var angle = CesiumMath.toRadians(20.0);
109109
var hpr = new HeadingPitchRoll(angle, 0.0, 0.0);
110110
var quaternion = Quaternion.fromHeadingPitchRoll(hpr);
111-
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(Matrix3.fromRotationZ(angle), CesiumMath.EPSILON11);
111+
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(Matrix3.fromRotationZ(-angle), CesiumMath.EPSILON11);
112112
});
113113

114114
it('fromHeadingPitchRoll with just pitch', function() {
115115
var angle = CesiumMath.toRadians(20.0);
116116
var hpr = new HeadingPitchRoll(0.0, angle, 0.0);
117117
var quaternion = Quaternion.fromHeadingPitchRoll(hpr);
118-
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(Matrix3.fromRotationY(angle), CesiumMath.EPSILON11);
118+
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(Matrix3.fromRotationY(-angle), CesiumMath.EPSILON11);
119119
});
120120

121121
it('fromHeadingPitchRoll with just roll', function() {
@@ -130,8 +130,8 @@ defineSuite([
130130
var hpr = new HeadingPitchRoll( angle, angle, angle);
131131
var quaternion = Quaternion.fromHeadingPitchRoll(hpr);
132132
var expected = Matrix3.fromRotationX(angle);
133-
Matrix3.multiply(Matrix3.fromRotationY(angle), expected, expected);
134-
Matrix3.multiply(Matrix3.fromRotationZ(angle), expected, expected);
133+
Matrix3.multiply(Matrix3.fromRotationY(-angle), expected, expected);
134+
Matrix3.multiply(Matrix3.fromRotationZ(-angle), expected, expected);
135135
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(expected, CesiumMath.EPSILON11);
136136
});
137137

@@ -142,8 +142,8 @@ defineSuite([
142142
var hpr = new HeadingPitchRoll( heading, pitch, roll);
143143
var quaternion = Quaternion.fromHeadingPitchRoll(hpr);
144144
var expected = Matrix3.fromRotationX(roll);
145-
Matrix3.multiply(Matrix3.fromRotationY(pitch), expected, expected);
146-
Matrix3.multiply(Matrix3.fromRotationZ(heading), expected, expected);
145+
Matrix3.multiply(Matrix3.fromRotationY(-pitch), expected, expected);
146+
Matrix3.multiply(Matrix3.fromRotationZ(-heading), expected, expected);
147147
expect(Matrix3.fromQuaternion(quaternion)).toEqualEpsilon(expected, CesiumMath.EPSILON11);
148148
});
149149

Specs/Core/TransformsSpec.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -587,6 +587,7 @@ defineSuite([
587587
expect(actual).toEqualEpsilon(expected, CesiumMath.EPSILON11);
588588
});
589589

590+
590591
it('headingPitchRollQuaternion works with a custom fixedFrameTransform', function() {
591592
var origin = new Cartesian3(1.0, 0.0, 0.0);
592593
var heading = CesiumMath.toRadians(20.0);
@@ -1047,7 +1048,7 @@ defineSuite([
10471048
var heading = CesiumMath.toRadians(90.0);
10481049
var pitch = CesiumMath.toRadians(45.0);
10491050
var roll = 0.0;
1050-
var hpr = new HeadingPitchRoll(-heading, -pitch, roll);
1051+
var hpr = new HeadingPitchRoll(heading, pitch, roll);
10511052

10521053
var modelMatrix = Transforms.headingPitchRollToFixedFrame(origin, hpr, ellipsoid);
10531054
var modelMatrix2D = Transforms.basisTo2D(projection, modelMatrix, new Matrix4());
@@ -1068,7 +1069,7 @@ defineSuite([
10681069
var heading = CesiumMath.toRadians(90.0);
10691070
var pitch = CesiumMath.toRadians(45.0);
10701071
var roll = 0.0;
1071-
var hpr = new HeadingPitchRoll(-heading, -pitch, roll);
1072+
var hpr = new HeadingPitchRoll(heading, pitch, roll);
10721073

10731074
var modelMatrix = Transforms.headingPitchRollToFixedFrame(origin, hpr, ellipsoid);
10741075
var modelMatrix2D = Transforms.basisTo2D(projection, modelMatrix, new Matrix4());

Specs/Scene/ModelInstanceCollectionSpec.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ defineSuite([
133133
var heading = Math.PI/2.0;
134134
var pitch = 0.0;
135135
var roll = 0.0;
136-
var hpr = new HeadingPitchRoll(-heading, -pitch, roll);
136+
var hpr = new HeadingPitchRoll(heading, pitch, roll);
137137
var modelMatrix = Transforms.headingPitchRollToFixedFrame(position, hpr);
138138
instances.push({
139139
modelMatrix : modelMatrix

0 commit comments

Comments
 (0)