home *** CD-ROM | disk | FTP | other *** search
/ Gold Fish 3 / goldfish_volume_3.bin / files / gfx / 3d / irit / docs / update.new < prev   
Encoding:
Text File  |  1995-03-06  |  12.5 KB  |  273 lines

  1. Version 5.0
  2. -----------
  3. * Animation curves and support of animation in all display devices.
  4. * Many new flags to the display device (as well as new display devices).
  5. * New constants for DEPTH (for trivariates), TRIMSRF_TYPE, TRIVAR_TYPE.
  6. * Format of OFFSET and AOFFSET is slightly modified.
  7. * LOGFILE can change files during IRIT session allowing for writing data
  8.   files on the fly.
  9. * ECHOSRC/DUMPLVL variables were replaced with EchoSource and DumpLevel
  10.   IRITSTATE options.
  11. * PAUSE was renamed into a macro.
  12. * Figures in user manual!
  13. * Programmer's manual (actually more like a reference programmer's manual).
  14. * Periodic curves/surfaces are supported.
  15. * any object with prefix of VIEW_MAT/PRSP_MAT is recognized as these
  16.   important matrices. A complete match used to be required in the past.
  17. * COPLANAR, INTERCRV, and POLYSORT are retired as variables and are now
  18.   set via IRITSTATE.
  19. * New filter dat2bin to convert between text and binary data files.
  20. * New filter irit2iv - irit to SGI's Inventor ascii format.
  21. * The config package prints the command line flags on all tools. New
  22.   config file to illustrt.
  23. * Created a symbolic lib out of cagd lib to hold all symbolic computation.
  24. * Add adaptive routines to subdivide a surface into polygons. The whole
  25.   scheme of srf->polygons was changed accordingly.
  26. * Fix a bug in printing of data in +/-xxx+/-Eyyy format.
  27. * Add "IllustrtNoProcess", "SpeedWave, and "HeatWave" attributes to
  28.   objects in input stream of illustrt.
  29. * Fix a minor bug in irit help document generator in math formulas.
  30. * Fix a minor bug that introduces a return variable from user defined
  31.   functions. Also add debug of user defined functions via IRITSTATE.
  32. * Fix a loop in the list structure when one does "obj = list(obj, obj2);"
  33. * New IRIT commands
  34.   + C/SREPARAM - affine reparametrization of curves and surfaces.
  35.   + PCIRCLE - A polynomial curve approximation of circle.
  36.   + SCRVTR - curvature bounds for surfaces.
  37.   + COERCE - has added semantics for E1/P1 coercetion to E2/P2 for curves and
  38.     to E3/P3 for surfaces.
  39.   + SURFPREV - a polynomial approximation of surface of revolution.
  40.   + IRITSTATE - a unified state modification routine.
  41.   + GPOLYLINE/GPOLYGON are slightly modified with more options.
  42.   + CEVOLUTE - exact computation and rep. of an evolute of a curve.
  43.   + GETLINE - read stdin and construct proper objects from it.
  44.   + LOFFSET - another offset variation.
  45.   + FFEXTREME - Comutes extreme values of curves and surfaces.
  46.   + ERROR function - Error abort functions to be used from user defined funcs.
  47.   + MSLEEP function - millisconed sleep function.
  48.   + CMULTIRES function - Least squares multiresolution decomposition of curves.
  49.   + CMORPH function - curve morphing.
  50.   + RANDOM function - random values function.
  51.   + New format to OFFSET and AOFFSET.
  52.   + PDOMAIN supports trimmed surfaces and trivariates.
  53.   + TRIMSRF constructs a trimmed surface.
  54.   + CTRIMSRF extracts trimming curves from trimmed surfaces.
  55.   + STRIMSRF extracts the surface of a trimmed surface.
  56.   + STRIVAR extracts a surface from a trivariate function.
  57.   + TBEZIER constructs a trivariate Bezier function.
  58.   + TBSPLINE constructs a trivariate Bspline function.
  59.   + TDERIVE differentiates a trivariate function.
  60.   + TEVAL evaluates a trivariate function.
  61.   + TREFINE refines a trivariate function.
  62.   + TREGION extracts a region out of a trivariate function.
  63.   + TDIVIDE subdivides a trivariate function.
  64.   + C/S/TINTERP - a new Bspline interpolation/least squares approximation for
  65.     curves, surfaces, and trivariates.
  66.   + CLNTEXEC/CLNTREAD/CLNTWRITE/CLNTCLOSE - set of routines to communicate
  67.     with several clients. See clients.irt.
  68.   + MOMENT - compute moments of curves.
  69. * Fix a minor bug of profiling an E2 curve with E3 point.
  70. * LISTSIZE was renamed into SIZEOF and supports lists/polys/curves ctlpolys.
  71.   Surface ctl mesh is supported via MESHSIZE.
  72. * SWEEPSRF is split into SWEEPSRF and SWPSCLSRF with more functionality
  73.   and the elimination of the torus bug.
  74. * More overloaded operators:
  75.   CtlPt * Matrix -> CtlPt
  76.   Overloaded unary '-' on a list object reverses the list object.
  77. * Transformations of CtlPt works as it should.
  78. * Surfaces/Curves/Profiling can have different ctl points or even regular
  79.   points.
  80. * rmattr can now remove attributes created by attrib. Objects can be
  81.   attributes as well.
  82. * Objects are read in the proper order - same order as input stream.
  83.  
  84. Version 4.0
  85. -----------
  86.  
  87. * New -H flag to poly3d-h to allow dumping the HIDDEN data (with different
  88.   color/attributes...), -q to run quietly, -o for output file.
  89.  
  90. * If clause was made much more reasonable by defining comparison and
  91.   Logical operators (<, >=, &&, ||, etc.).
  92.  
  93. * Function definition is available (ALIAS is retired). See function/procedure
  94.   in docs and function.irt. See plotter.irt for a nontrivial example.
  95.  
  96. * Assignments need not be within parenthesis any more. Preceding is
  97.   properly set now.
  98.  
  99. * New variables are allowed in loops now.
  100.  
  101. * MSDOS is not really supported (I left DJGCC ifdefs intact although it is
  102.   not tested any more.). EDIT command retired, SYSTEM command modified.
  103.   The main reason is that IRIT can no longer be built in the BC Large model
  104.   and the Huge model will consume pretty much the entire 640k...
  105.   If you have the ability (I do not) to build MSDOS applications with dos
  106.   extenders, and willing to dive in, please let me know.
  107.  
  108. * The good news is that both OS2 2.x and Window NT 3.1 are fully supported.
  109.  
  110. * A whole new scheme of display drivers was developed. The display driver is
  111.   a different process. As a result NORMAL, VIEW & INTERACT, BEEP, CLOSED
  112.   functions are retired, and VIEWOBJ controls the display via VIEWxxxx user
  113.   defined functions (in iritinit.irt).
  114.     BEEP, VIEW and INTERACT functions are emulated in iritinit using a
  115.   user defined function. NORMALs as well as other view states can be set via
  116.   user defined function VIEWSTATE.
  117.     poly3d was retired and is replaced by the display drivers which 
  118.   accepts command lines. In other words, the graphics device driver serves as
  119.   display program as well.
  120.  
  121. * Sweep has a new fourth parameter to allow setting normal of orientation
  122.   (pseudo frenet) frame.
  123.  
  124. * New line illustration tool - illustrt.
  125.  
  126. * Lists can now be in any length and are updated dynamically.
  127.  
  128. * Attributes now can handle spaces by quoting the data:
  129.   attrib( obj, "rgbcolor", "255 0 255" );
  130.   see attrib command for more.
  131.  
  132. * New filter irit2xfg - IRIT to xfig.
  133. * New filter irit2plg - IRIT to REND386 polygonal format
  134. * New filter irit2scn - IRIT to scn (close to nff format).
  135. * New filter irit2dxf - filters to/from DXF. Not fully functional.
  136. * New filter dxf2irit
  137. * New filter irit2ps  - more versatile filter to PostScript.
  138. * New IRIT commands
  139.   + THISOBJ - returns the type of the object.
  140.   + PRINTF - a formatted printing routine, C printf style.
  141.   + BOOLONE - using a single closed curve subdivided into four segments
  142.                             as bool sum input.
  143.   + BSP2BZR - convertion from Bspline to Bezier curves/surfaces.
  144.   + BZR2BSP - convertion from Bezier to Bspline curves/surfaces.
  145.   + FFCOMPAT - making two curves/surfaces compatible (required for
  146.                             SMORPH morphing code)
  147.   + HOMOMAT - low level homogeneous matrix constructor.
  148.   + SDERIVE/CDERIVE - compute derivatives.
  149.   + SMERGE - merge two surfaces into one.
  150.   + SMORPH - A convex blend between two compatible surfaces (3d morphing).
  151.   + SNRMLSRF - surface normal.
  152.   + SYMBPROD/SYMBDPROD/SYMBCPROD/SYMBSUM/SYMBDIFF - a whole set of
  153.                              symbolic computation tools.
  154.   + CZEROS - find the zero set of a curve.
  155.   + CEXTREMES - find the extreme set of a curve.
  156.   + NIL - returns an empty list.
  157.   + LISTSIZE - returns the size of a list/poly list/vertex list.
  158.   + COORD - extract a single coordinate from an object.
  159.   + AOFFSET - adaptive, error bounded, offset (slow!).
  160.   + COERCE - coercion of objects.
  161.   + COMPOSE - curve curve and surface curve symbolic composition.
  162.   + PRISA - planar layout of surfaces.
  163.   + CINFLECT - find the inflection points of a curve.
  164.   + CCRVTR - curvature properties of curves.
  165.   + CCINTER - curve curve intersection function.
  166.   + POLY - can accept point and ctlpt types. Has a new second polyline/gon
  167.                                    parameter.
  168.   + ADAPISO - adaptive isocurve extraction.
  169.   + CRVPTDST - nearest point on a curve to a point solution (min dist param).
  170.   + CRVLNDST - nearest point on a curve to a line solution (min dist param).
  171.   + PDOMAIN - returns the parametric domain of a curve or a surface.
  172.  
  173. * Ability to dump UV values of vertices of polygons created from freeform
  174.   surfaces (mainly for 2D texture mapping). See CagdSrf2Polygons and skeleton
  175.   example in iritfltr directory.
  176.  
  177. * ATTRIButes can be set to any object, not just geometry. attributes names
  178.   are case insensetive. 
  179.  
  180. * POINTs and PLANEs are now supported objects as well. VECTORs, POINTs,
  181.   CTLPTs are also displayable objects.
  182.  
  183. * color() and attrib() now can work on lists, in which all elements
  184.   in list will be appropriately updated.
  185.  
  186. * More overloaded operators:
  187.   String + String -> String
  188.   String ^ Real -> String
  189.   String + Real -> String
  190.   Point  + Vector -> Vector
  191.   Point  * Real -> Point (Scale)
  192.   Point  * Mat -> Point (Transform)
  193.   -Point -> Point (scale by -1)
  194.   -Plane -> Plane (scale by -1)
  195.  
  196. * New irit configuration variable - FloatFrmt.
  197.  
  198. * New prsp_mat variable.
  199.  
  200. * Coplanar polygons are now handled. See coplanar variable and solid2.irt
  201.   for example.
  202.  
  203. * Boolean opeartions are almost three times faster using bbox and sorting
  204.   optimizations! See polysort variable.
  205.  
  206. * All utilities now support '-' for stdin read. Under unix, compressed data
  207.   is properly handled (via fork of compress and zcat). For example
  208.   poly3d-h example.dat.Z | irit2ps - > example.ps
  209.  
  210. * Spline degree raising is implemented using the new symbolic tools.
  211.  
  212. Here is what is new in version 3.0:
  213. -----------------------------------
  214. 1. Normals are fully supported now. Although this increases memory requirements
  215.    (mainly a problem on IBM PC) all files dumped from IRIT now support normals
  216.    as well.
  217. 2. A new cut Boolean operation (overloading '/', i.e. C = A / B assigns to C
  218.    the regions in A out B).
  219.    A new merge Boolean operation (overloading '^', i.e. C = A ^ B assigns to
  220.    C all polygons of A and B merged (with no intersection tests.).
  221. 3. Support for freeform curves and surfaces (Bezier/NURBS).
  222.    All Boolean are still done using polygonal data the surfaces are converted
  223.    into (No intention to change that in the near future - direct Booleans on
  224.    surfaces requires support of trimmed surfaces and believe me - it is HARD).
  225.    However, quite a few tools to manipulate and maintain the curves and surfaces
  226.    are provided and include:
  227.    a. direct creation of curves and surfaces by specifying control mesh/poly.
  228.    b. evaluation of surface/curve, tangents, normals.
  229.    c. subdivision/refinement.
  230.    d. degree raising (only Bezier).
  231.    e. high level surface creation: ruled srf/extrude/srf of revolution/sweep.
  232.    f. curve constructor out of curve/point pieces.
  233.    g. conversion to polygons of surfaces including normals.
  234. 4. Support for SGI 4D systems using gl has been added.
  235. 5. lists are much more enhanced now and more functions can now get a list
  236.    of objects where before they could get a single object only (for example
  237.    ability to dump to file/read from file list of objects instead of one).
  238.    This enable merging the *.ply and *.mat into single data files *.dat which
  239.    also include the freeform data (curves and surfaces).
  240. 6. Ability to handle closed and open loops within the same polygon (see
  241.    cubes.irt).
  242. 7. Much improved documentation.
  243. 8. Significant improvement in time of polygonal Boolean operations.
  244. 9. Two new variables COPLANAR and POLYSORT.
  245. 10. B&W X11 support added ( petern@bion.kth.se  (Peter Nordlund) ).
  246.  
  247. Version 2.1
  248. -----------
  249. 1. Fix problem with Extrude (used to update wrong plane normal), which
  250.    cuased problems in boolean operations.
  251. 2. Fix boolean operations causing INTERNAL edges been visible.
  252. 3. Fix major memory leak problem (upto %50 less memory usage).
  253.  
  254. Version 2.0
  255. -----------
  256. 1. Program has been ported to unix environment using X11 window system.
  257.    Has been compiled using:
  258.    a. BSD 4.3 using gcc (gnu cc) compiler.
  259.    b. SGI 4d, Irix3.2, using cc.
  260. 2. Minor fix in VGA mode.
  261. 3. Ability to dump intersection curves instead of the model in geometry
  262.    boolean operation, has been added and is controled via a new variable
  263.    named INTERCRV.
  264. 4. Fix severe bug in the convex decomposition (wheel.irt used to be severely
  265.    wrong, o.k. now).
  266.  
  267. Version 1.1
  268. -----------
  269. 1. Full line editing for input line (see irit.doc), including last command
  270.    retrieve.
  271. 2. EGA/VGA display device is finally supported.
  272. 3. Faster and smaller allocator makes more space and run faster.
  273.