Todo List

Class AxisAction
rework AxisAction::computeValue to use real-time clock for computing value when in VELOCITY or ACCELERATION mode...

Class BatFly
make BatFly::modes parseable in the navigation file. (this may require additions to the PCTypes library).

Class MouseFly
add support for mouse wheel.

add customization of mouse buttons.

Class MouseOrbit
make mapping from buttons to actions more configurable

current collision detect only keeps eye out of terrain. Ideally we'd keep near clipping plane out of terrain but this requires polygon to terrain collision detection which nobody has implemented as of 11/3/99

Class obj_config_t
Despite what any of the VGIS papers may say, I've never seen a version of VGIS that supported multiple render thread/terrain managers/object managers per process. There have always been way to many unorganized 'static' global variables. If this problem is ever fixed (i.e. massive code reorganization) obj_config_t would probably be split into a struct that is common to all object managers (one per objects.lib) and struct members that are specific per object manager object.

Class ter_config_t
Despite what any of the VGIS papers may say, I've never seen a version of VGIS that supported multiple render thread/terrain managers per process. There have always been way to many unorganized 'static' global variables. If this problem is ever fixed (i.e. massive code reorganization) ter_config_t would probably be split into a struct that is common to all terrain managers (one per terrain.lib) and struct members that are specific per terrain manager object (one per terrain manager).

Class VGISConfig
Ideally VGISConfig should generally NOT be included or linked by ANY VGIS libraries, rather only the code in src/vgis/main. The libraries tshould have their own xxxx_config structure (see CommonCofig,ter_config_t, etc.) There are still a number of members in VGISConfig that need to be moved out of here and the include's and links to this file's .lib should be removed. Zachary Wartell did this for 90% of the data members and is delegating the rest to those responsible for the specific VGISConfig data members.When this is complete remove the above todo comment.

Member VGISConfig::enableScheduler
delete/deprecate this as soon as we finish move to POSIX thread API

Member VGISConfig::enableWeather
move this into volume.lib configuration

Class view64_t
We probably should move some of these members out of view64_t and into view_t.

Class view_t
finish object hierarchy integration

Member view_t::alwaysLookDownInOrbitMode
FIX the above behavior... maybe push into orbit mode... but then we might want to turn this behavior on and off at run-time to depending on how we are using the two-handed interaction for nativation.

File CommonConfig.c
???

Member dl_beginCull
examine source code to figure out documentation of how 'p1' encodes a bounding box

Member dl_DrawSplats3_close
Experiment more/improve resorting heuristic

Member dl_glDrawArray
replace this function with a more general solution that take all the parameters of the glEnableClient state functions as arguments so that a single dl_gl function supports all formats of vertex data (i.e. v3f, v4f, v3i, etc...)

Member dl_useSunlight
add sunlight coloring for sunrise/sunset coloring

Member XCC_STATIC_C
Having changed 'server_nav_event_handler' to use a copy of the global view_t all the lock/unlocks done inside the navigation class's and c modules is unnecessary. They should be removed (see [F5])

Separate all view.log related code into separate API

Deal with possible problems when using playback mode for performance comparisons.

Member XCC_STATIC_C
add display of whether we're recording, in playback mode, etc.

Member emisor
reduce network traffic by sending more compact 6DOF information

File EventQueue.c
make queue a variable length structure (Gimme C++)

make device array a variable length structure (Gimme C++)

Rewrite in C++ but maintain the same C API (see DeviceManager.h for examples)

add more complete multi-thread support.

Member ray_object_intersection
fix the half implemented return value : The return value seems to be ignored in all invocations of this function. To avoid compiler warnings I've returned *ppResult, but more work is needed to really fix the half implemented return value.

Member screen_to_object
fix problem in warning (1)

File objapi.h
reverse engineer the _exact_ meaning of some of these data structure components and document them.

File objapi.h
items; I delegate these items to others).

File vpthread.c
???

Member vpthread_event_destroy
Make return values meaningful following Pthread standards

Member vpthread_event_init
Make return values meaningful following Pthread standards

Member vpthread_event_isSignaled
Make return values meaningful following Pthread standards

Member vpthread_event_pulse
Make return values meaningful following Pthread standards

Member vpthread_event_reset
Make return values meaningful following Pthread standards

Member vpthread_event_signal
Make return values meaningful following Pthread standards

Member vpthread_event_wait
Make return values meaningful following Pthread standards

Member vpthread_get_times_string
dynamically allocate str to fit number of active threads.

as best I can tell pthread API doesn't provide thread CPU usage information so we need a LINUX port of this function.

Member vpthread_litemutex_destroy
improve return value on Win32

Member vpthread_litemutex_init
improve return value on Win32

Member vpthread_litemutex_lock
improve return value on Win32

Member vpthread_litemutex_unlock
improve return value on Win32

Member vpthread_resume
[R1] pg 217 has a source code for a portable Pthread implementation of this. Need to implement it. (But Pthread-Win32 can't use it cause it requires POSIX signals)

Member vpthread_suspend
[R1] pg 217 has a source code for a portable Pthread implementation of this. Need to implement it. (But Pthread-Win32 can't use it cause it requires POSIX signals)

Page
add render_library.txt, object_library.txt, terrain_library.txt to the respective subdirectories.

Page
rename this file and the .dsp file to nav_con.* and update all necessary .dsw files and the Doxyfile and rebuild doxygen doc's.

Page
figure out why controllers depends on navigation. Fix it. Split up nav_con.* to navigation.* and controllers.* once the circular dependency is removed, and update all necessary .dsw files and the Doxyfile and rebuild doxygen doc's.

Page

Page

Page

Page

Page

Page

Page
rewrite VGIS completely :)

Page
figure out why controllers depends on navigation. Fix it. Split up nav_con.* to navigation.* and controllers.* once the circular dependency is removed, and update all necessary .dsw files and the Doxyfile and rebuild doxygen doc's.

Page
figure out why navigation depends on controllers. Fix it. Split up nav_con.* to navigation.* and navigation.* once the circular dependency is removed, and update all necessary .dsw files and the Doxyfile and rebuild doxygen doc's.


Generated by doxygen written by Dimitri van Heesch, © 1997-2001