What's new in Ayam 1.20
Mar 30, 2012
- Bug Fixes:
- the weights of the Cobb NURBS sphere are wrong (SF 3287828)
- Tcl error when applying the ViewAttrib property (SF 3295757)
- property reset does not work after object selection change (SF 3295758)
- last element of dynamic property GUIs not visible (SF 3301967)
- extracting the boundary of patches with differing orders (SF 3312039)
- conversion of quadrics tNURBS (SF 3322311)
- setting the display mode/tolerance of PatchMesh objects (SF 3360488)
- reverting interpolating curves with custom derivatives (SF 3366276)
- merging transformed PolyMeshes with normals (SF 3374188)
- crash in surface knot insertion (SF 3376414)
- views getting the wrong type temporarily (SF 3382382)
- saving of the environment scene file (SF 3410856)
- resize menu entries of external views are deactivated (SF 3414694)
- caps of transformed outlines/holes (SF 3439485)
- view camera changing inadvertently when another view is changed (SF 3442122)
- OffsetNP objects are missing from exported RIB files (SF 3445410)
- Gordon objects with transformed intersection patches (SF 3448526)
- conversion of torii with phimin/phimax not on default fails (SF 3481314)
- conversion of transformed quadrics with non-standard parameters (SF 3484008)
- toXYNC resetting the scale attributes if an error occurs (SF 3485090)
- operations on rational NURBS modify shapes (SF 3496743)
- the application of static and dynamic code checking tools (splint, cppcheck, clang, valgrind, mudflap, drmemory) lead tthe discovery and fix of numerous smaller bugs (mostly memory leaks in error cases)
- Modelling:
- knot rescaling of NURBS curves/surfaces nlonger requires custom knots
- added support for periodic surfaces tbe created by Birail1
- added object type "IPatch" for interpolating surfaces
- added centripetal parameterization tsurface interpolation
- the surface interpolation (e.g. in Sweep and Skin objects) is more robust, (can now cope with degenerate rows/columns in the input data)
- added uniform parameterization tICurve
- improved flashing of editable points for multiple selected objects
- added object type "Mirror" (essentially a Clone in disguise)
- Instance object points are not editable anymore due tcurrently unsolvable notification problems
- moving the mouse pointer across the origin when scaling nlonger leads tbroken (i.e. very small) scale attributes
- added setting the mark tselected points bounding box center (shortcut )
- closed cubic interpolating curves now alsuse the EDLen parameter properly
- improved initial derivatives when switching from automatic tmanual derivatives for ICurves
- improved snapping points from half grid coordinates tthe grid by introduction of a mouse pointer warping facility (not available on MacOSX Aqua)
- OffsetNP objects can now be associated with a material
- added modelling actions tincrease/decrease the multiplicity of selected NURBS curve control points, new keyboard shortcuts: /
- added hidden preference option "TagResetTagged" that controls whether invoking the tag (select) points action should clear the current point selection
- improved curve splitting for curves with multiple knots
- improved focus handling of direct point edit action
- added "UVSelect" option tConcatNP object, this allows tdetermine in which direction a single parameter patch should be split before the concatenation
- ConcatNP objects now allow curve and curve providing objects tbe used as parameter objects, alsin a mix with patches
- added "Order" parameter tConcatNP, that allows tspecify the desired U order of the concatenated surface
- added "FillGaps" and "FTLength" parameters tConcatNP that control the creation of fillets similiar tConcatNC
- added custom knots tConcatNP sthat the shapes of parameter surfaces can now be preserved exactly (similar tConcatNC)
- improved drawing of torii with phimin/phimax not on defaults
- toXYNC can now work with ACurve and ICurve objects and is thus renamed ttoXYC (old command name still available but deprecated)
- improved fillet creation of ConcatNC for parameter curve orders different from 4
- converted Sphere patches now have the same direction as other quadrics tmake it easier tcombine them with ConcatNP
- added tool (and corresponding scripting interface commands "refineuNP"/ "refinevNP") trefine NURBS surfaces
- improved refinement of periodic curves (they are refined on their complete length now)
- added region support trefine curve tool: a region trefine can be specified by selected points
- improved handling of custom knots for the insert/delete point actions
- GUI:
- the property GUIs of Birail1, Birail2, Extrude, Gordon, Skin, Sweep, and Text objects are now properly saved (the data is not applied) for AddBevel/RemoveBevel
- renamed direct point edit action tnumeric point edit
- empty fields are now allowed in the numeric point edit dialog tallow "nchange" for the respective coordinate
- the numeric point edit dialog now supports scripts and variable accesses in the entry fields
- the ViewAttrib property GUI nlonger unconditionally sets the mark, this is now controlled by the new entry "SetMark" instead
- zooming views via the keyboard is now reversible
- the amounts of rotation and zooming per keyboard are now configurable via the ayamrc file
- ICurve property GUI now only displays SDLen/EDLen entries when actually used and the Derivatives entry is now, as for the IPatch, a menu
- improved tooltip placement and management
- reset layout is more robust now
- dialog window and balloon placement is now more robust wrt. multi monitor setups
- removed "RGTrans" GUI preference option, all rendering GUI windows are now always transient
- Import/Export:
- RIB export of tool objects now supports PV tags
- Scripts/Scripting Interface:
- added "concatS" scripting command tconcatenate surfaces
- added "interpuNP"/"interpvNP" scripting commands tinterpolate surfaces
- added script "apnt.tcl" tautomatically switch a view (or all views) tpoint modelling, after the point selection action was used
- added "remknuNP"/"remknvNP" commands tremove knots from surfaces
- added "-i" option tall knot removal commands tspecify a knot by index (not by value)
- renamed "shiftClosedBS" t"shiftC" command, "shiftC" can now alsshift/cycle normal closed NURBS curves, ICurve, and ACurve objects
- improved range error reporting (now printing the valid range)
- getPnt/setPnt now support writing to/reading from lists of double values (without double-string conversion i.e. without loss of precision)
- getPnt/setPnt now allow tget/set all control points of an object
- getPnt nlonger unconditionally writes tglobal variables
- getPnt nlonger requests a variable for w tbe provided in "-eval" mode
- scripts and plugins can now create their own view window keyboard shortcuts
- renamed "forceNot" command tmore recognizable "notifyOb"; for compatibility with existing scripts, the old name still works
- added "-parent" option t"notifyOb" command
- Documentation/Example Files:
- historic information (i.e. when did a feature appear) are now presented in a less obtrusive way (as footnotes)
- improved layout of index, object trees, and code examples
- Installation:
- there are now Makefile targets tintegrate Ayam with a Unix desktop environment (e.g. Gnome and KDE) via desktop shortcut, menu entry, and file type
New in Ayam 1.19 (Mar 18, 2011)
- Bug Fixes:
- fixed setting the FilterWidth for RIB export (SF 3148250)
- fixed read only points of ExtrNC/ExtrNP/OffsetNC/OffsetNP objects appearing in wrong places (SF 3154051, 3154053)
- fixed is_rat attribute of revolve object (SF 3159003)
- fixed revolve for curves that touch the axis of revolution (SF 3159009)
- fixed RIB export of SDMesh objects with tags in Affines simple RIB writer (distributed with Ayam, nSF bug item created)
- fixed "Add Bevel" command entries in various tool object property GUIs (SF 3164571)
- fixed boundary curve extraction for surfaces with unclamped knot vectors (SF 3194851)
- fixed small memory leak in ExtrNC object (in Boundary mode) (SF 3194853)
- fixed provide of script for multiple objects (SF 3210473)
- fixed provide of clone for multiple objects (SF 3210478)
- Modelling:
- added plugin "subdiv" that, with the help of "Subdivide2.0", can be used timprove the display of sdmesh objects by real subdivided surfaces
- added options tcontrol subdivision level and drawing tsdmesh objects
- NURBS modelling tools now only delete the selected points from objects where the modelling operation succeeded
- added "-createmp" option tthe creation of NCurve/NPatch objects
- offset surfaces now work for closed/periodic surfaces (in all possible combinations of open/closed/periodic for U and V)
- aded chordal and centripetal knot types tNURBS patches
- added new curve offset algorithm "Hybrid"
- renamed "Bevel" curve offset algorithm t"Point"
- removed curve offset algorithm "Bevel3D"
- added cross section shape defining parameter curve tBevel object (allows tcreate arbitrarily shaped bevels)
- rational coordinates are nlonger stored with the weights pre-multiplied internally (homogenous => euclidean)
- GUI:
- main menu "Edit/Material" now works with multiple selected objects when creating materials
- added "ErrorLevel" preference setting that controls how many messages appear in the Ayam console
- removed the "ErrorLevel" preference setting from all import/export parameter dialogs, all plugins use the global preference setting now
- added access tadvanced (command line) arguments tthe creation of curve/npatch objects via new create dialog entry field "AddArgs"
- added View attribute "EnableUndo" that allows tdetermine whether view actions should be recorded in the undsystem
- parameter dialogs of knot manipulating tools now display the original knot vector as reference
- Scripts/Scripting Interface:
- added script ("autorot.tcl") that automatically rotates a view
- the create callback of the SDMesh object now supports much more options tcontrol the initially created object
New in Ayam 1.18 (Oct 30, 2010)
- Bug Fixes:
- fixed direct point editing not setting the mark (SF 2993441)
- fixed continuous complete notification for Script objects (SF 3001239)
- fixed find u action failing for transformed curves (SF 3006822)
- fixed find u action not setting the mark corectly (SF 3006824)
- fixed Revolve caps in B-Spline mode (Sections != 0) (SF 3012391)
- fixed potential crash in NURBS patch clamp V tool (SF 3012393)
- fixed setting the BGImage via view menu (SF 3023248)
- fixed BGImage drawing on Win32 (SF 3023249)
- fixed skins with periodic chordal/centripetal curves (SF 3030062)
- fixed false positives and crashes of instance DnD/C&P (SF 3031448)
- fixed in-place conversion leading to broken scenes (SF 3032589)
- fixed drag and drop with multiple objects selected by keyboard (SF 3036465)
- fixed current level after tree reset/rebuild (via ) (SF 3044564)
- fixed drawing/shading of sphere objects (SF 3054130)
- fixed single point editing of PolyMesh and SDMesh objects (SF 3094086)
- Modelling:
- the default zoom view () and direct point edit () keyboard shortcuts are now () and () respectively to make way for two very important new shortcuts:
- modelling actions like move, scale, or rotate no longer decide what to transform (objects or selected points) based on the point selection; now always objects are transformed, until the user switches explicitly to points using (while can be used to switch back to objects)
- the point transformation state is displayed in the modelling mode icon by a little red dot
- the mark is now reset on double
- direct point editing now uses the point selection instead of an own pointer; thus, it now works with multiple selected objects, and one may apply coordinate values to multiple (selected) points
- the Revolve tool object now supports arbitrary ThetaMax values in B-Spline mode (Sections != 0)
- added Arc and Radius parameters to create closed B-Spline curve tool
- added Radius, TMin, and TMax parameters to NCircle object creation dialog
- added modelling action to snap the selected points to the mark (new shortcut )
- added modelling action to snap the selected objects to the mark (new shortcut )
- added view action to pan the view to the mark (new shortcut )
- to avoid clashes, collapse and explode actions have new default keyboard shortcuts: and
- the find u modelling action now works with provided objects, and is more exact
- added find uv modelling action that finds the u and v parameters for a picked point on a NURBS surface; invoke via new view shortcut:
- added preference setting and facility to manage a global mark, if enabled, all views share a single mark; thus, one can set it in one view and use it in another
- improved order changes for periodic NURBS curves via the property GUI
- added "3DPVN" curve offset mode that offsets a curve along normals supplied via a primitive variable tag
- creating ExtrNC/ExtrNP objects via the main menu now automatically adds a remove property tag ("RP Transformations") to the created instance child so that the instance always follows the transformations of the surface the curve/sub-surface is extracted from
- NURBS curve clamping now works with half clamped curves and also with curves where there are multiple knots in the end region(s)
- NURBS curve clamping can now also clamp only one end of the curve
- NURBS patch clamping now works with half clamped patches and also with patches where there are multiple knots in the end region(s)
- NURBS patch clamping can now also clamp only one end of the patch
- the point insert/delete modelling actions now work with multiple selected objects
- several objects now support read only points, which can be selected and their coordinates inquired (for snapping/aligning or transformation purposes) but they can not be modified; the supporting objects are: Box, Sphere, Cylinder, Disk, Cone, Torus, Hyperboloid, Paraboloid, Extrude, Revolve
- GUI:
- AutoFocus is now available (again) for single window GUI mode; here it manages the focus of internal widgets (views, tree, properties, console)
- Tool dialogs now display a more descriptive window name
- tree drag and drop now keeps the object selection intact and opens the target level
- starting modelling actions from the toolbox now also considers the AutoFocus preference setting, if enabled, the action is started in all views
- Scripts/Scripting Interface:
- number conversion errors are now correctly detected and reported in all scripting interface commands
- added "-world" option to setPnt/getPnt commands (to transform coordinates from/to world space)
- renamed "-p" option to "-eval" for getPnt
- getPnt can now work with arbitrary object types (even from plugins) as long as they support single point editing; i.e. it now works with PolyMesh, SDMesh, and SDNPatch objects
- the "hSL" command has been removed from safe interpreters, use "sL" instead
- added a JavaScript interpreter plugin
- Script objects can now use arbitrary languages provided by plugins (e.g. JavaScript)
- added a example Script object script (written in JavaScript) that creates a Polyhedron from a Conway notation ("polyhedron.js")
New in Ayam 1.15 (Nov 14, 2008)
- This release adds support for approximating curves and improves the offset curves.
- Script objects now maintain individual parameter sets, Gordon caps (from non-planar curves) are more robust.
- In addition, the keyboard navigation and focus management in the GUI have been improved a lot. The usual heap of bugfixes completes this release.