Skip to content

Commit

Permalink
refactor(#10): Refactored code according to comments
Browse files Browse the repository at this point in the history
  • Loading branch information
kleinc committed Oct 6, 2025
1 parent 74016ea commit b24f3aa
Show file tree
Hide file tree
Showing 6 changed files with 31 additions and 21 deletions.
6 changes: 4 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,10 @@
>
<div id="potree_render_area">
<div id="cesiumContainer"></div>
<canvas id="posCanvas" width="200" height="30"></canvas>
<canvas id="elevationCanvas" width="200" height="30"></canvas>
<div id ="canvasContainer">
<canvas id="elevationCanvas" width="200" height="30"></canvas>
<canvas id="posCanvas" width="200" height="30"></canvas>
</div>
</div>
<div id="potree_sidebar_container"></div>
</div>
Expand Down
3 changes: 3 additions & 0 deletions src/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@ export const POTREE_SETTINGS = {
fov: 60,
pointBudget: 1_000_000
}

export const ecef = '+proj=geocent +datum=WGS84 +units=m +no_defs' // EPSG:4978 (geocentric coordinates)
export const wgs84 = '+proj=longlat +datum=WGS84 +no_defs' // EPSG:4326 (geographic coordinates)
18 changes: 11 additions & 7 deletions src/coordinateShowing/coordinateShowing.css
Original file line number Diff line number Diff line change
@@ -1,23 +1,27 @@
#posCanvas {
#canvasContainer {
display: flex;
flex-direction: column;
position: absolute;
left: 10px;
right: 10px;
bottom: 10px;
}

#posCanvas {
position: relative;
width: 300px;
height: 50px;
pointer-events: none;
background-color: #19282c;
z-index: 10;
border-radius: 5px;
}

#elevationCanvas {
position: absolute;
right: 100px;
top: 15px;
position: relative;
width: 300px;
height: 50px;
pointer-events: none;
background-color: #19282c;
z-index: 10;
margin-bottom: 10px;
border-radius: 5px;
}

10 changes: 5 additions & 5 deletions src/coordinateShowing/coordinateShowing.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const ecef = '+proj=geocent +datum=WGS84 +units=m +no_defs' // EPSG:4978 (geocentric coordinates)
const wgs84 = '+proj=longlat +datum=WGS84 +no_defs' // EPSG:4326 (geographic coordinates)
import { ecef } from "../config.js";
import { wgs84 } from "../config.js";

const posCanvas = document.getElementById('posCanvas') // lat/lon
const elevationCanvas = document.getElementById('elevationCanvas')
Expand All @@ -10,7 +10,7 @@ export let elevationCtx
/**
* Initializes the canvases and their contexts.
*/
export function initCanvases() {
export function initCoordinateCanvases() {
posCtx = resizeCanvas(posCanvas)
elevationCtx = resizeCanvas(elevationCanvas)
}
Expand Down Expand Up @@ -47,9 +47,9 @@ function drawText(ctx, text, canvas) {
}

/**
* Updates the lat/lon position.
* Updates the lat/lon coordinates.
*/
export function updatePosition() {
export function updateCoordinateText() {
const cam = window.potreeViewer.scene.view.position
const [lon, lat] = proj4(ecef, wgs84, [cam.x, cam.y, cam.z])
drawText(
Expand Down
12 changes: 6 additions & 6 deletions src/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import { createCesiumViewer } from './cesiumViewer.js'
import { createPotreeViewer } from './potreeViewer.js'
import { syncCameras } from './cameraSync.js'
import {
initCanvases,
updatePosition,
initCoordinateCanvases,
updateCoordinateText,
updateTargetElevation
} from './coordinateShowing/coordinateShowing.js'
} from "./CoordinateShowing/coordinateShowing.js";

async function init() {
window.cesiumViewer = createCesiumViewer('cesiumContainer')
Expand All @@ -17,12 +17,12 @@ async function init() {
POTREE_SETTINGS
)

initCanvases()
initCoordinateCanvases()

potreeViewer.addEventListener('update', updatePosition)
potreeViewer.addEventListener('update', updateCoordinateText)
potreeViewer.addEventListener('update', updateTargetElevation)

window.addEventListener('resize', initCanvases)
window.addEventListener('resize', initCoordinateCanvases)

function loop(timestamp) {
requestAnimationFrame(loop)
Expand Down
3 changes: 2 additions & 1 deletion src/potreeViewer.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { initElevationControls } from './ElevationControl/elevationControl.js'
import { ecef } from './config.js'

/**
* Initializes the Potree viewer used to visualize the point cloud.
Expand Down Expand Up @@ -55,7 +56,7 @@ export async function createPotreeViewer(containerId, pointcloudUrl, settings) {
pc.material.activeAttributeName = 'elevation'
pc.material.gradient = Potree.Gradients['VIRIDIS']

e.pointcloud.projection = '+proj=geocent +datum=WGS84 +units=m +no_defs'
e.pointcloud.projection = ecef

// Initialize camera position and target point (manually chosen)
viewer.scene.view.setView(
Expand Down

0 comments on commit b24f3aa

Please sign in to comment.