A Roadmap to the VRIP source code
-------------------------------
Setting up the TCL/TK interface
-------------------------------
vripMain.cc
- Sets up the TCL application
vripInit.cc
- Does the application intialization, including TCL command
creation and sourcing ${VRIP_DIR}/vrip.tcl and ${HOME}/.vriprc
------------
TCL commands
------------
vripRangeCmds.cc
- TCL commands that actually read in a range image or surface and
update the volume.
vripGridCmds.cc
- TCL commands for creating, querying, down-sampling, and
transposing the voxel grid.
vripFileCmds.cc
- TCL commands for file I/O of the voxel grid
vripGUICmds.cc
- TCL commands for running pieces of the GUI, i.e., the slice
viewer and the "render" viewer. The render viewer shows the
vertex weights that were resampled when creating the depth map.
vripPlyCmds.cc
- TCL commands for writing out depth maps, and processing range
images to see how they will tesselate before being scanned into
the volume
vripFillCmds.cc
- TCL commands for filling the voxel grid (constant value,
ellipse, cylinder, cube)
vripMiscCmds.cc
- TCL commands for viewing/changing global parameters and
generating timing results
--------------
The voxel grid
--------------
OccGrid.cc
- The uncompressed volumetric grid and associated operations
(creating, destroying, reading, writing, transposing, ...)
OccGridRLE.cc
- The RLE volumetric grid and associated operations (creating,
destroying, reading, writing, transposing, ...)
OccGridNormRLE.cc
- The RLE volumetric grid with normals and associated operations
(creating, destroying, reading, writing, transposing, ...)
--------------------------------------------------------
Range images and surfaces (meshes) and the PLY interface
--------------------------------------------------------
Mesh.cc
- The triangle mesh data structures and associated routines,
including weighting (confidence) assigment per vertex
rangePly.cc
- Routines for reading in a ply range image and creating a
tesselated range surface.
plyio.cc
- Routines for reading and writing a ply triangle mesh
----------------------------
Resampling the range surface
----------------------------
DepthMap.cc
- The depth map and associated operations (creating, destroying,
writing, tree creation and evaluation)
DepthMapAux.cc
- Routines that operate on the depth map
softRenderGeom.cc
- Routines for resampling range surfaces using Homan Igehy's
triangle rasterizer
renderGeom.cc
- Routines for resampling range surfaces using graphics hardware
for triangle rasterizing (not in use)
------------------------------
Volume and depth map traversal
------------------------------
configure.cc
- Routines for computing the shear, transposing the volume, and
computing the maximum screen size of the sheared volume
scan.cc
- Routines for running through the uncompressed volume and
updating voxels based on the current depth map. Uses
orthographic transformation.
scanRLE.cc
- Routines for running through the RLE volume and updating voxels
based on the current depth map. Uses orthographic
transformation.
scanLinePerspRLE.cc
- Routines for running through the RLE volume and updating voxels
based on the current depth map. Uses line perspective
transformation.
scanNormRLE.cc
- Routines for running through the uncompressed volume and
updating voxels based on the current depth map. Uses
orthographic transformation.
resample.cc
- Routines for resampling the depth map.
occFunc.cc
- Routines for deciding what "occupancy value" to put in a voxel.
-----------------
Memory management
-----------------
ChunkLink.cc
- Linked list of blocks of memory
ChunkAllocator.cc
- Routines for allocating and streaming through the chunks of
allocated memory.
-------------
Miscellaneous
-------------
vripGlobals.cc
- Global variables.
vripAux.cc
- Some auxiliary routines for managing the voxel grids
linePersp.cc
- Routines for managing the line perspective transformation
BBox3f.cc
- Routines for axis aligned bounding boxes in 3D
--------------
Other programs
--------------
vriphead.cc
- Reads the header from an RLE voxel grid file and displays
information about size, resolution, etc.