Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
THREE.Math.degToRad(10),
sourceProjection
);
modifier.modify(g);
for (let i = 0; i < posAttr.array.length; i += 3) {
tmpV.set(posAttr.array[i], posAttr.array[i + 1], posAttr.array[i + 2]);
projection.reprojectPoint(sourceProjection, tmpV, tmpV);
tmpV.sub(tile.center);
(posAttr.array as Float32Array)[i] = tmpV.x;
(posAttr.array as Float32Array)[i + 1] = tmpV.y;
(posAttr.array as Float32Array)[i + 2] = tmpV.z;
}
posAttr.needsUpdate = true;
const material = new MapMeshBasicMaterial({
color,
visible: true,
depthWrite: true
});
const mesh = new THREE.Mesh(g, material);
mesh.renderOrder = renderOrder;
this.registerTileObject(tile, mesh, GeometryKind.Background);
tile.objects.push(mesh);
} else {
// Add a ground plane to the tile.
tile.boundingBox.getSize(tmpV);
const groundPlane = this.createPlane(
tmpV.x,
tmpV.y,
tile.center,
color,
private createPlane(
width: number,
height: number,
planeCenter: THREE.Vector3,
colorHex: number,
isVisible: boolean,
renderOrder: number
): THREE.Mesh {
const geometry = new THREE.PlaneGeometry(width, height, 1);
// TODO cache the material HARP-4207
const material = new MapMeshBasicMaterial({
color: colorHex,
visible: isVisible,
depthWrite: false
});
const plane = new THREE.Mesh(geometry, material);
plane.position.copy(planeCenter);
// Render before everything else
plane.renderOrder = renderOrder;
return plane;
}