[4. Apr 2008] Ayam 1.14 ======================= o Bug Fixes: - X3D export of NURBS patches (row/column major order) (SF 1804056) - X3D export of NURBS patches (trimmed state) (SF 1804054) - X3D transformations of NurbsSweptSurface child nodes (SF 1813320) - STESS drawing mode crashing for patches with trim loops (SF 1808296) - saved ExtrNC objects failing to load (SF 1814644) - redo missing states with selection changes (SF 1828494) - sweeps with first section -1,0,0 (SF 1837720) - direct rendering of scenes with spaces in filename or path (SF 1840995) - autofocus after preferences window was closed (SF 1846422) - autofocus after implicit import/export (SF 1847870) - keyboard shortcut to switch drawing/shading (SF 1894024) - RIB export of Clones with and in CSG hierarchies (SF 1925224) GUI: o added option to keep the current selection when creating new objects, by simply holding down the key o added hidden preference setting to control the zoom factor of the mouse wheel ("WheelZoom") o added hidden preference settings to control the polygon offset parameters for the "Shade&Draw" display mode ("PolyOffset0" and "PolyOffset1") o avoid stealing the focus from the console on application startup o added "Select All"/"Select None" entries to edit menu (mainly to teach the corresponding keyboard shortcuts) o all dialogs may now be cancelled with the key o closing dialogs using the window decoration is now safer wrt. AutoFocus o improved focus handling of property canvas o added context sensitive help launcher ( key) to all import and export option windows and the preferences dialog o added preference option to switch Ayam to a single toplevel window application; in SingleWindow mode, there are internal views and an internal toolbar, more floating view windows can be created as usual o added icon based modelling action display to view window menu bar o added saving of main window state normal/zoomed (maximized) to the ayamrc file o the iconification state of view windows is now saved with scene files o several main preference settings are not displayed in the preferences editor on platforms/in configurations where they would not be used anyway, e.g. TwmCompat on Win32 o added "SavePaneLayout" tag type to store the pane configuration of the main window in scene files o added hidden preference setting "PaneMargins" that controls individual safety margins for all panes (lest they obscure other vital parts of the GUI as e.g. the main menu bar) o the main preference settings "ListTypes", "MarkHidden", "LoadEnv", and "NewLoadsEnv" are now hidden preference settings o renamed hidden preference settings "PrepDiaCap" to "FixDialogTitles" and "Wpcliptosel" to "WarnPropPasteToSel" o added hidden preference setting "ShiftTab" that let users define the keysym created by pressing shift and tab o added hidden preference setting "FixImageButtons" that enables a work-around for "stuck" image buttons in the toolbox o the operations that can be undone/redone are now also displayed in the corresponding main menu entries o the about dialog has now a "CopyClipboard" button that makes it more simple to copy the relevant parts of the Ayam configuration for e.g. bug reports o added view window keyboard shortcuts to cycle through the view types (PageUp/PageDown) o added secondary view window keyboard shortcuts for important functions as e.g. "zoom to object" (mainly for internal views in single window GUI mode) o reorganized edit, create, and tools menus Modelling: o added new object type "Swing" (for rotational sweeps/swung surfaces) o added new object type "Select" to select one object from a list of provided objects o added new object type "ExtrNP" (similar to "ExtrNC", but extracts patches) o added new object type "OffsetNC" to create offset curves o added NCInfo balloon (that displays more info on generated curves, similar to NPInfo) o added tolerance parameter and checking for remKnNC (knot removal) tool o made side cap creation of Revolve objects more robust wrt. the cross section curve direction o added "undo rewind" command o resolving of instances and automatic instances are now selection aware Import/Export: o import NurbsSwungSurface elements as Swing objects from X3D files o import of NurbsSurface texture coordinates from X3D files o added "TopLevelLayers" X3D export option o added "WriteParametrics" X3D export option (to save Revolve, Extrude, Sweep, and Swing objects as NurbsSweptSurface or NurbsSwungSurface nodes) o X3D export may now be cancelled o DXF export may now be cancelled Renderer Support: o reworked shader parsing (core and ayslx plugin) for incompatible changes in Aqsis 1.2 Scripts/Scripting Interface: o added script "intfd.tcl" to switch all dialogs (file/color) to internal Tk dialogs o added script "showwin.tcl" to de-iconify/show all application windows o added script "tonpatch.tcl" that, similar to "topoly.tcl" converts all objects in the scene to plain NURBS patches o added helper procedure "toolbox_add" for adding text based buttons to the toolbox window Platform Support: Win32: o added true support for custom objects to the VC2005 build (custom objects could not use the RIB export facility, due to missing export symbols from the static Aqsis libraries in earlier versions) Apple Mac OS X: o added official X11 based build o fixed image buttons for the X11 based build o all dialog windows are now proper floating windows Compilation/Installation: o it is no longer possible to wrap the IDR, AyCSG, RRIB, ONIO, or MetaObj plugins into the Ayam executable [21. Sep 2007] Ayam 1.13: ========================= o Bug Fixes: - crash after deleting of objects (SF 1637735) - crash after applying ScriptAttr property (SF 1637748) - crash using STESS drawing mode for curves (SF 1641883) - conversion of NPatch objects misses transformations (SF 1646153) - crash after copying/cutting objects using clipboard (SF 1646155) - insert scene fails with Tcl error on Mac OS X (SF 1648924) - script objects with saved data arrays fail to load params (SF 1650836) - no redraw in modelling view for LazyNotify (SF 1650838) - crtspiralgui example script fails to load parameters (SF 1651366) - wrong start cap of Sweeps with bevels (SF 1652653) - wrong caps of extrusions with transformed parameter curves (SF 1652655) - reversed ModelMode menu (Global/Local) on Aqua (SF 1656876) - ONIO: import of texture coordinates for polymesh objects (SF 1658182) - provide/convert of transformed objects with caps (SF 1658185) - provide/convert of non-simple quadrics (SF 1661508) - newly created level objects may get wrong type (SF 1661732) - provided NURBS patches of non-simple spheres (SF 1665915) - closing preferences with Ok does not redraw (SF 1665917) - extrude ignoring bevel parameter revert (SF 1673532) - tesselation GUI crashing when instance objects are selected (SF 1676787) - object picking fails in draw level only views (SF 1680998) - object picking reconsider dialog selection is off-by-one (SF 1681000) - Tcl error when clicking into the (empty) property list for multiple selected objects (SF 1682820) - Tcl error for "Help on property" if no properties are present (SF 1682822) - STESS tesselation after certain NURBS curve modelling tools (SF 1690799) - first view does not appear in the tree view (SF 1695151) - crash when elevating non-clamped NURBS patches (SF 1701803) - incorrectly drawn lights with light shaders (SF 1764817) - "Defaults!" button in shader property GUIs when a shader parsing plugin is in use (SF1779508) - single point editing of multiple selected objects (SF 1790657) GUI: o fixed select background color when changed via X resources (backported appropriate BWidgets bug-fix) o fixed local views redrawing upon scene saving o added tag type "RP" to block access to certain properties of an object via the property GUI o ExtrNC objects may no longer, erroneously, be associated with materials o improved handling of AutoFocus in various dialogs o added last used tool facility to Tools main menu o added keyboard shortcuts to set point coordinates in the direct point editing dialog (using or ) Modelling: o added "Revert" parameter to ExtrNC object o ExtrNC objects now draw a direction arrow (like NCurve objects) o ExtrNC objects may now extract the complete surface boundary o the standard ConcatNC knot type is now "Custom" o Cap objects can now also create caps from non-planar curves (by splitting the curve into four pieces and building a Gordon surface) o in direct connection with the above, Gordon surfaces now support rational curves for the special case of a Coons patch configuration (four curves) o improved speed of object picking in shaded views o added Split PolyMesh modelling tool o added clamping of NURBS patches (new scripting interface commands "clampNPU" and "clampNPV" and new main menu entries "Tools/NURBPatch/Clamp") o added "rescaleKnNP" command to rescale the knot vectors of NURBS patches and main menu entries "Tools/NURBPatch/Rescale Knots to Range" as well as "Tools/NURBPatch/Rescale Knots to Mindist" o added "insknNPU"/"insknNPV" commands and tools (new main menu entries "Tools/NURBPatch/Insert Knot U" and "Tools/NURBPatch/Insert Knot V") to insert knots into NURBS patch knot vectors o added "splitNPU"/"splitNPV" commands and tools (new main menu entries "Tools/NURBPatch/Split U" and "Tools/NURBPatch/Split V") to split NURBS patches at defined parametric values o added "extrNP" command and tool (new main menu entry "Tools/NURBPatch/Extract Patch") to extract a sub-patch from a NURBS patch o improved knot type handling in remove knot tool o added "trimNC" command and tool (new main menu entry "Tools/NURBPatch/Trim") o sweep cross sections may now be scaled independently in x- and y-dimension by using the y- and z-dimensions of the scaling curve o sweep and birail objects now support 0 as number of desired sections and derive the sections from the trajectory or first rail curve respectively o birail objects now support 1 and 2 sections properly Drawing/Shading: o added antialiasing drawing option for lines o added hidden/wizard preference options for line width: "LineWidth" and "SelLineWidth" (set via ayamrc file) o improved drawing of selected curves in "Shade&Draw" views o improved shading quality of NURBS surfaces in STESS mode o revived STESS drawing of trimmed NURBS surfaces Import/Export: o added DXF import/export plugin dxfio o added X3D import/export plugin x3dio o Mops import is now a plugin o Wavefront OBJ import/export is now a plugin o files may now be imported using the normal "File/Open" and "File/Insert" menu entries (Ayam will load the right plugin automatically and open the corresponding import options dialog, pre-seeded with the right filename) o likewise, scenes may be exported using "File/Save as" and choosing a filename with an extension o improved scalefactor option usage in rrib plugin o added option to write binary 3DMF files o added ReadCurves/WriteCurves/WriteSelected/ScaleFactor/RescaleKnots options to 3DMF import/export o added proper trim curve support to 3DMF export/import o all import options that scale NURBS patch knots now also scale the trim curves properly o added ReadSTrim import option to mfio, onio, objio, and rrib Scripts/Scripting Interface: o added example script "toPoly" that allows to easily convert the whole scene to PolyMesh objects o added example script "zap" that shows how to create buttons in the Ayam toolbox o improved error detection and reporting of "withOb" command o renamed getPnt option -u to -p and added support to get surface points o added special keyboard shortcut to the console that executes the current command, updates the GUI, and redraws all views Documentation/Example Files: o added small example scene files for some tool objects in "scn/objects" Platform Support: Apple Mac OS X (Aqua): o fixed keyboard shortcuts to quickly switch property GUIs (numeric keypad) for Tcl/Tk 8.4.15 [1. Jan 2007] Ayam 1.12: ======================== o Bug Fixes: - extra help menu entry Helpblock (SF 1549831) - RenderGUI feature can not find cat.exe on Win32 (SF 1549833) - File/Save Selected As only writes one object (SF 1553274) - NURBS curves show wrong type after creation (SF 1556881) - NURBS curves knot type not changeable (SF 1556882) - Apply of Transformations property notification error (SF 1560022) - Revolve in B-Spline mode from certain curves fails (SF 1565889) - insert/delete point actions do not redraw and notify (SF 1566337) - refine tool does not work (SF 1568723) - calling revert tool from main menu error (SF 1568725) - getting list based property values with getProperty fails (SF 1572216) - using refineNC with parameters may lead to crash (SF 1572217) - set gridsize ok button not working properly on Aqua (SF 1573133) - setting list based property values with setProperty fails (SF 1575072) - wrong error messages of setProperty (SF 1590901) - skins of rational curves not interpolating their bounds (SF 1592471) - creating tool objects and level objects moving wrong objects (SF 1594359) - Wavefront OBJ export ignores Bevel objects (SF 1597251) - automatic instancing ignores Bevel objects (SF 1597994) - Wavefront OBJ export of Level objects leading to multiple end statements (SF 1597995) - Rhino 3DM export ignores Bevel objects (SF 1598573) - Apple 3DMF export ignores Bevel objects (SF 1598574) - default documentation URL offered in preferences on Aqua (SF 1599917) - refineNC with new knot vector not setting correct knot type (SF 1599950) - changing background image does not set scene change state (SF 1607354) - conversion of clone objects in mirror mode (SF 1620358) - swapping of mouse buttons on Aqua (SF 1623735) GUI: o added "set arbitrary grid size" entry to view window grid menu o when a grid size is set for the first time, the grid will now automatically be drawn and also activated immediately o added NURBS curve open/close/make periodic manipulation tools to main menu (previously only available through the property GUI) o added help on object to object tree and object listbox context menu o added help on property feature (new property listbox context menu entry: "Help on Property" and new main menu entry "Help/Help on Property") o added explaining balloon info to NPInfo property elements o fixed various tools not setting the scene changed state: split to curves, build from curves, merge PolyMesh, create TrimRect, conversion Modelling: o shift closed B-Spline tool now accepts negative parameters o added remove knot from NURBS curve tool o added coarsen tool for NURBS curves o create trimrect now creates curves with multiple points o added new object type NCircle o Level objects now provide all child objects of requested type to a potential parent object Renderer Support: o added render to file feature: new view menu entry "View/Render To File", new "RIB-Export" preference settings: "FRender", "FRenderUI", and "FRenderPT" Import/Export: o added support for convertable custom objects to Wavefront OBJ, Rhino 3DM, and Apple 3DMF export (this allows direct export of e.g. MetaObj objects) o added support for Script objects to Wavefront OBJ export o added support for NURBS curve providing trim objects to Wavefront OBJ export and Rhino 3DM export Platform Support: Apple Mac OS X (Aqua): o added proper (application specific) about menu o switched to Tcl/Tk 8.4.14 for official binary that allows to build Ayam as universal binary and with support for older Mac OS X versions o improved layout of single menu elements (e.g. LevelAttr property) Win32: o added complete plugin support (including dynamic loading of custom objects) o the official binary distribution now contains just one executable and the onio (Rhino 3DM I/O), rrib (RIB import), and aycsg (CSG preview) plugins [10. Aug 2006] Ayam 1.11: ========================= o Bug Fixes: - fixed not changeable preference setting "AutoFocus" (SF 1497964) - fixed export of PolyMesh objects with PV tags using "Pw" (SF 1504284) - fixed selection of objects in large slow drawing scenes leading to de-synchronized property display (SF 1510329) - fixed Rhino 3DM (OpenNURBS) import of complex scenes with multiple BRep objects (SF 1514799) - fixed usage of tesselation method set via preferences (SF 1519105) - fixed conversion of Text objects ignoring the in_place option (SF 1522335) - fixed crashing Cap object when NPatch and NCurve are used as child (SF 1522337) - fixed OpenNURBS export setting scene changed state (SF 1526206) - fixed edit points modelling action not issuing a notification upon snapping of points to the grid (SF 1528712) - fixed command line parameter parsing on Win32/VC++2005E (SF 1531467) - fixed bevel object changing the child object (SF 1534989) - fixed curvature plots of closed BSplines (SF 1537380) - fixed undo, clipboard operations, and modelling tools not doing notify when preference setting CompleteNotify is set to "Always" (SF 1537385, 1537107, 1537105) GUI: o added default values to "Set GridSize" dialog and object property o added keyboard shortcuts to apply property changes using (on the numeric keypad) o texture coordinate editor now produces less error messages when called without selected object o the picking dialog now appears near the mouse pointer; in addition, a double click on any listbox item now selects it and closes the dialog o added preference setting "AddExtensions" that controls whether Ayam should automatically add file name extensions o moved "Points" sub-menu from "Special" to "Tools" menu o added "Reset Preferences" facility to make resetting the preferences to factory defaults more easy o added keyboard shortcuts to the tree view and object list that extend the current selection to the first and last object of the current level respectively ( and ) Modelling: o added converter from PolyMesh objects to SDMesh objects o added converter from SDMesh objects to PolyMesh objects o reduced number of notification operations and view redraws after a modelling operation o the tesselation tool now adds TP tags to all types of objects o object conversion from tool objects (e.g. Revolve) to NPatch objects now maintains eventually present TP tags o improved drawing of selected curves in "Shade&Draw" drawing mode o added snap-to-grid modelling actions for points, new view shortcuts for that are (2D) and (3D) o made SDMesh scheme property element a menu (and thus changeable) o improved bevelling of rotated curves using the Bevel object Renderer Support: o added shader parsing plugin for Gelato o added renderer profile for Gelato to "Select Renderer" dialog o added shadow map generation preference options to improve Gelato support: "SMFileFormat", SMFileType, and "SMChangeShaders" o added scan shaders option to main menu ("Special/Scan Shaders") o added shader parsing plugin projects to VC2005 workspace o made all shader parsing plugins Ayam version independent o added support to render just one shadow map from the selected light o removed support for Aqsis0.8.0 from renderer selection dialog Platform Support: Apple Mac OS X (Aqua): o added workaround for Apple GLU bug that prevents drawing&shading of Box objects and NURBS patches in one scene o added default value to "Docs" preference setting, that points to the HTML documentation in the application bundle o added a workaround to make the standard application exit keyboard shortcut work o added hidden preference setting "PrepDiaCap" that prepends message box titles to their message as the titles are not displayed on every system o default keyboard bindings for the Alt-Rotate view action and the stretch modelling action now use the correct keysyms o primarily for running from an application bundle, Ayam now allows to turn off the splash screen via environment variable "AYNOSPLASH" Import/Export: o added progress display to Wavefront OBJ import and export o made cancel button work properly for Wavefront OBJ import and export o added scale factor option to Wavefront OBJ import and export o added support to detect and fix degenerate faces to Wavefront OBJ import o improved detection of consecutive faces for Wavefront OBJ import: now intermediate "usemtl"-lines do not lead to isolated faces anymore o added scale factor option to Rhino 3DM (OpenNURBS) import and export o added progress display to Rhino 3DM (OpenNURBS) import and export o added scale factor option to RIB import Scripts/Scripting Interface: o removed superfluous commands "revertNC" and "revertIC", use "revert" instead [13. May 2006] Ayam1.10: ======================== o bug fixes: - fixed TP tags created by tesselation GUI (SF 1431917) - fixed broken SwapUV of PatchMesh objects (SF 1436463) - fixed display of SParamV parameter in tesselation GUI (SF 1468212) - fixed initial point size when drawing meta object components (SF 1486208) - fixed initial notification of meta objects for reading from scene files without views (no OpenGL context) (SF 1487787) o added "BP" tag type to store bevel parameters o changed bevel parameter storage mechanism and property GUI of Extrude and Text objects to use BP tags o added new bevel modes, that automatically create caps (for convex outlines without holes) o added start/end bevels to sweep, skin, birail1, and birail2 objects o added Bevel object type o added periodic sweeps; "Closed" attribute renamed to "Type", for new type "Periodic" a periodic trajectory will now be sampled in a way, that a fully closed/periodic smooth sweeped surface is created o added support for one and two section sweeps (with consequently lower order) o added mechanism to close NURBS patches in either u or v parametric dimension o added multiple points support to NURBS patches o improved NURBS tools menus: "Reset Weights" now appears in correct sub menus, collapse/explode points commands moved to NURBCurve and added to NURBPatch sub menus respectively o added full interpolation control option to Birail2 object o ExtrNC now checks for and sets a correct curve type o added display of the number of created triangles to tesselation GUI o added standard Docs URL to the preferences dialog o "Set BGimage" in the view menu now also enables drawing of the BGImage o improved font selection for keyboard shortcut display window on MacOSX/Aqua o improved tesselation GUI layout of SMParamV on MacOSX/Aqua o fixed blocking about dialog on Tk 8.4.12 on MacOSX/Aqua o added help menu entries to view window menus on MacOSX/Aqua o fixed compilation of IDR plugin on MacOSX/Aqua o fixed blocking help menu entries for Tk 8.4.13 on MacOSX/Aqua o fixed blocking show preferences application menu entry for Tk 8.4.13 on MacOSX/Aqua o fixed display of splash screen on MacOSX/Aqua o fixed documentation paths in Ayam.app and Ayam.dmg compilation targets o added target to build an Ayam.app application bundle that contains a local copy of the Tcl and Tk frameworks o fixed compilation of onio plugin with recent SGI-CC versions and with MS VC++2005E o improved tifflib directory usability test in ayamConf.tcl o added complete notification feature; in scenes with references, this makes sure all tool objects depending on references (directly or indirectly) are notified about changes of the master object; this feature is controlled via the new preference setting "Modeling/CompleteNotify" o added "centerPnts" scripting interface object and corresponding entries in the "Special/Points" menu to center all points of an object o made "HideChildren" attribute accessible in object Attributes property GUI o RIB-Export now obeys the "HideChildren" attribute o initiate notification upon creation of tool objects o sort parameter objects upon creation of tool objects o fixed compilation of Ayam with current SGI-GLU (Mesa 6.5) and MS VC++2005E o added MS VC++2005E workspace for compilation on Win32 o added workaround for broken GLU implementations (views stop to draw NURBS after the tesselation facility was in use) [12. Feb 2006] Ayam 1.9: ======================== o bug fixes: - fixed automatic merging of PV tags (SF 1238692) - fixed root object not drawn upon "File/New" (SF 1245221) - fixed warning message to disable script tags and objects while loading scenes via MRU menu entries (SF 1245225) - fixed provided clone objects missing transformations (SF 1247844) - fixed crash when using undo after an in-place conversion (SF 1253036) - fixed crash when using undo after tesselation GUI (SF 1258297) - fixed tesselation GUI not updating the object tree properly (SF 1258299) - fixed create trimrect tool setting wrong weight values (SF 1269176) - fixed tesselation GUI not working with multiple selected objects (SF 1294013) - fixed tesselation GUI not removing all TP tags (SF 1294023) - fixed Shift+Tab bindings when Ayam is used with Tk8.4 (SF 1324656) - fixed opening of the preferences editor leading to Tcl errors in rare cases (SF 1325362) - fixed "repairAyam.tcl" not working on MacOSX (SF 1345611) - fixed drawing of selection rectangle on MacOSX (SF 1394822) - fixed flashing of editable points on MacOSX (SF 1394823) - fixed RIB export of SDMesh objects using "Pw" instead of "P" (SF 1415306) - fixed sweeps of regular trajectories failing in rare cases with low numbers of sections (SF 1418635) - fixed crash when instance objects get deleted from undo buffer (SF 1424580) - fixed crash when ConcatNC has no children and option FillGaps is enabled (SF 1425749) o improved OBJ import of files with trailing whitespace as e.g. written by Blender o script objects now cache a compiled version of the script for faster execution o added support for disabling "NS" (notify script) tags upon loading o added wizard preference option to control warnings about unknown tag types o added facility that allows plugins to correctly reconnect already present tags of the types that are defined by the plugin upon initialization o added "UMM"/"VMM" tag types that may be used to trim the knot vectors of NURBS curves and surfaces by specifying min/max values o added keyboard shortcut to close the toolbox window o added scripting interface command "repOb" and corresponding main menu entry "Special/Clipboard/Replace" that replaces the currently selected object(s) with the object clipboard content o added new object type "RiProc" for procedural objects (supporting DelayedReadArchive, RunProgram, and DynamicLoad) o added a mechanism to allow cascaded script objects o added proper error messages when no objects are selected upon creation of NURBS tool objects (revolve, skin, etc.) o improved deleting of referenced objects o skin objects now work with multiple provided objects o clone objects in mirror mode now provide all objects (normal and mirrored) and reverse the order of the mirrored objects so that a single clone in mirror mode with a single NURBS curve as child can serve as parameter object for a skin o changed the "Closed" attribute of NURBS curves to "Type", adding a distinction between normal closed curves (e.g. the standard NURBS circle) and periodic curves (e.g. circular B-Splines) o added "IsRat" (is rational) attribute to NURBS curves and patches and changed all import/export modules to use this attribute to write properly attributed and smaller files for non-rational curves and patches o improved AutoFocus on window systems that only do AutoRaise by switching off AutoFocus temporarily when certain dialogs are open (so that they do not get "shuffled under" by accidental mouse movements) o made order of NURBS curve drawing options more consistent (to the NURBS patch drawing options) o added "RescaleKnots" option to Wavefront OBJ import, Rhino 3DM import, and RIB import to allow immediate rescaling of knot vectors to safe distances (e.g. for display with GLU) o added "TopLevelLayers" option to onio plugin that converts the top level level objects to layers for Rhino export o renamed main menu entries "File/Replace" and "File/Load Custom" to "File/Open" and "File/Load Plugin" respectively o added command line option "-noview" that inhibits loading of the environment and opening of a first view window upon startup o changed default behaviour of Ayam on the very first start (no ayamrc file and no environment found): Ayam will now open a first view window o added new NURBS curve and surface drawing and tesselation modes not based on GLU called "STESS" (for simple tesselation) o added example/helper script "2lcons.tcl" that restricts the Ayam console to display just two lines of text o "TP" tags now handle a second parameter to allow adjusting the quality of the tesselation independently in the U and V parametric dimensions o the "forAll" and "forAllT" scripting interface commands now maintain the selection for the object tree o improved memory consumption of undo system for view-less modelling o added "Load from file" context menu entry to script object, to allow direct loading of scripts from Tcl files o added scripting interface commands "setProperty" and "getProperty" to ease management of property values o added view draw option to draw object coordinate systems o NURBS knot vectors are now protected from accidental modification via apply operations in the property GUI o added "addToProc" command to scripting interface o Rhino 3DM: added support for exporting arbitrary trimmed NURBS patches (using polyline approximations for trim curves that can not be pushed up from 2D to 3D by OpenNURBS) o Rhino 3DM: added support for exporting trim loops consisting of multiple trim curves o improved example script for adding toolbox buttons (did not span the whole toolbox on Win32) o added work-arounds for console cut and paste and some keyboard shortcuts not working anymore on Tk8.4 o added work-around to fix drawing/shading of NURBS curves/surfaces on MacOSX/Aqua in multiple view configurations o added "Ayam.app" application bundle directory structure and resources for running on MacOSX/Aqua; when copied to the application folder, this makes Ayam a first class application on MacOSX/Aqua with icons, connected document types etc.; HTML docs and plugins are also in this bundle now o added hidden preference setting to swap mouse buttons 2 and 3 for running on MacOSX/Aqua o added hidden preference setting "UseInternalFD" to allow loading of plugins from the Ayam.app application bundle directory structure on MacOSX/Aqua o added AppleScript port to Ayam so that now e.g. scene files may be dropped onto the (docked) application icon on MacOSX/Aqua and "repairAyam.tcl" may send itself to Ayam via AppleScript now as well o added fixes for miscellaneous GUI look and feel glitches on MacOSX/Aqua: "blinking" tool tips, too narrow buttons, black notebook tabs, invisible color buttons in property gui, misaligned check property gui elements, vertical alignment of menu property gui elements, starting size of object tree, window attributes of toolbox and direct point editing dialog, view menus (no icon images allowed) o default ayamrc filename on MacOSX/Aqua changed to "~/Library/Preferences/.ayamrc" and environment file to "~/Library/Preferences/.ayam2view.ay" o improved handling of local ("file://") documentation URLs o added hidden preference option "CursorEnd" that controls moving the console cursor to the end (ready for entering text at the prompt) when the console gets the focus (e.g. by clicking anywhere into the text widget) o added DMG (disk image) distribution method for MacOSX/Aqua o Win32 AyCSG executable is now compiled with the newest GLEW to make AyCSG work with OpenGL 2.x drivers o added support for "Loop" subdivision scheme to both RIB import and export o added "NumPatch" option to ExtrNC objects so that they may now select a patch from a list of patches (may now extract a border curve of a bevel from an Extrude object) o added display of scene changed state in main window titlebar [5. Jul 2005] Ayam 1.8.3: ========================= o bug fixes: - fixed moving of tagged points of multiple selected objects (SF 1220972) - fixed notification of multiple modified objects upon undo/redo (SF 1223494) o improved import option dialogue of "rrib" plugin (added FileName) o improved import and export option dialogues of "onio" plugin (added FileName) o file, multiple file, and multiple directory property GUI elements now automatically scroll to the end after a "Set" operation to show the more relevant part of the changed value o added Wavefront OBJ import (supporting trimmed NURBS and polygonal faces with texture coordinates) o added support for Hyperboloid and Paraboloid objects to 3DMF export o improved error reporting of "onio" plugin o added support for importing polygonal meshes to the "onio" plugin o added option to merge PV tags of PolyMesh objects to merge PolyMesh tool o Main menu entry "Special/Resolve All Instances" no longer completely resets the tree widget so that it is more clear, that it really just operates in the current level (and below) o onio import now handles texture coordinates for polymesh objects o onio export now handles polymesh objects (with texture coordinates) o Wavefront OBJ export now supports export of all quadrics as NURBS o added instant apply facility to all property GUI elements, holding down the "Shift" button while interacting with buttons and menus and pressing the "Enter" key in entries will cause an instant apply now o improved initial knot type of Skin objects (now NURBS instead of Bezier) [15. May 2005] Ayam 1.8.2: ========================== o bug fixes: - fixed provide callback (e.g. for Wavefront export) of transformed extrude objects with caps and bevels (SF 1207251) - fixed focus handling on startup with splash screen (SF 1208722) - fixed endless loop for closing view windows with view objects not in the root objects child level (SF 1208726) - fixed erroneous (superfluous) view redraws and point flashing of direct point editing action when normal point editing and flashing of points was enabled before direct point editing was invoked (SF 1207921) o added a helper script "repairAyam.tcl" that resets the state of Ayam should it be stuck in an endless recursion of Tcl errors o improved handling of CFLAGS and Tcl/Tk8.4 in ayamConf.tcl o added new plugin "onio" that imports from and exports to the Rhino 3DM file format using OpenNURBS (http://www.opennurbs.com/) o added conversion of all quadric objects to NURBS representations including support for all quadric parameters and all caps o added conversion of box objects to a NURBS representation o added radius option to the "crtNSphere" and "crtNCircle" scripting interface commands and the respective tool menu entries in the main menu o improved bevel creation for extrusions of curves with weighted sections o added new tag type "NP" (for new property) that allows to add new properties (and their property GUIs) to objects o added support for script controlled property GUIs to the script object (see new script example "scripts/crtspiralgui.tcl") o added option to rescale knot vectors of NURBS curves to arbitrary ranges and to minimum distances to the "rescaleKnNC" scripting interface command o added flashing of editable points to direct point edit, tag, delete, and insert point actions o added scripting interface command "help" that (similar to the "Help on Object" main menu entry) opens a web browser with the documentation of a scripting interface command o added shortcut to scripting interface command pclip_copy: "copyProp" [14. Mar 2005] Ayam 1.8.1: ========================== o bug fixes: - fixed "setPnt/getPnt" scripting interface commands for NURBS patches with differing width and height (SF 1091407) - fixed Tcl errors for property listbox scrollbar on Win32 (SF 1104662) - fixed views sometimes getting wrong camera values (SF 1106832) - fixed tesselation gui not working with already present TP tags (SF 1110857) - fixed memory leak in tesselation gui (SF 1202363) - fixed OBJ export of Birail1, Birail2, and Text objects (SF 1203345) - fixed 3DMF export of Birail1, Birail2, and Text objects (SF 1203343) - fixed rendering of multiple CSG objects using the AyCSG plugin (SF 1205872) - fixed rendering of CSG hierarchies with multiple unions using the AyCSG plugin (SF 1205870) o added a new object type "Script", that executes small Tcl scripts to create complex objects, modify objects or do other things o added example scripts for the new Script object type to the new "scripts" sub-directory o added tag type "NS" that may contain small Tcl scripts to be executed when the notification callback fires o added support for the extraction of curves at arbitrary parametric values to the "ExtrNC" object type o improved extraction of curves from transformed patches; the transformations are now copied to the curve and not applied to the control points o added information dialog to the preferences that informs the user when a restart of Ayam is needed in order for his changes to take effect o views may now be rotated and zoomed while the tesselation gui is active o added warning message for light objects with light shader but type != custom o added support for NPatch providing objects to tesselation GUI o improved delegation of transformations using the "delegTrafo" scripting interface command o added support for bounding box speedups to the AyCSG plugin ("CalcBBS" option now works) [29. Oct 2004] Ayam 1.8: ======================== o bug fixes: - fixed "loadayslo3d.tcl" loading the wrong plugin (SF 928054) - fixed "Select Renderer" setting a wrong shader extension for "3Delight" (SF 928055) - fixed memory leak reading NURBS patches with custom knot vectors from scene files (SF 959714) - fixed detection of negative scale factors (SF 962427) - fixed splitting of NURBS curves not setting undo operation name (SF 974216) - fixed empty ayamrc when toolbox window is closed on exit (SF 977750) - fixed crash with -h command line option (SF 979966) - fixed zooming of view windows via numeric keypad (SF 986519) - fixed swapUV/revertU/revertV NURBS patch tools not undoable (SF 994389) - fixed bevels from extrusions getting wrong knot vector types (SF 994626) - fixed caps and bevels of converted extrusions getting wrong transformation attributes (SF 994632) - fixed broken caps of skins (SF 995711) - fixed broken curvature plots of rational curves (SF 997184) - fixed broken shader parsing with newer Pixie versions (>1.2.9) (SF 998535) - fixed create NURBS tools not setting the scene changed state (SF 1008840) - fixed RIB import of archives with relative path names (SF 1009841) - fixed broken matrix property GUI elements (SF 1021320) - fixed session management of shared executables (SF 1029709) - fixed direct point editing failing to initiate notification (SF 1033192) - fixed "ZoomRectangle" destroying actions in other view windows (SF 1039858) - fixed RIB-Export ignoring custom up-vectors (SF 744119) - fixed slow drawing of small grids far away from the origin (SF 1047772) - fixed compilation on SGI/IRIX using gcc (SF 1050515) o added a new object type "Text", that uses Bezier curves extracted from TTF (TrueType) font description files together with the extrusion mechanism to form three dimensional letters (TTF parsing provided by Frank Pagels) o added a CSG preview plugin (aycsg) based on OpenCSG o added preference options to adjust the mouse button of the ZoomR and Rotate view actions o improved behaviour of Ayam if double clicks are used in file requesters on the Win32 platform o added "Sections" parameter to Revolve objects that controls whether a circular B-Spline should be used instead of the standard NURBS circle o added "Order" parameter to Revolve objects that further controls the surface of revolution in B-Spline mode o added the following options to the Wavefront OBJ export: "Selected", "TessPoMesh", and "OmitCurves" o improved KDE integration (wrt icons in toplevel windows) o improved TrimRect tool; it can now infer the parameter space dimensions from selected NURBS patches o added Tesselation GUI that helps to determine the best matching tesselation parameters in an interactive way (new menu entry "Tools/NURBPatch/Tesselate") o added keyboard shortcuts to display property GUIs, using keys <0> to <9> o added new object type "Birail1" that sweeps a cross section curve along two so called rail curves o added new object type "Birail2" that sweeps a cross section curve along two so called rail curves while morphing it into a second cross section curve at the end of the rail curves o added provide mechanism capabilites to the Level object, thus it is now possible to use an intermediate Level object to add tags to an Instance object (that is used as parameter object of a tool object) o improved behaviour of single point editing actions for multiple selected objects o fixed problems exiting Ayam on Mac OS X introducing a fast exit compile time option o improved preferences window management o added "toXYNC" scripting interface command that rotates an arbitrary oriented planar NURBS curve back to the XY plane o caps may now be created of arbitrary oriented planar curves o added new object type "ExtrNC" that extracts a NURBS curve from a NURBS patch object delivered as child object, as usual o added flashing of control points to the single point editing action controlled via the new preferences option "Modeling/FlashPoints" o added NURBS curve tool "makeCompNC" that makes the selected NURBS curves compatible for e.g. skinning, see also the new main menu entry "Tools/NURBCurve/Make Compatible" o View windows are now drop targets like the view objects in the Root level, this means you can now e.g. drag&drop normal objects from the tree view to any view window and the view window will zoom to the dropped objects, dropping lights lets you see through the light, dropping cameras copies the settings from the camera to the view o the HTML version of the documentation now contains more correct image tags o improved behaviour of toolbox buttons for the special actions with held down "Shift" key o improved single point editing wrt. scaled objects and zoomed views; PickEpsilon is now interpreted in object space and may not be zero anymore, preferences from older versions will be reset to 0.2 o Gordon objects WatchCurves feature now saves the original curves in the undo buffer o added shortcuts to select all points (), invert the point selection () collapse selected points () and explode the selected points () to view windows [27. Mar 2004] Ayam 1.7: ======================== o bug fixes: - fixed object picking in draw-level-only views (SF 817796) - fixed (RIB) import of geometry after AreaLights (SF 825629) - fixed degree elevation of rational curves (SF 831901) - fixed drawing of handles for drawing mode "Shade&Draw" (SF 835166) - fixed memory leak in skin notification callback (SF 839424) - fixed update of preference editor upon "Save Environment" (SF 840184) - fixed loading of shader parsing plugins into XML parsing executables (SF 846743) - fixed NURBS spheres and NURBS patches created by "Build from Curves" tools not accepting trim curves (SF 849781) - fixed automatic scrolling to property GUI elements for dynamic property GUIs (SF 850477) - fixed "Reset Weights" action not being undoable (SF 856762) - fixed NURBS patches created by converting tool objects not accepting trim curves (SF 860474) - fixed pasting of properties using the property clipboard not being undoable (SF 864860) - fixed certain modelling states, in conjunction with changed selections, not being reachable by redo (SF 866321) - fixed undo system creating "null" states in the undo buffer, when modelling is resumed after redo (SF 868328) - fixed undo/redo crashing if objects that are in the undo buffer are deleted by consecutive object clipboard operations (SF 871521) - fixed various view operations (FromCamera, ToCamera, SetGridsize, SetFOV, ZoomToObject, AlignToObject) not being undoable separately (SF 877171) - fixed IDR plugins propagate parent action crashing for objects in the root level (SF 878550) - fixed conversion not initiating notification (SF 882935) - fixed 3DMF export not supporting "Clone" objects (SF 888029) - fixed bounding box calculation of trimmed NURBS patches and "Cap" objects (SF 889831) - fixed resetting the undo prompt after "File/New" and after the "UndoLevels" preference setting is modified (SF 898786) - fixed wrong undo prompt after the undo buffer is filled (SF 899870) - fixed double/half size of view windows using the view menu (SF 903555) - fixed normals of newly inserted vertices created by tesselation of PolyMesh faces with holes (SF 911538) - fixed not applied property changes getting lost on view enter (SF 911808) - fixed scrolling of "LightAttr" property GUI (SF 915233) - fixed Tcl errors when creating Level objects in closed levels (SF 920805) o when the keyboard focus is moved from object tree/listbox to property GUI, the GUI is now scrolling to the entry with the focus immediately o added "curvPlot" scripting interface command that creates a curvature plot in form of a NURBS curve object from a selected curve object o the "Set FOV" menu entry is now disabled for parallel views o improved keyboard handling of "Tags" property GUI o improved resizing of property GUI elements o added new tag type "PV" for primitive variables o RIB-Import: added support for primitive variables to all geometric primitives o RIB-Export: added support for primitive variables to objects of the following types: NPatch, BPatch, PatchMesh, PolyMesh, and SDMesh o added "swapUV" scripting interface command and NURBS patch tool that swaps the u and v parametric dimensions of BPatch, PaMesh, and NPatch objects o added "elevateNPU"/"elevateNPV" scripting interface commands that elevate the order of the selected NURBS patch(es) in the parametric dimension u/v o reduced number of necessary redraws for subsequent "select all" operations o added keyboard shortcuts to extend the current selection by pressing and to the object tree and listbox o the "Select Renderer" feature no longer loads the "ayslx" plugin if scan shaders is enabled and libslxargs has been compiled into Ayam as primary shader parsing library o improved initial directory and file type setting of "Load Custom Object" file dialog o added support for shader parsing plugins on the Win32 platform o the "Select Renderer" feature is now able to automatically load shader parsing plugins on the Win32 platform o improved mouse wheel handling for property GUI scrolling on Win32 o added new object type "Gordon" for Gordon surfaces o pasting a Tag property now adds the new tags to the old ones, rather than completely replacing them o added new option to the "Clone" object that may be used to create clones mirrored at the YZ-, XZ,- or XY-plane o the "Clone" object can now also create clones of "Instance" objects o cutting/copying objects to the object clipboard and deleting objects no longer completely clears the undo buffer, instead, just the deleted objects will be removed from the undo buffer o added preference option "Modeling/Snap3D" that controls whether grids always influence all three coordinate values o added zoom to rectangle feature (zooming into a rectangular region of a view marked with the mouse while holding down the "Shift" key) o local views now align automatically after selection changes o added icon based global/local mode menu to view windows, removed local entry from view configure menu o hotkey preference settings are now sorted in the ayamrc file o added support for shared objects/plugins to the MacOSX specific build process o added support for invoking a standard web browser to display the help/documentation for MacOSX o eliminated unnecessary redraws for clicks in the free space of the tree widget (to select the last object in the current level) o added "revertU"/"revertV" scripting interface commands and NURBS patch tools that revert BPatch, PaMesh, and NPatch objects in the respective parametric dimension o holding down the "Shift"-key now initiates a complete notify when the "Force Notification" button in the toolbox is pressed o added a Wavefront OBJ export module, see new main menu entry: "File/Export/Wavefront OBJ" o the RIB export main menu entry has moved to the new main submenu: "File/Export" o the order of the Ayam Startup Sequence has changed, so that shader parsing plugins loaded automatically via the "Scripts" preference setting may be utilized automatically in the initial shader parsing pass o added hidden preference setting "IconGamma" that may be used to adapt the contrast of all icons (especially the menu bar icons and especially on the Mips/IRIX platform) o added "shiftClosedBS" scripting interface command that shifts the control points of a closed B-Spline curve, see also new main menu entry: "Tools/NCurve/Shift BSpline" o added Makefile configuration GUI ("ayamConf.tcl") for easier compilation (Hynek Schlawack) o added support for Aqsis0.9.0 to the "Select Renderer" feature to follow the incompatible changes in the Aqsis0.9.0 default rendering progress output o improved layout of resized UI-elements on Win32 o improved detection of finished renderings o to add objects to the selection using the object picking action the "Control" key has to be held down (and not the "Shift" key as in older versions) [26. Sep 2003] Ayam 1.6: ======================== o bug fixes: - fixed crash when exporting scenes with malformed RiAttribute/RiOption tags (type "c" or "p", with a component missing) (SF 753550) - fixed rotate view action destroying light sources shader parameter settings (SF 753552) - fixed RIB import of arbitrary attributes (SF 754934) - fixed tag points using drag selection selecting wrong points (SF 763820) - fixed manually resizing view windows not updating the "ViewAttrib" property (SF 766347) - fixed picking in shaded views making grids draw in black color (SF 770221) - fixed "forAll" scripting interface command not tracking index (variable "i") correctly for recursive invocations (SF 774626) - fixed memory leak for RIB export of "RiHider" and "RiDisplay" tags with additional arguments (SF 787525) - fixed memory leak for RIB export of "RiAttribute" and "RiOption" tags (SF 788535) - fixed broken "maintain selection" option of "uS" scripting interface command (SF 794052) - fixed conversion of "Cap" objects ignoring the transformation attributes of the "Cap" object (SF 795293) - fixed crash when clipboard operations were used directly after view close (when the corresponding view object was selected) (SF 797213) - fixed scene loading via command line argument changing the prompt (SF 800914) - fixed material drag and drop not updating the property GUI (SF 807670) o added preference setting "Misc/SavePrefsGeom" to control saving of the geometry of the preference editor window o added two new renderers, Angel and Pixie, to the Select_Renderer feature o added support for sl2xml in favour of sdpslparse o added a new shader parsing plugin ("aysdr.so") for Pixie o added a convert callback to NURBS patches o added a new drawing mode "Shade&Draw" that displays e.g. shaded NURBS and their drawn representation simultaneously, the keyboard shortcut still toggles between drawing and the shaded representation o added a new icon based menu to switch the drawing mode to all view windows o light source objects now honour "NoExport" tags o added support for IntPair and FloatPair parameters to "RiAttribute" and "RiOption" tags, as well as to all tags, that allow a parameter list in the style of the "RiAttribute" tag; new type designating characters are "j" for IntPair and "g" for FloatPair o added a new regexp based method of extracting the progress from the output of the renderer (needed for Pixie-1.2.1 and up) o added backup on replace feature controlled by new preference setting "BakOnReplace" and new hidden preference setting "BackupExt" o improved the "Special/Save Environment" feature, it now always pops up a file requester, and asks to adapt the preferences to use the new environment file o improved drawing speed of selection rectangles (now using GL_COLOR_LOGIC_OP and XOR, if OpenGL 1.1 is available) o added support for using Aqsis libri2rib as BMRT libribout replacement o added a new option "IsLocal" to the light objects, that controls whether all objects in the scene are lighted or just objects from the same level and below o added keyboard shortcut to reset the tree view () o moved material name and reference counter from "RiAttributes" property to new property "MaterialAttr" for Material objects o added a new command "Add/Edit Material!" to the "Material" property o added "Highlight Material" feature (Tools menu) that colours all objects of the same material in red in the tree view o the shader selection dialog now binds to the keyboard and cycle-selects shaders on key-press based on their first letter (e.g. pressing selects "matte" immediately) o added preference setting "Modeling/DefaultAction" to choose between "Pick" and "None" to be invoked when the key is pressed in a view window o added keyboard shortcut for object picking action (

) o added support for RiAttribute tags to light objects o the ConcatNC attribute property now displays order and length of the resulting NURBS curve o added scripting interface command "rescaleKnNC" that rescales a knot vector of a NURBS curve object to the range 0.0 - 1.0 o added "Set BGImage" entry to the "Configure" menu of view windows o added a new, shape preserving knot vector generation algorithm to the "ConcatNC" tool object, enable it by switching the new "Knot-Type" attribute from "NURB" to "Custom" o added a new parameter to the fillet creation algorithm for the "ConcatNC" object, it is named "FTLength" (Fillet Tangent Length) and controls the lengths of the outer fillet segments, which are tangential to the original curves o added new tag type "SaveMainGeom" that is automatically filled with the geometries of main window and toolbox on scene saving and used to restore the geometry upon reading of scenes if it is present for the root object o added new RiOption "StdDisplay" that may be used to inhibit writing of the standard Display option to exported RIB files o added new option to convert mechanism that replaces the original objects with the new converted object, see new main menu entry: "Tools/Convert (In Place)" or press when using the conversion from the toolbox o the default conversion option for objects of type "Instance" now creates new objects (and does not replace the instance with a normal object) o conversion of Revolve, Extrude, Sweep, and Skin objects now always creates a Level object, if the original object has caps or bevels o the "remove tags"-menu in the tags property now also displays tag type names (and not just tag numbers) o added keyboard bindings for the object hierarchy tree: , , , , , move the selection, opens/closes nodes with child nodes, selects all nodes in the current level and removes the selection o all keyboard bindings (except ) also work for the object listbox o when property GUI elements have the input focus an initial press of the key is needed now before any main menu keyboard shortcuts may be used o rotating a view via keyboard is now undoable; if the user holds down an arrow-button, only one entry is made to the undo buffer o multiple selected objects are now always processed in the order in which they occur in the scene, not the order in which they have been selected o improved focus handling in main window; switching the focus from the object tree/listbox to the property GUI is now much faster o updated shader parsing code to follow the incompatible changes in Aqsis V0.7.19 libslxargs o updated shader parsing code of ayslo3d plugin to follow the incompatible changes in 3Delight-1.0.6 o added preferences option "MarkHidden", that controls whether hidden objects should be preceded by an exclamation mark in the tree view o wrapped executables now no longer need to run BWidgets from external files (on Win32 they had to be present in the same place as ayam.exe; on Unix, they were unpacked from the ayam executable on each startup to /tmp) o improved the focus handling of the splash screen, keyboard focus is now always returned to the main window when the splash screen closes o improved handling of MRU list entries; the last scene loaded is now always on MRU entry 1, even when it was already in the MRU list and also even if an existing MRU menu entry was used to load it o checkbutton and menubutton property GUI elements may now also be controlled via keyboard [10. May 2003] Ayam 1.5.1: ========================== o bug fixes: - fixed erroneus drawing of NURBS patches with certain OpenGL/GLU implementations (SF 735600) [05. May 2003] Ayam 1.5: ======================== o bug fixes: - fixed RIB import creating object names with malicious characters (spaces) (SF 686419) - fixed RenderGUI creating zombie processes on Linux, enable bug fix with -DAYENABLEWAIT in CFLAGS and set ayprefs(Wait) "waitPid" in .ayamrc (SF 687408) - fixed several memory leaks while reading scenes (SF 691567) - fixed memory leak while exporting to RIB (SF 691572) - fixed several memory leaks in undo mechanism (SF 694941) - fixed memory leak in edit master feature (SF 705442) - fixed several memory leaks in RIB import (SF 699852) - fixed undo/redo clearing the background image of view windows (SF 694946) - fixed RIB import of one set of trim curves for multiple patches (SF 695923) - fixed memory leak in NURBS curve property (that occurs, when the curve is closed, has multiple points, and is opened again using the property) (SF 697948) - fixed memory leak in material object property (SF 699855) - fixed memory leak converting instances to real objects via convert object and "Special/Instances/Resolve all Instances" (SF 699853) - fixed Tcl error messages about already existing nodes when tree updates run parallel, e.g. when pasting objects into the scene in fast sequence (SF 697124) - fixed "Resolve all Instances" and "Automatic Instancing" not clearing the undo buffer (undo after those operations may lead to broken scenes) (SF 697128) - fixed "Apply Trafo to all/selected Points" not being undoable (SF 697942) - fixed trim views drawing no bounds for trim loops (SF 699849) - fixed creation of RIBs with RiSpec violating RiSolid hierarchies (SF 698147) - fixed divide by zero Tcl error when resizing the toolbox window (SF 700834) - fixed broken RIB import of shader parameters of type string (SF 708678) - fixed undo/redo destroying tags (SF 708961) - fixed NURBS curve tools not being undoable when called via main menu (Tools/NURBCurve), and not via tool box button (SF 711212) - fixed "Clear Material!" not being undoable (SF 715103) - fixed changing the material of an object using the property GUI leading to wrong reference counters (SF 715106) - fixed DnD crash for multiple objects containing root (SF 715773) - fixed undo de-registering materials with changing names (SF 715110) - fixed trim views getting wrong window names after reading from scene files (SF 720122) - fixed show/hide not being undoable (SF 721631) - fixed optimize PolyMesh not being undoable (SF 721632) - fixed result of last view action (without selection) not being redoable (SF 724085) - fixed "Special/Tags/Add RiAttribute" and "Add RiOption" not being undoable (SF 724947) - fixed "Hide" attribute of "Root" object getting lost during save/replace (SF 725094) - fixed conversion of MetaObjects to PolyMeshes ignoring the transformation attributes of the MetaObject (SF 717579) o added support for inline declarations of e.g. shader parameters to the RIB import plugin o added an example scene for subdivision meshes o added an adaptive calculation mode to the "MetaBalls" custom object (Frank Pagels) o improved object tree update process; it now checks for scene changes that may occur while the widget is updating, and schedules an extra update operation if this happens o the "ConcatNC" object can now also create a fillet for a single parameter curve to close it o the BWidgets package is now requested with exact version (1.2.1) so that newer (inkompatible) installed versions of BWidgets can cause no harm o added a compile time option "-DAYWITHAQUA" to distinguish between MacOSX-Aqua and MacOSX-X11 o added Tcl scripting interface command "wrib" that lets you export RIBs from a selected "Camera" object (and does not need a view window) Thus, you may now create, model, or modify scenes without any view windows and still can get your RIBs for rendering. o added a new sub menu to the "Special" main menu: "RIB-Export", it allows you to export a RIB from a selected "Camera" object, and to create shadow maps o added RIB export from selected objects feature (menu "Special/RIB-Export/Selected Objects") o added tag type "NoExport" that prevents objects from being exported to RIBs o shaded views now also draw grids o material drop and the drop actions for views and cameras are now undoable o added a NURBS to polygon tesselation facility based on the GLU tesselator o added "SMethod" and "SParam" preference settings (section "Misc") to control the polygon tesselation o improved drawing speed of NURBS curves and surfaces that are outside the viewing volume o improved look of check buttons on Win32 if used exclusively in a GUI o added a hidden preference setting "Prompt" that may be used to adapt the prompt in the Ayam console o added support for NURBS curve providing objects (e.g. "ICurve" and "Instance") to be used as trim curves o added a keyboard shortcut for the "Edit Master"-Feature () o the console prompt now displays the name of the operations that can be undone and redone respectively [07. Feb 2003] Ayam 1.4: ======================== o bug fixes: - fixed remembering of the state of the object selection listbox/tree when the context menu or a double click on the label is used to switch between both representations or the toolbox window is closed using the window decoration close button - fixed broken RIB-export of Clone objects - fixed broken RIB-export of RiAttribute/RiOption color/point tags - fixed merging of PolyMesh objects with different number of vertices and control points - fixed Materials level created by RIB-import losing the child objects when the imported scene is saved and then read again - fixed broken delete operation of Clone objects - fixed edit_material not scrolling the tree widget properly when the material object is in the root level of the scene - fixed "align view" setting a wrong up-vector for views of type "Top" - fixed object picking by dragging the mouse in conjunction with "draw level only" rendering the view useless - fixed "move view" action not working properly in local aligned views of type "Top" - fixed object listbox context menu generating an empty Tcl error message - fixed official Linux executable not be able to execute other NVidia-OpenGL using programs (by patching the Tcl-source to not use vfork() but fork()) - fixed problems building the documentation on Debian 3.0 (Woody) - fixed object picking when the root object is hidden - fixed omitting shaders with array arguments from the lists of available shaders - fixed rotate about modelling action not rotating around a grid point in views of type "Side", when the view is additionally moved sideways - fixed view objects not reading "BGImage" and "DrawBG" parameters from scenes written by Ayam 1.3 - fixed RIB-import not resetting the object name when done importing, leading to wrongly named objects for the next invocation of RIB-import - fixed creation of NURBS curves with desired length 2 or 3 creating a wrong NURBS curve specification (too high order, wrong knot vector) - fixed broken creation of shadow maps from point light sources that make use of their "From"-values - fixed preference setting TclPrecision being ignored - fixed RIB export of scenes using instances and shadow maps o reduced number of redraws when selecting hidden or material objects o added a RiDisplay tag type, that allows to add more output files (e.g. containing depth buffer information) to the scene o added a RiHider tag type, that allows to select and parameterize a different hider algorithm o added import of RiDisplay and RiHider statements to the RIB-import plugin o added french translations for the preferences balloon help texts (Michel Armand) o added PolyMesh optimization tool, that reduces the number of control points (Frank Pagels) o added global keyboard shortcuts to easily switch display-mode, sampling-tolerance, and lazy-notification via function keys o the Mops import options have been moved from the preferences to a small option requester o the direct point editing dialogue is now always transient o rotate about modelling action: the point to rotate about is now snapped to grid coordinates immediately o the Sweep is now much faster for highly curved trajectories (e.g. the speedup factor for the "sgi cube" is about 4.5) o added a close option to the Sweep object, that closes the resulting swept surface, even though the trajectory curve is not and arranges for the first and last section to be parallel o the Sweep now interprets a third child curve as scaling function o the Clone object can now also place the created clones along a curve and rotate them accordingly (similar to the section curves of a Sweep) o multiple point selection via mouse drag has been improved greatly, it is now much faster and selects also points that are hidden behind other points o added edit master feature (main menu "Edit/Master") that finds and selects the master object of an instance object (similar to the edit material feature) o "align view" now aligns to the object space of the selected object (and not just to the object space of the current parent object); in addition, grids are now drawn and handled correctly for aligned views o the configure menu of view windows has been rearranged to make it more clear, that aligned local views not only draw a grid aligned to local object space, but that editing takes also place in that space o a new shortcut has been added to the view menu entry "Configure/Edit Local" o the handles of editable points of objects are now only drawn, when a modelling action is in effect, that could modify editable points o added support for "RiSides" to the RiAttribute property of material objects; RIB-import now also handles RiSides o the RenderGUI windows look a little bit nicer now on the Win32 platform o added an internal kill command for the Win32 platform ("w32kill") that may be used by the RenderGUIs to stop the rendering (set hidden preference option "Kill" to "w32kill" to accomplish this) o added new object type "SDMesh"; RIB-import now also handles subdivision meshes o edited points are now immediately snapped to grid coordinates o direct point editing dialogue now stays open all the time o added a Local/Global menu to the direct point editing dialogue o the splash screen now grabs the focus to avoid problems with stray mouse events delivered to other windows when the splash screen is closed manually by the user o added some example scenes to demonstrate new features of ConcatNC, Clone, and Sweep objects o added invert point selection feature (see new main menu entry: "Special/Points/Invert Selection") o the Win32 executable is now statically linked with the GLU library from the free OpenGL sample implementation (OSS) from SGI; the compiled library (superglu) kindly provided by the Coin3D project (http://www.coin3d.org/) o added support for user defined clipping planes; RIB-import now also handles RiClipping o views of type "Trim" now draw the bounds of the parametric space as a rectangle again o added a new preference setting "AutoFocus" that arranges for all views and the main window to take over the focus automatically when the mouse pointer enters it (without the need to adapt any window manager configuration and also working fine on Win32) o added support for the mouse wheel to the Win32 version o RIB-export now writes different frame numbers for shadow maps and the image so that you may re-render e.g. just the image more easily even when the "ShadowMaps" preference setting is "Automatic" [15. Oct 2002] Ayam 1.3: ======================== o bug fixes: - fixed memory leaks in the shadow map RIB export module - fixed ICurves crash for length 2 - fixed insert and delete point action errors for drag mouse events - fixed errors with transformed MetaBall components (e.g. of type custom) - fixed broken scene change detection (that occured when the undo system was switched off using an "UndoLevels" preference setting of -1) - fixed wrong reference counter setting of material objects created by the RIB import plugin - fixed converted caps of Extrude objects losing their trimcurves when saved and then read again - fixed automatic cap generation for various tool objects - fixed picking of objects in instanced levels - fixed problems with shader/plugin search path names with spaces - fixed some dialogues not returning the focus to the main or the view window when closed with the Ok/Cancel-button - fixed property listbox context menu generating an empty Tcl error message on the Win32 platform - fixed setting of current filename for scenes loaded via command line argument - fixed broken detection of recursive instances for copy-and-paste and drag-and-drop operations with instance objects - fixed broken "zoom to object" action for instances with transformed master objects - fixed automatic instancing for cap objects - fixed broken notification of several tool objects without open view window (e.g. after loading a scene with no view windows) - fixed drawing of misplaced markers for the "rotate_about" and "find_u" modelling actions (when used with view actions such as "move_view") - fixed dropping of light or camera objects onto view objects updating the wrong view window sometimes o added a permanent preview feature; a constantly open RIB stream to a (fast) RenderMan renderer like rgl immediately displays all changes in the scene without the need to repeatedly hit "Ctrl-r" and close the preview window again (due to the complex handling, this is a compile time feature, and not available in the distributed Ayam binaries) o added manual control for the creation of ShadowMaps; for that, the preference setting "RIB-Export/ShadowMaps" is now a menu for the values "Never", "Automatic", and "Manual"; in "Manual" mode ShadowMaps may be rendered explicitly using the new view menu entry "View/Create ShadowMaps"; afterwards it is possible to render images without recreating the ShadowMaps all the time (e.g. for camera or material changes) even directly from a view window o the "TclPrecision" preference setting has been moved to the "Misc" preferences section o added balloon help for all preference settings o added a "Locale" preference setting and a locale system, that allows to display language specific balloon help texts (german translations of various balloon help texts provided initially) o the coordinate system (the root object) now also draws axis names (x, y, z) o scene loading now blocks all mouse events from view windows to avoid problems with user input while loading scenes which lead to wrongly drawn views o added a texture coordinates editor (main menu "Special/Tags/Edit TexCoords") o added a "Remove Tag!" menu to the standard Tag property GUI o added "Show All" and "Hide All" menu entries to the main menu o replaced "setNC"/"getNC"/"setNP"/"getNP" scripting interface commands with the new "setPnt"/"getPnt" commands o added a new object type PolyMesh (polygonal mesh) o the RIB import plugin now also imports "Polygons", "GeneralPolygons", "PointsPolygons", and "PointsGeneralPolygons" o added a new tool for the PolyMesh object; "mergePo", that merges a bunch of PolyMesh objects (e.g. created by importing a poorly structured RIB) into a single PolyMesh object o improved the object picking for shaded views o improved the MFIO (3DMF) Import Plugin: it now outputs more detailed error messages, supports import of the following additional primitives: PolyLine, Triangle, General Polygon, Polygon, and TriGrid; and supports now output of all NURBCurve/NURBPatch providing objects. o added shader parsing plugins: "ayslb" for Air, "ayslx" for Aqsis, "ayso" for RDC, "ayslo" for PRMan, and "ayslo3d" for 3Delight o added a new object type "ConcatNC" that concatenates multiple NURBS curves or NURBS curve providing objects to a single NURBS curve o added a new object type "Clone" that creates n instances of its child object and transforms each instance by a specified transformation o Ayam now remembers the state of the toolbox (open/closed) and the object selection widget (listbox or treeview) in the ayamrc file o added a "RenderMode" preference setting that allows to switch between two different methods of forcing a renderer to render to the screen (via RiDisplay, necessary for e.g. PRMan and RDC; or via command line argument) o added a select renderer feature (main menu "Special/Select Renderer") that allows to switch between different renderers more easily; currently supported are BMRT2.5, BMRT2.6, Aqsis, Air, 3Delight, RDC, and PRMan o reorganized the "Main/Special" menu by introduction of cascaded sub-menus o changed calculation of bevels for the Extrude object; the bevels are now more evenly sized; this may, however, lead to problems with caps, because the bevels may overlap themselves in corners of the extrusion; thus, if cap generation fails, reduce the radius of the bevels o all RenderGUI windows now automatically try to raise themself, should they be obscured, e.g. by the renderer window (but just one time) [09. Jul 2002] Ayam 1.2: ======================== o bug fixes: - fixed color select buttons in preferences not updating on "load defaults" - fixed missing RiSolidBegin/End for spheres with thetamax != 360 - fixed RiAttribute tags not exporting when attached to material objects - fixed broken integer RiOption and RiAttribute declarations - fixed broken Camera property GUI of the Camera object - fixed broken "-h" command line option - fixed memory leaks in the Skin notification callback, while reading scenes, while clearing scenes, and while opening/closing view windows - fixed error connecting instances while loading certain scenes - fixed grid menu button not updating when switching a view to perspective - fixed writing of preferences and deleting of temporary files when the main window is closed to quit Ayam - fixed rotate about modelling action not redrawing all views - fixed direct point editing action crashing when the selection is changed or some points are selected (tagged), while the coordinate requester is open. - fixed incorrect side caps for revolve objects from certain open parameter curves (e.g. with B-Spline knot vectors) - fixed edit material feature selecting wrong objects under certain circumstances - fixed the TreeWidget generating sporadic error messages about a missing "_state" variable (using a backport of the bugfix for BWidgets bug #4324) - fixed Tcl error generated by the "Add" button of the preference setting "Main/Shaders", "Main/Scripts", and "Main/Plugins" (on Win32 and on Unix for path names with spaces). o improved RIB export of quadric primitives with negative thetamax o the mouse cursor now changes when the "alt rotate" action is in effect o the modifier key for the "alt rotate" action is now configurable using "ayviewshortcuts(RotMod)" and "ayviewshortcuts(RotModKey)" respectively o added a RIB import plugin o added a new object type "PatchMesh" o direct point editing now works for multiple selected objects o resizing of the toolbox now works better for opaque resize o shrink wrapping of the toolbox may now be turned off completely using "Preferences/Misc/ToolBoxShrink" o added a checkbutton to the rendering GUI that controls ringing the bell when the rendering finishes o added an object picking facility, you can now click in view windows to select objects (Bertrand Coconnier) o the default action for view windows is now "Pick" (and not "None") o added a reference card (a brief listing of all keyboard shortcuts) to the documentation o improved shadow map creation: the RIB exporter now writes an additional file ".obj.rib", that contains the geometric primitives of the scene; furthermore, it is now possible to create shadow maps from custom lights (as long as the light shader contains arguments named "from", "to", or "coneangle") o added shadow bias options to standard RiOption tag database o the preference setting "RIB-Export/RIBFile" now allows a new special value "Scenefile" that works like "Scene" but strips the leading path from the scene file name (required by new shadow map RIB creation scheme) o added a new tag type "TC" that holds texture coordinates o the tag property GUI now displays just a certain number of characters from a tag value (this is adjustable via the new hidden preference setting "MaxTagLen") o the edit tag dialogue is now resizable o added some default RiOptions and RiAttributes to the default database o improved the RiOptions and RiAttributes GUIs: they are now resizable and load the first value from the list of default values immediately o added support for libslxargs; libslxargs may be used as replacement for libslcargs on platforms like MacOS X o added drawing of a background image to view windows o added two new component types to the MetaBalls custom object: cube and custom o prepared some plugins to be combined statically into the binary o added a show shortcuts feature to the main help menu o improved the installation procedure o the "UndoLevels" preference setting allows the undo system to be switched off completely using the special value "-1" now [17. Jan 2002] Ayam 1.1: ======================== o bug fixes: - fixed custom lights always exporting as AreaLight to RIB - fixed tags not loading from scene files to root object - fixed handling of Shift-Tab for old (<8.3) Tk versions - fixed view-undo problems (e.g. not setting window titles correctly) - added missing declarations for some BMRT specific attributes/options - fixed focus handling for set_gridsize and set_fov dialogues - fixed unnecessary saving of undo states - fixed broken sweep (does not twist wildly for complex paths anymore) - fixed unnecessary notification for various modelling actions in conjunction with grids - fixed undo/redo not calling notification callbacks - fixed weight edit crashing when applied to objects without editable points - fixed menu entry "View/Close" creating Tcl errors on Win32 - fixed reset weights action crashing - fixed "Set new shader!" dialogue creating a Tcl error when closed with window close button - fixed console menu not working on Win32 - fixed forAllT scripting interface command - fixed rotation of view windows with Alt key held down - fixed new views blocking when created "under" the mouse pointer - fixed windows not saving their size to the preferences if TwmCompat is not enabled - fixed actions going to wrong views sometimes, when slowly redrawing (shading) views are present - fixed broken shaders and includes search paths - fixed deleting of temporary RIBs created with "View/Quick Render" - fixed undo not deleting selected points from objects properly - fixed wrong holes in caps of cap and extrude objects - fixed current level after loading of scenes o added auto-scrolling to property with focus ( scrolls the property GUI) o added "Scene changed!" warning requester to various scene destroying operations, like "File/New" o added MetaBalls custom object o light objects are now drawn in a yellow color, when not selected o "File/New" now reloads the working environment scene and clears the current filename o added grid selection icon and menu to view window menu bar o "File/Save(As)" now adds filenames to the most recently used list too o added "Special/Toggle Toolbox" menu entry to open/close the toolbox window o added some example scripts to the documentation o the current fov is now displayed in the set fov dialogue initially o added a context menu to the property listbox and the object listbox o improved checkbutton property gui element on Win32 o the toolbox looks much nicer now on Win32 o added preferences setting "Misc/ToolBoxTrans" that may be used to make the tool box window transient o the tool box window may now be changed in size, with the row/column layout of the buttons adapting to these changes o added "CreateMP" option to NURBS curves that inhibits creation of multiple points o added "Help/Help on object" that directly displays the documentation of the selected type of object o the preferences dialogue now comes up more smoothly o added "Edit/Material" feature that finds the material object of a geometric object and selects it for editing (or creates and connects a new material) o added "Special/Save Environment" feature that saves the current root object and views to the environment file (preference setting "EnvFile") o added shaders not found in the BMRT distribution to "scn/shaders" to enable easier rendering of the example scenes o RIB-Export: no archives are created for instances of objects that would not be exported anyway o added a little label to the rendering GUI that displays the rendering time o Due to a flaw in the design of the file format, Ayam 1.0b4 and below will not read Ayam 1.1 files. On the other hand, Ayam 1.1 reads files from 1.0b4 and below just fine. [02. Oct 2001] Ayam 1.0 beta4: ============================== o bug fixes: - Skin does not crash in interpolation mode, if two identical curves are present. - Weight edit does not crash anymore, if no objects are selected. - Tree Drag-and-Drop could crash Ayam when root object was dragged to certain targets. - Reading a scene via MostRecentlyUsed list sets internal scene filename correctly now. - Improved picking of points with arrows (e.g. last point of a NURBS curve). - Shading with material color (preference setting "UseMatColor") is now working for all objects. - Finally? fixed orientation detection routine for 2D curves, thus improving automatic cap generation for various object types. - Views do not get wrong settings while loading scenes or fast switching of view windows on slower machines anymore. - "forAll", "forAllT", and consequently "Edit/Paste Property" now work correctly for nested object hierarchies. - ... o 3DMF import/export plugin revived. o Preferences dialog looks much nicer now (uses a notebook for category selection, "Shaders" GUI-element uses the tooltip mechanism to display all paths of the entry at once now). o Direct rendering of views creates a small GUI consisting of a progressbar and a cancel button (to stop the rendering!) now. Use "Prefs/RIB-Export/RenderUI" to enable and "Prefs/RIB-Export/RenderPT" to configure. This is disabled on Win32, since Tcl is not able to execute a kill program on this platform. o Some User-Interface-Elements (of property GUIs) allow default values now. o Added new object type "Cap", that creates a cap from planar NURBS curves. o Added automatic loading of custom objects when reading Ayam scene files. o Implemented automatic cap generation for the Sweep object. o Implemented automatic cap generation for the Skin object. o Improved "Direct-Point-Edit" mode, you may select different points now, while the coordinate requester is open. Additionally, it is checking now, whether notification and redraws are really necessary. o Added keyboard shortcuts to Most-Recently-Used file menu entries. o SDK reworked. o Plugins moved to "plugins" directory. [26. Jul 2001] Ayam 1.0 beta3: ============================== o a whole lot of bug fixes o Mops Import much improved - imports now ICurves and Materials - GLU display mode and sampling rate settings may be reset to global settings while importing o added "Automatic Instancing" o added RIB Export preference setting "ExcludeHidden" o tree widget blocks the GUI now on long update operations o internal Tcl/Tk errors are now redirected to the console o added some example scenes o added Setup.txt, Changes.txt [12. Jun 2001] Ayam 1.0 beta2: ============================== o some bug fixes including a fix for a serious memory leak in the notification callbacks of the extrude/revolve tool objects [31. May 2001] First Public Release (Ayam 1.0 beta1) ====================================================