PKGS= codeview mg mgkit anim3D zeus m3zume rehearsecode mentor EXTDEPS= m3core libm3 X11R4 tcp jvideo ui videovbt formsvbtpixmaps vbtkit web formsvbt parseparams opengl netobj listfuncs synloc sysutils events embutils rdwr debug sharedobj m3middle m3quake obliqrt synex metasyn obliqparse obliqlibm3 obliqlibui obliqlibanim EXTDEPS-CORE= X11R4 jvideo ui videovbt formsvbtpixmaps vbtkit web formsvbt opengl netobj listfuncs synloc events embutils rdwr debug sharedobj obliqrt synex metasyn obliqparse obliqlibm3 obliqlibui obliqlibanim COLLDEPS= core gui devlib obliq CAUSES: core(m3core) gui(X11R4) devlib(netobj) obliq(synloc)
Dynamic display and highlighting of algorithm source code.
An CodeView.T displays a visual trace of program execution. When a procedure is called, a window pops up containing the source for the procedure, with the header highlighted. As the procedure runs, each statement is highlighted as it is executed. When a procedure exits, its window is deleted.
The source code displayed is not necessarily the same as the code being executed. An arbitrary file can be annotated and displayed as the source code. The annotations indicate sections of the file to be used as the source code for a procedure, and delimit regions to be highlighted at a given point in the running program.Browse Sources Online
Animation supportBrowse Sources Online
More animation support, including GraphVBTs and RectsVBTs.
A GraphVBT.T is a VBT class for constructing displays of graphs of vertices, edges, and polygons. Alternatively, you can use it to display certain other data structures; for example, you can just use GraphVBT as a way to draw and move vertices on a VBT. There are operations to build a graph, and operations to update it (e.g., by moving vertices to new positions, automatically bringing their edges with them). Many such updates can be animated, with objects slowly sliding toward their new positions, etc.
A RectsVBT continuously displays a collection of rectangles. Each rectangle is defined by a location in world coordinates, a color, and flag indicating whether it exists. Only those rectangles that exist are displayed.
The client specifies N, how many rectangle there will be, and then accesses the items using a number [0..N]. The 0th item is typically used for temporary drawing, or for highlighting. When the RectsVBT is refreshed, the items are painted from 1 to N, and then 0. Obviously, only items for which information has been defined are ever painted.
The rectangles are always displayed with the client's world coordinate system mapped to the entire VBT domain, optionally with a margin of some number of points.Browse Sources Online
3-dimentional animation supportBrowse Sources Online
Zeus is a kernel for both multi-view editors and algorithm animation systems. To a first approximation, it follows the spirit of BALSA, but implemented in a multi-threaded environment using an object-oriented, strongly-typed language.
For historical reasons, it is the ZeusPanel and ZeusClass interfaces, not this interface, that are of primary interest to clients. This interface explains what's going on behind the scenes; it is used by ZeusPanel (to provide a system for algorithm animation ) and systems doing multi-view editing (like the Modula-2+ version of formsedit). If you are animating an algorithm and find yourself needing to import this interface, then something is probably wrong. Let us know.Browse Sources Online
m3zume - create Zeus IE (interesting event) stubs from event specsBrowse Sources Online
RehearseCode - run through Mentor CodeView source file annotations.Browse Sources Online
An algorithm animation collection with lots of interesting animations.m3-demo/mentor/src/dgraph/README