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 OnlineAnimation support
Browse Sources OnlineMore 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 Online3-dimentional animation support
Browse Sources OnlineZeus 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 Onlinem3zume - create Zeus IE (interesting event) stubs from event specs
Browse Sources OnlineRehearseCode - run through Mentor CodeView source file annotations.
Browse Sources OnlineAn algorithm animation collection with lots of interesting animations.
m3-demo/mentor/src/dgraph/README