.. $Id: ReleaseNotes 1497 2010-06-05 08:50:48Z bverheg $    -*- rst -*-
  
..
  This file is part of pyFormex 0.8.2 Release Sat Jun  5 10:49:53 2010
  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.2  Releasenotes
============================

This is a collection of the most prominent changes in pyFormex 0.8.2
compared to the previous release 0.8.1


Documentation
-------------
- Most modules now have autogenerated documentation in the reference manual.
- A new document was added describing the pyFormex file formats.

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


Command line
------------
- debug option now takes an integer argument: the debug level (currently
  only the value 1 is used)



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


Core
----
- The coords.fuse algorithm has been tuned for large data structures,
  resulting in an important speedup of both the compiled and Python
  implementations.
- The Formex attributes .f and .p were renamed .coords and .prop, to be
  inline with the rest of pyFormex.
- A new native pyFormex Geometry File Format 1.2 allows to store all
  geometry objects, not just Formex type. Compatibility with
  previous Formex File Format 1.1 is retained.
- A new Geometry object contains all the Coords transformations operating
  on an attribute .coords. This is used as a base class for other geometry
  classes: Mesh, Curve, TriSurface
- TriSurface is derived from Mesh, and many methods from TriSurface have
  migrated up to Mesh to become available on general meshes.
- Image saving with compressed formats can set quality.
- Empty geometry objects are now generally well supported.
- Connectivity: removeDegenerate and removeDoubles, new encoding/decoding, 
  listUnique, listDouble, insertLevel, tangle, untangle
- arraytools: unique1dOrdered, renumberIndex
- repeat(): repeatedly call a function certain result, timeout, or number of executions

Gui
---
- New configuration and current settings dialog. An extra configuration level
  wa added to distiguish between current session and saved values.
- View menu was moved inside the Camera menu.
- Plugin loading has changed (now loaded from the Settings dialog).
- Examples menu is now a submenu of Scripts menu.
- Menu related classes are now in a separate module gui/menu.py.
- Added an option to kill another running pyFormex instance on startup.


Widgets
-------
- New InputDialog class was created, will become the default in version 0.9.
- InputItems can be grouped in  GroupBoxes and in Tabbed Pages.
- InputDialog can contain any user defined widget.
- InputCombo widgets has an onSelect function.
- TextBox has configurable buttons.
- CoordsBox widget to display the current 3D coordinates of the mouse pointer.


Drawing
-------
- Added highlight parameter to draw() function
- Added project and unproject functions to Canvas
- Added some interactive drawing functions
- Allow flat drawing in a smooth drawing mode
- Camera can be locked
- New Axes Triade displayed on a fixed position and size
- Multiline text drawing
- Text adjustment replaced with gravity (9 directions)
- Lights can be controlled interactivily.


Scripting
---------
- Two functions writeGeomFile and readGeomFile allow fast reading and writing
  of geometry objects in a native format.
- utils.timeEval: show the time needed to execute a statement


Projects
--------
- A project file can contain an autoexec script


Mesh
----
- Mesh transformations return a new object instead of changing inplace
- Added a general framework for Mesh conversions
- More element types
- Extended mesh menu
- Better sweep function, added revolve function
- Splitting on property values
- GetEdges, GetFaces, GetLowerEntities, getBorder, getBorderMesh
- reduceDegenerate, renumber


Plugins
-------
- curve: 

  - Curves can be transformed just like Coords.
  - Extended quadratic Bezier Splines
  - Added spreading of points to Curve.approx()
  - PolyLine: split, cutWithPlane
  - BezierSpline: end directions can be set

- geomtools: added intersection tools, distance tools, triangleInCircle, triangleBoundingCircle, triangleObtuse
- draw2d: new plugin with some interactive drawing functions.
- surface: 
  
  - TriSurface is now derived from Mesh
  - added functions: inertia, intersectionWithPlane, distanceOfPoints
  - advanced curvature calculation
  - surface menu: statistics: offers cut off of extreme values

Examples
--------
- Sweep: sweep now also works with nonplanar curves
- HorseSlice: showing use of TriSurface.intersectionWithPLane
- Rubik: solving the cube
- Mesh: illustrating some new Mesh methods
- BeamFreq: calculate natural frequencies of Beams

.. End
