.. $Id: ReleaseNotes 1994 2011-07-09 12:44:12Z bverheg $    -*- rst -*-
  
..
  This file is part of pyFormex 0.8.4 Release Sat Jul  9 14:43:11 2011
  pyFormex is a tool for generating, manipulating and transforming 3D
  geometrical models by sequences of mathematical operations.
  Homepage: http://pyformex.org   (http://pyformex.berlios.de)
  Copyright (C) Benedict Verhegghe (benedict.verhegghe@ugent.be)
  Distributed under the GNU General Public License version 3 or later.
  
  
  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.
  
  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.
  
  You should have received a copy of the GNU General Public License
  along with this program.  If not, see http://www.gnu.org/licenses/.
  
  


pyFormex 0.8.4  Releasenotes
============================

This is a collection of the most prominent changes in pyFormex 0.8.4
compared to the previous release 0.8.3. Like always, besides the new
things mentioned below, we also have lots of bug fixes, code cleanup
and functionality enhancements.



Documentation
-------------
- More modules are now included in the autogenerated reference
  manual. More functions descriptions include example of usage.


Installation
------------


Command line
------------
- ``pyformex --whereami PYFORMEX_MODULE``: runs the doctests inside the
specified pyformex module, and reports if a test fails. This is mainly
intended for developers.
- The ``--safelib`` and ``--unsafelib`` options have been removed.


Configuration
-------------


Core
----
- arraytools: some vector functions moved here from coords/formex
  modules; new functions: histogram2, movingView, movingAverage, raqndomNoise
- connectivity: a Connectivity object can now store its element type;
  some Mesh methods moved to Connectivity
- coords: new Coords methods: addNoise, replicate, match; moved
  sweepCoords function from mesh module
- elements: completely revised and extended element database; moved
  mesh data from mesh module
- geomfile: NurbsCurve and NurbsSurface can now be stored to/read from
  a pyFormex geometry file
- utils: new functions selectDict, removeDict


Mesh
----
- new Mesh methods: getFreeEntitiesMesh, getFreeEdgesMesh, reverse,
  reflect, matchCoords, matchCentroids, and a whole bunch of methods
  moved up from TriSurface


Gui
---
- canvas viewports can have different sizes 
- images of the canvas can be saved with a specified resolution
  without resizing the canvas


Widgets
-------
- InputItem is now a widget instead of a layout
- new InputItem: InputList
Some cleanup in the set of widgets will continue through the next
release. 


Drawing
-------
- most quadratic elements can now be drawn as quadratic
  lines/surfaces. This is to be configured by the user in the Settings dialog.
- direct drawing of NubsCurve and NurbsSurface objects
- ColorLegend allows specification of the number of labels
- most ``draw`` functions now have an option ``nolight=True`` to draw
  without lighting in modes with lights enabled, and an option
  ``ontop=True`` to make the object fully visible (even if it is hidden
  behind some opaque object). These options are mostly use to draw
  decorations and annotations.
- ``drawImage``: directly draws a raster image to the OpenGL canvas.


Scripting
---------


Projects
--------


Plugin menus
------------
- geometry_menu (NEW): a new menu to work on all kind of geometry objects
  using a common interface. It will replace the formex_menu and
  mesh_menu.
- mesh_menu: REMOVED (functionality moved into geometry_menu)
- formex_menu: some functionality moved into geometry_menu
- draw2d_menu: added drawing of Nurbs curves
- nurbs_menu (NEW): a menu to work experiment with NURBS curves and
  surfaces
- tools_menu: added an entry to display an image file
- jobs_menu: added some configurability


Plugins
-------
- mesh_ext: holds some extensions to the mesh module. Most of this
  functionality will be merged into the mesh module before we reach
  release 1.0.
- nurbs: a plugin to work with NURBS curves and surfaces. UNDER DEVELOPMENT!
  Defines Coords4, Geometry4, NurbsCurve and NurbsSurface classes.
  Functions: globalInterpolationCurve, knotVector,
  pointsOnBezierCurve, deCasteljou, curveToNurbs, frenet
- fe_abq: too many enhancements to mention them here
- fe_ast (NEW): a plugin to interface with code_aster
- calpy_itf: added the QuadInterpolator class
- geomtools: new functions: areaNormals, polygonNormals,
  isInsideTriangle
- objects: changed the way annotations are registered
- trisurface: moved lots of functions into mesh module, added new
  functions: nonManifoldEdges, checkSelfIntersectionsWithTetgen


External
--------


Examples
--------
New examples:
- BezierCurve
- Casteljou
- DataInterpolation
- InputDialog
- MeshMatch
- NurbsCurve
- NurbsSurface



.. End
