2-8-2003 06:07 Sydney Australia Time
Seamless 2.027 Update ****
Finally after months of experimentation and the redesign to a lot of Seamless's internal code Seamless 2.027 is ready to supersede 2.026 and is ready for download. Most of the work has been in regard to making the fields more intelligent so that PROTOs and ROUTEs can be implemented. Seamless 2.027 still is unable to allow the user to write their own PROTOs but soon as I have the time to work in this area I don't see any major obstacle preventing me from doing this. For now though I am happy that the new code allows fields to be triggered by events so that ROUTEs are now a woking reality for 2.027. Many standard VRML97 nodes are now supported with at least a programmable control panel containing all the fields so that vrml content can be written and saved by seamless for a VRML browser. Even if the field has no actual functionality in Seamless3d though many do, the field will at least function as something that can be edited in a graphical user interface. The 6 standard interpolator nodes used for animation are now able to animate shapes in seamless using the standard method of adding a ROUTE from a TimeSensor node to an Interpolator node and then a ROUTE to a Transform node. I also have added one of my own Interpolator nodes the CCPath (Circular Curve Path) which can allow the user to quickly write straight and circular curved paths for any vrml shape to travel. Making these recent changes has resulted in me learning new exciting C++ programing techniques as well as a more clear understanding of VRML concepts and I feel a better grasp on the philosophy behind VRML ROUTEs and fields. There is next to no redesign to my actual Seamless II nodes I developed late last year and early this year. They pretty much remain the same back to the early versions functionality wise though the fields now all use the new redesigned code behind the scenes. Unlike most standard VRML97 nodes they don't use ROUTEs but I am thinking I will take advantage of using ROUTEs for animation and some other possibilities. The main difference the user will notice is the face lift made to the node's control panels. They are no longer grey drab looking dialogue boxes but the important reason for the new colourful look is a result of realizing that the fields in a PROTOs control panel must be dynamically added by seamless as opposed to them being hardwired by me if the user is going to be able to write their own nodes and be able to use a control panel for them. As a result of this conclusion and developing more sophisticated code for the PROTOs It was a logical conclusion to apply this code to the built in nodes as well. This means I can add new control panels for nodes and have them working acceptably bug free in a fraction of the time it took the old hard wired way. Sadly my tutorials I find soon get out of date fast. Its proving to be very time consuming to keep updating them especially taking all the pictures for the step by step tutorials before they get a chance to seen by just a few. I have rewritten most of the Seamless II tutorials for 2.027 using less pictures and more simple working examples to help reduce this problem. I think this is better for my limited time and the person who follows the tutorials since a simple working example is a concrete way (over time) to verify the mind's perception of the truth with the truth. Simple examples have other advantages, they take up less web space and are more interactive than pictures. I hope my new tutorial "The Seamless way to VRML" will serve as a reference to truths concerning Seamless3d's design and philosophy. When creating shapes using the Seamless II build nodes there should no longer be a need to use a text editor like VrmlPad to edit smls files like there might have been because 2.027 has new paste functions that allow the user to move and insert nodes anywhere in the scene tree at any stage in development. The new intelligent code for the fields, ROUTEs and other new functions added to 2.027 has not made seamless any bigger in file size. In fact 2.027 is slightly smaller than 2.026 thanks to the new more intelligent and dynamic code making lots of old hard wired code obsolete.