MCPcopy Create free account
hub / github.com/microsoft/SandDance / projectPosition

Function projectPosition

docs/tests/v2/es6/js/sanddance.js:39090–39127  ·  view source on GitHub ↗

* Equivalent to project_position in project.glsl * projects a user supplied position to world position in the target coordinates system * @param {array} position - [x, y, z] * @param {object} params * @param {Viewport} params.viewport - the current viewport * @param {number} params.coordinateSy

(position, params)

Source from the content-addressed store, hash-verified

39088
39089
39090function projectPosition(position, params) {
39091 var _normalizeParameters = normalizeParameters(params),
39092 viewport = _normalizeParameters.viewport,
39093 coordinateSystem = _normalizeParameters.coordinateSystem,
39094 coordinateOrigin = _normalizeParameters.coordinateOrigin,
39095 modelMatrix = _normalizeParameters.modelMatrix,
39096 fromCoordinateSystem = _normalizeParameters.fromCoordinateSystem,
39097 fromCoordinateOrigin = _normalizeParameters.fromCoordinateOrigin;
39098
39099 switch (coordinateSystem) {
39100 case _constants.COORDINATE_SYSTEM.LNGLAT_OFFSETS:
39101 case _constants.COORDINATE_SYSTEM.METER_OFFSETS:
39102 {
39103 var worldPosition = getWorldPosition(position, {
39104 viewport: viewport,
39105 modelMatrix: modelMatrix,
39106 coordinateSystem: fromCoordinateSystem,
39107 coordinateOrigin: fromCoordinateOrigin,
39108 offsetMode: true
39109 });
39110 var originWorld = lngLatZToWorldPosition(coordinateOrigin, viewport, true);
39111 vec3.sub(worldPosition, worldPosition, originWorld);
39112 return worldPosition;
39113 }
39114
39115 case _constants.COORDINATE_SYSTEM.LNGLAT:
39116 case _constants.COORDINATE_SYSTEM.LNGLAT_DEPRECATED:
39117 case _constants.COORDINATE_SYSTEM.IDENTITY:
39118 default:
39119 return getWorldPosition(position, {
39120 viewport: viewport,
39121 modelMatrix: modelMatrix,
39122 coordinateSystem: fromCoordinateSystem,
39123 coordinateOrigin: fromCoordinateOrigin,
39124 offsetMode: false
39125 });
39126 }
39127}
39128},{"../../lib/constants":"hXbg","./viewport-uniforms":"aNiS","gl-matrix/vec4":"QGfo","gl-matrix/vec3":"Ijz7","viewport-mercator-project":"ha5B"}],"vVxT":[function(require,module,exports) {
39129"use strict";
39130

Callers

nothing calls this directly

Calls 4

normalizeParametersFunction · 0.70
getWorldPositionFunction · 0.70
lngLatZToWorldPositionFunction · 0.70
subMethod · 0.45

Tested by

no test coverage detected