Re: [K3d-development] CVS release notes - K-3D 0.3.0.6
Brought to you by:
barche
From: Romain B. <rom...@ya...> - 2003-02-26 16:50:02
|
> Won't try to hide it, gang - it's been a damned > exciting week, another good one for the scripting > buffs: > > * Added property (i.e. name/value pair) support to > k3d::icommand_node. > This allows an object to "advertise" all of its > public properties, and as you'll recall, is an > integral part of our future gui-separation work. > > * Added support for easily advertising any k3d::data > object as a property. That's right - any k3d::data > object that supports the name() concept can become a > public property in one line of code. Very interesting, do you have any example script? :) > * Completely refactored the JavaScript object model. > Got rid of the many "detail" classes so that > > MyDocument.Objects.Create("Mesh"); > > becomes > > MyDocument.CreateObject("Mesh"); > > ... similarly, > > point.Location.Local = [1, 2, 3]; > > becomes > > point.local = [1, 2, 3]; Got rid of ObjectCollection in Python engine too, but I'm not sure about Location. I have trouble to read paths in Python, since point pointers can't be compared within the scripting engine as it's done in C++: every pointer is wrapped and real object pointer is private information. export_geometry.python gets point list, but I can't figure out how to assign a point index to each pathpoint. May I wrap k3dIPoint::PointID ? > FWIW, things were the way they were to support the > ugly, practically-gone k3dIEditable way of > supporting undo/redo. I'm happy to be rid of both. > > * Even better, the new JavaScript code "attaches" > methods and properties to objects at runtime, so > that each object is automatically the union of > all the underlying interface capabilities. This is > gonna scale significantly better than the old set > of rigid classes, and is (finally) taking advantage > of the flexibility of an interpreted environment. Is this why you removed the ShowViewport() and HideViewport() functions from CPythonCamera ? > * Best of all, the new properties in > k3d::icommand_node are automatically inserted into > the JavaScript objects - so the JavaScript object > capabilities will automatically grow as new > features are added to the C++ objects, without any > coding. > > * In practical terms, what all this means is that > with these changes we get about an > order-of-magnitude more things that can be scripted, > with another order-of-magnitude in the short term as > I finish the k3dVariable-to-k3d::data conversion. Hope this doesn't imply "without any documentation work" ;) Regards, Romain __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ |