Skip to topic | Skip to bottom
Home
TModeling
TModeling.Sp_viewerr1.1 - 26 Jun 2008 - 13:08 - Main.guesttopic end

Start of topic | Skip to actions
sp_viewer

An OpenGL viewer for visualizing files containing streaming point clouds. Performs simplification for fast rendering; to rerender the full model from a file, press R and wait. Visualizes a streaming point cloud and its spatial finalization quadtree. The point cloud has to have been run through spfinalize first. (I.E., an unfinalized point cloud won't get visualized by sp_viewer.)

(Note: Descriptions for some of these flags were unavailable. Shawn Brown has made his best guess with regards to these. Guesses will be marked in red)

Example Usage:


General

-i <input filename>

-o <input filename>


Input File Formats

-ispa

Streaming Point ASCII

-ispb

Streaming Point Binary

-hi <header filename>

Specify an optional input header file

-lof <list of files>

Specify a list of files to visualize

-double

Force input datatype to be read as doubles

-force_double

Same as -double

-float

Force input datatype to be read as floats

-force_float

Same as -float

-random <number>

Generates n random points per cell

-win <width> <height>

Set initial width and height of main window

-del2

Visualizes the state of streaming delaunay triangulation (Note: won't work if stream hasn't been properly finalized)

-del3

Wrap stream with 3D delaunay tetrahedron generator (Note: won't work if stream hasn't been properly finalized)

-fin2

Something to do with finalization 2D method override

-fin3

Something to do with finalization 3D method override

-flatten

Force bounding box z-values to zero

-steps <number>

Step Size for 'S' or 's' large step commands

-until <number>

Stop rendering when you reach the nth point

-every <number>

Only show every nth point

-points <number>

Display buffer should only contain at most n points, so only show every mth point where 'm' = total input points/ n points

-kamera <azimuth> <elevation> <distX> <distY> <distZ>

Set initial camera parameters, otherwise, initial camera is computed from min/max bounds

-scatter

Add some random noise to input stream via a wrapper class spreadscattered.h - Class says it is not really used anymore

Usage:

sp_viewer -h
sp_viewer -i cloud.spb
sp_viewer -i cloud.spa.gz -del3
sp_viewer -i terrain.spb -every 100
sp_viewer -i terrain.spb.gz -del2
sp_viewer -i terrain.obj.gz -del2 -flatten
sp_viewer -i cloud.spb -del3 -steps 500
sp_viewer -win 1600 1200 -i cloud.obj
sp_viewer -h


Keyboard Shortcuts

Interactive controls:
p play/stop
o stop
space switch between rotate/translate/zoom
-/= render points smaller/bigger
_/+ render lines thinner/wider
>/< Zoom in/out
[/] exaggerate/mellow elevation differences
b hide/show bounding box
S/s Big step forward/backward
T/t Small step forward/backward
r out-of-core full resolution rendering
d create a raw frame buffer (for dumping)
u toggle render mode through unfinalized space
a toggle render mode through active triangles
i toggle render mode through infinite triangles
v toggle render mode through stream coloring
c toggle render mode through Circumspheres
k print kamera parameters to stderr
x exchange filenamed (if multiple '-i' inputs)
ESC or q quit

'N' or 'n'

Something to do with picking a quadtree/octree cell

'K'

Dump # of points remaining to console

Move pointer above a triangle and press 'm'. Shows you circumcircles that intersect the grid (if computed already).

GUI Commands

Mouse: Press and hold the left mouse button to translate (pan), rotate, or zoom (scale) based on which state you are currently in (translate, rotate, zoom).

Press and hold the middle mouse button to adjust the z-scale (make vertical heights more pronounced relative to the horizontal scale).

Right click to bring up a context menu.

Context Menu Commands:
point ... brings up Points submenu (see below)
steps ... brings up steps submenu (see below)
rotate switches to rotate mode
translate switches to translate mode
zoom switches to zoom mode
<s>tep steps thru animation, same as 's' keyboard shortcut
<p>lay play animation, same as 'p' shortcut
st<o>p stop animation, same as 'o' shortcut
stream <c>oloring Change stream coloring mode, same as 'c' shortcut
render <m>ode Change render mode, same as 'm' shortcut
<a>ctive elements Change active elements mode, same as 'a' shortcut
<i>nfinite elements Change infinite elements mode, same as 'i' shortcut
<u>nfinalized space Change unfinalized mode, same as 'u' shortcut
<Q>UIT Quits Application, same as 'Q' or 'q' shortcut


Points SubMenu Command

(Note: also see -points <number>) Represent point cloud by n representative points. (Only display every m th point where m = total points / n points)
5,000 points Only display 5,000 representative points
50,000 points Only display 50,000 representative points
100,000 points Only display 100,000 representative points
250,000 points Only display 250,000 representative points
500,000 points Only display 500,000 representative points
1,000,000 points Only display 1,000,000 representative points
2,500,000 points Only display 2,500,000 representative points
5,000,000 points Only display 5,000,000 representative points


Steps SubMenu command

Large Step size for Animation commands 'S' and 's' - Changes step size to specified number
  • in 5 steps
  • in 10 steps
  • in 25 steps
  • in 50 steps
  • in 100 steps
  • in 250 steps
  • in 500 steps
  • in 1000 steps
  • in 10000 steps


Miscellaneous

The memory requirements are proportional to the maximal number of triangles and vertices that are allocated concurrently (the actual number is output to stderr in the end) and the maximal number of quadtree cells in the quadtree that is used to maintain and query the finalized space.

If given a non-streaming point cloud, nothing can get finalized, and the memory requirements are much higher (e.g. more than a standard delaunay triangulator).

-- JackSnoeyink - 02 Jun 2008 -- ChristianStith - 24 Jun 2008


UNDEFINED FLAGS

These are a few more flags that I currently do not have information/descriptions of. Anyone who does please send them to me at stith@cs.unc.edu

-tiles2D -tiling2D -tiles3D -tiling3D

??? (have to debug)

-parse <parseString>

??? Would have to debug to figure this out - Might allow generic text files to get parsed.
to top


Copyright © 1999-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback