home *** CD-ROM | disk | FTP | other *** search
- Version 5.0
- -----------
- * Animation curves and support of animation in all display devices.
- * Many new flags to the display device (as well as new display devices).
- * New constants for DEPTH (for trivariates), TRIMSRF_TYPE, TRIVAR_TYPE.
- * Format of OFFSET and AOFFSET is slightly modified.
- * LOGFILE can change files during IRIT session allowing for writing data
- files on the fly.
- * ECHOSRC/DUMPLVL variables were replaced with EchoSource and DumpLevel
- IRITSTATE options.
- * PAUSE was renamed into a macro.
- * Figures in user manual!
- * Programmer's manual (actually more like a reference programmer's manual).
- * Periodic curves/surfaces are supported.
- * any object with prefix of VIEW_MAT/PRSP_MAT is recognized as these
- important matrices. A complete match used to be required in the past.
- * COPLANAR, INTERCRV, and POLYSORT are retired as variables and are now
- set via IRITSTATE.
- * New filter dat2bin to convert between text and binary data files.
- * New filter irit2iv - irit to SGI's Inventor ascii format.
- * The config package prints the command line flags on all tools. New
- config file to illustrt.
- * Created a symbolic lib out of cagd lib to hold all symbolic computation.
- * Add adaptive routines to subdivide a surface into polygons. The whole
- scheme of srf->polygons was changed accordingly.
- * Fix a bug in printing of data in +/-xxx+/-Eyyy format.
- * Add "IllustrtNoProcess", "SpeedWave, and "HeatWave" attributes to
- objects in input stream of illustrt.
- * Fix a minor bug in irit help document generator in math formulas.
- * Fix a minor bug that introduces a return variable from user defined
- functions. Also add debug of user defined functions via IRITSTATE.
- * Fix a loop in the list structure when one does "obj = list(obj, obj2);"
- * New IRIT commands
- + C/SREPARAM - affine reparametrization of curves and surfaces.
- + PCIRCLE - A polynomial curve approximation of circle.
- + SCRVTR - curvature bounds for surfaces.
- + COERCE - has added semantics for E1/P1 coercetion to E2/P2 for curves and
- to E3/P3 for surfaces.
- + SURFPREV - a polynomial approximation of surface of revolution.
- + IRITSTATE - a unified state modification routine.
- + GPOLYLINE/GPOLYGON are slightly modified with more options.
- + CEVOLUTE - exact computation and rep. of an evolute of a curve.
- + GETLINE - read stdin and construct proper objects from it.
- + LOFFSET - another offset variation.
- + FFEXTREME - Comutes extreme values of curves and surfaces.
- + ERROR function - Error abort functions to be used from user defined funcs.
- + MSLEEP function - millisconed sleep function.
- + CMULTIRES function - Least squares multiresolution decomposition of curves.
- + CMORPH function - curve morphing.
- + RANDOM function - random values function.
- + New format to OFFSET and AOFFSET.
- + PDOMAIN supports trimmed surfaces and trivariates.
- + TRIMSRF constructs a trimmed surface.
- + CTRIMSRF extracts trimming curves from trimmed surfaces.
- + STRIMSRF extracts the surface of a trimmed surface.
- + STRIVAR extracts a surface from a trivariate function.
- + TBEZIER constructs a trivariate Bezier function.
- + TBSPLINE constructs a trivariate Bspline function.
- + TDERIVE differentiates a trivariate function.
- + TEVAL evaluates a trivariate function.
- + TREFINE refines a trivariate function.
- + TREGION extracts a region out of a trivariate function.
- + TDIVIDE subdivides a trivariate function.
- + C/S/TINTERP - a new Bspline interpolation/least squares approximation for
- curves, surfaces, and trivariates.
- + CLNTEXEC/CLNTREAD/CLNTWRITE/CLNTCLOSE - set of routines to communicate
- with several clients. See clients.irt.
- + MOMENT - compute moments of curves.
- * Fix a minor bug of profiling an E2 curve with E3 point.
- * LISTSIZE was renamed into SIZEOF and supports lists/polys/curves ctlpolys.
- Surface ctl mesh is supported via MESHSIZE.
- * SWEEPSRF is split into SWEEPSRF and SWPSCLSRF with more functionality
- and the elimination of the torus bug.
- * More overloaded operators:
- CtlPt * Matrix -> CtlPt
- Overloaded unary '-' on a list object reverses the list object.
- * Transformations of CtlPt works as it should.
- * Surfaces/Curves/Profiling can have different ctl points or even regular
- points.
- * rmattr can now remove attributes created by attrib. Objects can be
- attributes as well.
- * Objects are read in the proper order - same order as input stream.
-
- Version 4.0
- -----------
-
- * New -H flag to poly3d-h to allow dumping the HIDDEN data (with different
- color/attributes...), -q to run quietly, -o for output file.
-
- * If clause was made much more reasonable by defining comparison and
- Logical operators (<, >=, &&, ||, etc.).
-
- * Function definition is available (ALIAS is retired). See function/procedure
- in docs and function.irt. See plotter.irt for a nontrivial example.
-
- * Assignments need not be within parenthesis any more. Preceding is
- properly set now.
-
- * New variables are allowed in loops now.
-
- * MSDOS is not really supported (I left DJGCC ifdefs intact although it is
- not tested any more.). EDIT command retired, SYSTEM command modified.
- The main reason is that IRIT can no longer be built in the BC Large model
- and the Huge model will consume pretty much the entire 640k...
- If you have the ability (I do not) to build MSDOS applications with dos
- extenders, and willing to dive in, please let me know.
-
- * The good news is that both OS2 2.x and Window NT 3.1 are fully supported.
-
- * A whole new scheme of display drivers was developed. The display driver is
- a different process. As a result NORMAL, VIEW & INTERACT, BEEP, CLOSED
- functions are retired, and VIEWOBJ controls the display via VIEWxxxx user
- defined functions (in iritinit.irt).
- BEEP, VIEW and INTERACT functions are emulated in iritinit using a
- user defined function. NORMALs as well as other view states can be set via
- user defined function VIEWSTATE.
- poly3d was retired and is replaced by the display drivers which
- accepts command lines. In other words, the graphics device driver serves as
- display program as well.
-
- * Sweep has a new fourth parameter to allow setting normal of orientation
- (pseudo frenet) frame.
-
- * New line illustration tool - illustrt.
-
- * Lists can now be in any length and are updated dynamically.
-
- * Attributes now can handle spaces by quoting the data:
- attrib( obj, "rgbcolor", "255 0 255" );
- see attrib command for more.
-
- * New filter irit2xfg - IRIT to xfig.
- * New filter irit2plg - IRIT to REND386 polygonal format
- * New filter irit2scn - IRIT to scn (close to nff format).
- * New filter irit2dxf - filters to/from DXF. Not fully functional.
- * New filter dxf2irit
- * New filter irit2ps - more versatile filter to PostScript.
- * New IRIT commands
- + THISOBJ - returns the type of the object.
- + PRINTF - a formatted printing routine, C printf style.
- + BOOLONE - using a single closed curve subdivided into four segments
- as bool sum input.
- + BSP2BZR - convertion from Bspline to Bezier curves/surfaces.
- + BZR2BSP - convertion from Bezier to Bspline curves/surfaces.
- + FFCOMPAT - making two curves/surfaces compatible (required for
- SMORPH morphing code)
- + HOMOMAT - low level homogeneous matrix constructor.
- + SDERIVE/CDERIVE - compute derivatives.
- + SMERGE - merge two surfaces into one.
- + SMORPH - A convex blend between two compatible surfaces (3d morphing).
- + SNRMLSRF - surface normal.
- + SYMBPROD/SYMBDPROD/SYMBCPROD/SYMBSUM/SYMBDIFF - a whole set of
- symbolic computation tools.
- + CZEROS - find the zero set of a curve.
- + CEXTREMES - find the extreme set of a curve.
- + NIL - returns an empty list.
- + LISTSIZE - returns the size of a list/poly list/vertex list.
- + COORD - extract a single coordinate from an object.
- + AOFFSET - adaptive, error bounded, offset (slow!).
- + COERCE - coercion of objects.
- + COMPOSE - curve curve and surface curve symbolic composition.
- + PRISA - planar layout of surfaces.
- + CINFLECT - find the inflection points of a curve.
- + CCRVTR - curvature properties of curves.
- + CCINTER - curve curve intersection function.
- + POLY - can accept point and ctlpt types. Has a new second polyline/gon
- parameter.
- + ADAPISO - adaptive isocurve extraction.
- + CRVPTDST - nearest point on a curve to a point solution (min dist param).
- + CRVLNDST - nearest point on a curve to a line solution (min dist param).
- + PDOMAIN - returns the parametric domain of a curve or a surface.
-
- * Ability to dump UV values of vertices of polygons created from freeform
- surfaces (mainly for 2D texture mapping). See CagdSrf2Polygons and skeleton
- example in iritfltr directory.
-
- * ATTRIButes can be set to any object, not just geometry. attributes names
- are case insensetive.
-
- * POINTs and PLANEs are now supported objects as well. VECTORs, POINTs,
- CTLPTs are also displayable objects.
-
- * color() and attrib() now can work on lists, in which all elements
- in list will be appropriately updated.
-
- * More overloaded operators:
- String + String -> String
- String ^ Real -> String
- String + Real -> String
- Point + Vector -> Vector
- Point * Real -> Point (Scale)
- Point * Mat -> Point (Transform)
- -Point -> Point (scale by -1)
- -Plane -> Plane (scale by -1)
-
- * New irit configuration variable - FloatFrmt.
-
- * New prsp_mat variable.
-
- * Coplanar polygons are now handled. See coplanar variable and solid2.irt
- for example.
-
- * Boolean opeartions are almost three times faster using bbox and sorting
- optimizations! See polysort variable.
-
- * All utilities now support '-' for stdin read. Under unix, compressed data
- is properly handled (via fork of compress and zcat). For example
- poly3d-h example.dat.Z | irit2ps - > example.ps
-
- * Spline degree raising is implemented using the new symbolic tools.
-
- Here is what is new in version 3.0:
- -----------------------------------
- 1. Normals are fully supported now. Although this increases memory requirements
- (mainly a problem on IBM PC) all files dumped from IRIT now support normals
- as well.
- 2. A new cut Boolean operation (overloading '/', i.e. C = A / B assigns to C
- the regions in A out B).
- A new merge Boolean operation (overloading '^', i.e. C = A ^ B assigns to
- C all polygons of A and B merged (with no intersection tests.).
- 3. Support for freeform curves and surfaces (Bezier/NURBS).
- All Boolean are still done using polygonal data the surfaces are converted
- into (No intention to change that in the near future - direct Booleans on
- surfaces requires support of trimmed surfaces and believe me - it is HARD).
- However, quite a few tools to manipulate and maintain the curves and surfaces
- are provided and include:
- a. direct creation of curves and surfaces by specifying control mesh/poly.
- b. evaluation of surface/curve, tangents, normals.
- c. subdivision/refinement.
- d. degree raising (only Bezier).
- e. high level surface creation: ruled srf/extrude/srf of revolution/sweep.
- f. curve constructor out of curve/point pieces.
- g. conversion to polygons of surfaces including normals.
- 4. Support for SGI 4D systems using gl has been added.
- 5. lists are much more enhanced now and more functions can now get a list
- of objects where before they could get a single object only (for example
- ability to dump to file/read from file list of objects instead of one).
- This enable merging the *.ply and *.mat into single data files *.dat which
- also include the freeform data (curves and surfaces).
- 6. Ability to handle closed and open loops within the same polygon (see
- cubes.irt).
- 7. Much improved documentation.
- 8. Significant improvement in time of polygonal Boolean operations.
- 9. Two new variables COPLANAR and POLYSORT.
- 10. B&W X11 support added ( petern@bion.kth.se (Peter Nordlund) ).
-
- Version 2.1
- -----------
- 1. Fix problem with Extrude (used to update wrong plane normal), which
- cuased problems in boolean operations.
- 2. Fix boolean operations causing INTERNAL edges been visible.
- 3. Fix major memory leak problem (upto %50 less memory usage).
-
- Version 2.0
- -----------
- 1. Program has been ported to unix environment using X11 window system.
- Has been compiled using:
- a. BSD 4.3 using gcc (gnu cc) compiler.
- b. SGI 4d, Irix3.2, using cc.
- 2. Minor fix in VGA mode.
- 3. Ability to dump intersection curves instead of the model in geometry
- boolean operation, has been added and is controled via a new variable
- named INTERCRV.
- 4. Fix severe bug in the convex decomposition (wheel.irt used to be severely
- wrong, o.k. now).
-
- Version 1.1
- -----------
- 1. Full line editing for input line (see irit.doc), including last command
- retrieve.
- 2. EGA/VGA display device is finally supported.
- 3. Faster and smaller allocator makes more space and run faster.
-