Skip to content

Commit

Permalink
init: project setup
Browse files Browse the repository at this point in the history
  • Loading branch information
adriahso committed Sep 16, 2025
0 parents commit 56c8f6c
Show file tree
Hide file tree
Showing 718 changed files with 677,525 additions and 0 deletions.
27 changes: 27 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

node_modules
dist
dist-ssr
*.local

# Editor directories and files
.vscode/*
!.vscode/extensions.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

# Point cloud data
/public/pointclouds/
33 changes: 33 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Molloy Explorer: Global marine insight one point at a time

Molloy Explorer is a 3D seabed visualization tool built with **Potree**. It allows users to explore point cloud data interactively and supports features like camera control, color gradients, and more.

## Getting Started

### Add point cloud data

Place the point cloud data (in Potree format) in `public/pointclouds/data_converted`.

**Note:** Point cloud files should not be committed to Git.

### Install Dependencies

```bash
npm install
```

### Run Development Server

```bash
npm run dev
```

Open your browser at <http://localhost:5173> to view the app.

### Build for Production

```bash
npm run build
```

The built files will be in the `dist/` folder.
71 changes: 71 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="description" content="">
<meta name="author" content="">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
<title>Potree Viewer</title>

<link rel="stylesheet" type="text/css" href="/build/potree/potree.css">
<link rel="stylesheet" type="text/css" href="/libs/jquery-ui/jquery-ui.min.css">
<link rel="stylesheet" type="text/css" href="/libs/openlayers3/ol.css">
<link rel="stylesheet" type="text/css" href="/libs/spectrum/spectrum.css">
<link rel="stylesheet" type="text/css" href="/libs/jstree/themes/mixed/style.css">
</head>

<body>
<script src="/libs/jquery/jquery-3.1.1.min.js"></script>
<script src="/libs/spectrum/spectrum.js"></script>
<script src="/libs/jquery-ui/jquery-ui.min.js"></script>
<script src="/libs/other/BinaryHeap.js"></script>
<script src="/libs/tween/tween.min.js"></script>
<script src="/libs/d3/d3.js"></script>
<script src="/libs/proj4/proj4.js"></script>
<script src="/libs/openlayers3/ol.js"></script>
<script src="/libs/i18next/i18next.js"></script>
<script src="/libs/jstree/jstree.js"></script>
<script src="/build/potree/potree.js"></script>
<script src="/libs/plasio/js/laslaz.js"></script>
<script src="/libs/three.js/build/three.js"></script>

<div class="potree_container" style="position: absolute; width: 100%; height: 100%; left: 0px; top: 0px; ">
<div id="potree_render_area" style="background-image: url('/build/potree/resources/images/background.jpg');"></div>
<div id="potree_sidebar_container"> </div>
</div>

<script type="module">
window.viewer = new Potree.Viewer(document.getElementById("potree_render_area"));

viewer.setEDLEnabled(true);
viewer.setFOV(60);
viewer.setPointBudget(5_000_000);
viewer.loadSettingsFromURL();

viewer.setDescription("Molloy Explorer");

viewer.loadGUI(() => {
viewer.setLanguage('en');
$("#menu_appearance").next().show();
$("#menu_tools").next().show();
$("#menu_scene").next().show();
$("#menu_filters").next().show();
viewer.toggleSidebar();
});

let url = "./pointclouds/data_converted/metadata.json";
Potree.loadPointCloud(url).then(e => {
let pointcloud = e.pointcloud;
let material = pointcloud.material;

material.pointSizeType = Potree.PointSizeType.ADAPTIVE;
material.shape = Potree.PointShape.CIRCLE;
material.activeAttributeName = "elevation";
material.gradient = Potree.Gradients["RAINBOW"]

viewer.scene.addPointCloud(pointcloud);
viewer.fitToScreen();
});
</script>
</body>
</html>
Loading

0 comments on commit 56c8f6c

Please sign in to comment.