Home

Awesome

Point viewer

build status License

This is a standalone project to make viewing massive point clouds easy and convenient. It was build to serve the needs of the Cartographer project, but is useful in its own right.

Building

The project consist of a root crate that can build and read octrees on disk and viewer binaries to visualize the data. For Mac OS X, we assume below that you've installed Homebrew.

Creating Octrees

In the root of the repo, run cargo build --release. Then use target/release/build_octree to generate an octree out of a PLY file.

SDL client

This is a native client using SDL2.

  1. Install SDL2. For example, on Mac brew install sdl2.
  2. Change to the sdl viewer's directory: cd sdl_viewer/.
  3. Build with cargo build --release.
  4. Run with ../target/release/sdl_viewer <octree directory>.

In the point cloud viewer, navigate with the keyboard or with the mouse or touchpad. Dragging while pressing the left mouse button rotates, dragging while pressing the right mouse button pans the view. The following keys are bound:

KeyAction
TToggle the view to CT mode
WMove forward
AMove left
SMove backwards
DMove right
QMove up
ZMove down
UpTurn up
LeftTurn left
DownTurn down
RightMove right
0Increase points size
9Decrease points size
8Brighten scene
7Darken scene
OShow octree nodes
Shift + Ctrl + 0-9Save current camera position.
Ctrl + 0-9Load saved camera position.

Saved camera positions are persisted in the octree directory and will therefore live through restarts of the program.

Web Viewer

The octree_web_viewer consists of TypeScript code running in the browser and a web server binary.

To build and run the octree_web_viewer please look into the octree_web_viewer README file

Prior art

This work was inspired by the following projects.