[Announce] mcf.vrml release 2.0b

Mike Fletcher mfletch at tpresence.com
Thu Apr 20 00:11:39 EDT 2000

mcf.vrml version 2.0 beta is now available at


>From the home page:

The mcf.vrml libraries are an extensive set of programming tools for
manipulating VRML 97 sceneGraphs. Their primary purpose is to allow the
creation of design-time tools to programmatically process and generate
complex VRML 97 content. Lately they have been used for generating VRML 97
sceneGraphs in response to Zope queries.

*	Full parser, supports all VRML 97 constructs.  Written on top of the
simpleparse parsing engine which is, in turn, built on top of the
mxTextTools library. Parses/loads at approximately 160,000 cps (with
considerable potential optimisation untapped). 
*	All sceneGraph/Node/Route/etceteras objects can be
pickled/unpickled.  This allows for storage in Zope databases for
server-side generation tasks. 
*	Full mcf.walker processing/rewriting engine sub-classes allow for
creating advanced processing applications (Tpresence's commercial
SkeletonBuilder H|Anim avatar converter is based on mcf.vrml and mcf.walker)

*	Node-creation syntax in Python closely mimics VRML syntax while
still standard Python 
*	Robust linearisation/output including prototype dependency
negotiation, USE negotiation, etcetera. Allows application developers to
largely ignore the question of sceneGraph ordering. 
*	Written in Python, which has a supportive developer community. 
*	Includes useful tools including material stripper for 3DSMax
pre-lighting support, and transform zeroing (convert coordinates to
*	Open Source (Python/BSD) license (see distribution for details)

>From the release notes:

2000/04/19 -- version 2.0 beta
This represents the first public release after re-writing the core node
structures (prototype, node, etc.) and revising all scripts to use the new
(simplified) interfaces (surprising minor revisions, giving the level of the

The re-writing was triggered by switching to the SimpleParse parser
generator from the older mcf.pars parser generator (it was simpler to write
a new builder/parser using the SimpleParse generator's more reliable parse
tree than to retro-fit the original fragile converter).  In doing so, the
memory overhead for parsing long files with many root-level nodes has been
reduced.  Overall speed appears somewhat better, but not dramatically so.

Enjoy all,
 Mike C. Fletcher
 Designer, VR Plumber

More information about the Python-list mailing list