ePiX -- ChangeLog Andrew D. Hwang April 5, 2007 (v1.0.24) * Fix missing #include declarations (Martin Michlmayr, Julian Gilbey) - (errors.h) #include - (polyhedron.cc, surface.cc) #include March 16, 2007 * (dataplots.{cc,h}) (Marcus Hanwell) - Updates to data_file - Tokenizer to read files - User-modifiable delimiter, comment characters March 3, 2007 * (objects.cc) Axis labels of small abs. value rounded to zero * (dataplot.cc) Warning string bug March 2, 2007 * (New files spline.{cc,h}) Create natural splines from vector of P * (dataplot.cc) Implement data_bins::draw() using splines February 27, 2007 * (surface.{cc,h}) Backface culling in surface, surface_rev February 24, 2007 * (dataplot.cc) - data_file::column() accepts index 1, ..., size() - Out of range bug in data_bins::initialize() - Piecewise-linear data_bins::plot implemented January 03--29, 2007 (v1.0.23) * (functions.*) log_log, log_lin, lin_log functions * (dataplot.{cc,h} - New classes data_file, data_bins - FILEDATA and old data plotting functions deprecated * (objects.*) Logarithmic axes and labels December 29, 2006--January 01, 2007 (v1.0.22) * (make_header) Add to epix.h * (domain.*) - "dim" function, returns dimension of domain (0--3) - "slices" take optional argument (number of slices) - "slices" return list (not vector) of domains - domain_list class (wrapper around std::list) - mesh(n) defaults to mesh(n, n, n); formerly mesh(n, 1, 1) * (functions.*) Add sech, csch, coth, and inverses * (plot_algorithms.h) Use domain_list * (plots.*) - New functions: plot(P f(double, double), const domain_list&); plot(P f(double, double, double), const domain&); plot(P f(double, double, double), const domain_list&); - Remove ambigous overloads: plot(double f(double, double), const domain&); plot(P f(double, double), const P&, const P&, const mesh&, const mesh&); * (surface.*) - New functions: surface(f(double, double), domain_list) surface(f(double, double, double), domain) surface(f(double, double, double), domain_list) surface_rev(f(double), t_min, t_max, n_lats, n_longs) - New class "scenery", for unions of surfaces - Move facet, by_distance classes to cc file - Misc cleanup * (New files samples/extras/decorate,minkowski,spherical.xp) November 11, 2006 (v1.0.21) * (epix.1.in, this file) Human-readable email address November 6, 2006 (v1.0.20) * Remove README-Authors, epix.ebuild, epix.spec November 3, 2006 * (Several cc, h files) - (void) -> () - Remove spurious dependencies * (make_header) errors.h, Label.h, lengths.h removed from epix.h * (contrib) - h_scale and v_scale added to Hatch.cc (formerly inlined) - (doc) Installation instructions updated October 29, 2006 * (geometry.{cc,h}) Spherical arcs and lines, regular polyhedra * (New file: samples/extras/polyhedra.xp) October 28, 2006 * (New files: samples/extras/{log,lorenz}.xp) October 24, 2006 (v1.0.19) * (plots.{cc,h}) - Vector field arrows can be drawn with scaled heads - Dart and slope fields' elements can be drawn at specified length - Vector/dart/slope field plotting over a (possibly 3-D) domain * (New file: samples/extras/vfield.xp) * (New files: samples/extras/affine.{cc,h,xp}) Sample library code, instructions, and source file October 21, 2006 (v1.0.18) * (cropping.h) Order "enclosure" data elements consistently with constructor (Julian Gilbey) * (path.cc) - Fix initialization order in path constructor (JG) - Constructor assignments -> initialization * (path.{cc,h}) int arguments (e.g. EPIX_NUM_PTS) -> unsigned int * (globals.h) EPIX_NUM_PTS is unsigned int * (segment.cc) Remove debug_print (JG) October 17, 2006 (v1.0.17) * (contrib/epix_ext.h, {Double,Single}LogCoord.cc) Remove adplot October 14, 2006 (v1.0.16) * (functions.{cc,h}) - Remove Const class - Rename "D" and "I" -> "Deriv" and "Integral" (update manual) * (map.h) Declare evaluation operators const * (New file plot_algorithms.h) Plotting templates Actual plotting is done by template functions hidden from the user * (plots.{cc,h}) - Move templates to plot_algorithms.h - Move inlines to cc - Remove adaptive plotting * (make_header) Remove map.h October 10, 2006 (v1.0.15) * (camera.{cc,h}) - Factor out frame class - Move inlined code to cc - Add "at" and "look_at" functions taking three doubles - Attribute-setting functions return epix_camera&, not void * (cropping.{cc,h}) - Move inlines to cc - Cleanup * (dataplot.{cc,h}) Misc cleanup * (functions.{cc,h}) - Move inlines to cc (including D and I class functions) - Remove "static inline" from declaration of "integrand" - Misc cleanup * (output.{cc,h}) - Move inlines to cc - Move globals variables to globals.cc - Factor out color functions - Misc cleanup * (New files colors.{cc,h}) - Inlines to cc * (New file errors.h) - Some inclusions of "output.h" require only errors.h * (New files frame.{cc,h}) - Separate frame code - Move inlined functions to cc - Misc cleanup * (New file: globals.cc) - Move globals.h inlines to cc - Move globals variables from output.cc * (files, Makefile.am, make_header) - Add colors.{cc,h}, frame.{cc,h}, errors.h, globals.cc October 09, 2006 * (circle.{cc,h}) - Move inlined code to cc - Remove operator+(P, circle) - Fix dangling references - Misc cleanup * (curves.{cc,h}) - aarrow de-inlined - cleanup * (domain.{cc,h}) - Misc cleanup - "resize" returns value, not reference * (geometry.{cc,h}) - Move inlined code to cc - Change P to const P& - Remove static functions from header - Misc cleanup * (Label.{cc,h}) - Move inlined code to cc - Misc cleanup * output.cc - Misc cleanup, move path:: functions to path.cc * (path.{cc,h}) - Move inlined code to cc - Change P to const P& in several functions - Move member functions and auxiliaries from output.cc to path.cc - Misc cleanup * (plane.{cc,h}) - Move inlined code to cc - Declare classes instead of including header files in plane.h - Misc cleanup * (sphere.{cc,h}) - Move inlined code to cc - Remove operator+(P, sphere) - Move path::draw to path.cc - Misc cleanup * (segment.{cc,h}) - Move inlined code to cc - Remove "join" constructor, operator+(P, segment) - Fix dangling references - Misc cleanup * (triples.{cc,h}) - Move inlined code to cc - Misc. cleanup September 25, 2006 * (samples/{clipping,pole}.xp) Remove unneeded "Light" September 23, 2006 (v1.0.14) * (pkg script, doc/Makefile.am) Keep manual file tori.eepic September 8, 2006 (v1.0.13) * (surface.{cc,h}) Surface plotting works with domains (fine mesh used to draw mesh elements; for proper behavior, fine must be a multiple of coarse) August 29, 2009 (v1.0.12) * "make clean" removes stale latex files (Julian Gilbey) August 23, 2006 (v1.0.11) * Version not updated in configure August 20, 2006 (v1.0.10) * (elaps.in) - Default LATEX_INTERACT=batchmode -> scrollmode - Interactive LATEX_INTERACT=scrollmode -> errorstopmode - Add spacers ("---") between stanzas in output, log file * (epix-lib.sh) - ePiX_command wraps argument in a single command - ePiX_dvips function removed - New variables SYSTEM_STD{ERR,OUT}, SYSTEM_DEVNULL * (All *.in files) - ePiX_dvips -> ePiX_command - Use SYSTEM_ variables instead of hard-coded /dev/... July 13, 2006 (v1.0.9) * (README, manual.tex) Update mailing list information June 14, 2006 * (path.{h,cc}) - Misc cleanup, redeclarations - Default path() constructor - Add pt() functions for building a path point-by-point * (curves.cc) Remove polygon in triangle/quad implementation * (samples/extras) - Update README - Add lighting.{flx,h} (color-shaded surface sample files) - Rewrite {butterfly,helicoid,hyperboloid,tori}.xp so data, sorting classes don't conflict with surface plot functions June 09, 2006 * (samples/{clipping,pole}.xp) Rewrite using shaded surface plots June 06, 2006 (v1.0.8) * New Makefiles from autoconf 2.60 (Julian Gilbey) June 02, 2006 * (INSTALL, POST-INSTALL) Update instructions * (pkg script) Only two versions (epix-x.y.z[_withpdf].tar.bz2) May 24, 2006 * (contrib/epix_ext.h) Define virtual destructors for classes containing virtual functions May 22, 2006 (v1.0.7) * (files) Add TODO (needed by "make dist" et. al.) May 19, 2006 * (New module: surface.{cc,h}) Shaded surface plotting May 17, 2006 * New file: pairs.cc - Factor out inlined functions, clean up call and return syntax - Scalar multiplication operator (fixes bug with "bubble" lens) - Reimplement equality operator, add inequality operator May 16, 2006 * (Shell scripts) - Disable "-vv" option - Miscellaneous bugfixes from recent changes May 14, 2006 * (camera.{cc,h}) - Friend functions viewpoint() inlined outside camera class - Declare at(), look_at(), lens functions to take const P& * (path.h) polygon(), polyline() declared outside path class * (cropping.h, globals.h) Pre-declare friend functions May 09, 2006 * (sphere.cc) Latitude radius bug * (pairs.h) Complex division bug * (epix.in) Don't cd to temporary directory when compiling April 08, 2006 * (samples/extras/riemann.flx) Fixed command line parsing * (elaps.in, laps.in) -i (interactive) option runs latex in scrollmode * (flix.in) Can process multiple input files * (All scripts) Print success/failure summary after processing multiple files April 01, 2006 * (Shell scripts) If an option requires an argument (e.g. -I), check for argument and exit if not found March 26, 2006 * (Shell scripts) Option change: "-V" for version, "-v" for verbose - Verbose option echoes filename(s) and prints "success" or "failure" - All output/error messages piped to log file - filename parsing factored out to epix-lib.sh - Obsolete function ePiX_terse_help removed - Options -V, --version, --gpl all print license * (epix.in) - Use subdirectory of cwd, not mktemp - Obsolete loop at start of epix_compile_files removed * (flix.in) - flix_get_fileroot returns but doesn't die if input file isn't found March 04-19, 2006 * Package uses autoconf (Julian Gilbey and ADH) - "config" file obsolete (removed) - New files: AUTHORS, NEWS, configure.in - CHANGELOG -> ChangeLog - New boilerplate files: config.{guess,sub}, aclocal.m4, install-sh, missing, mkinstalldirs - INSTALL, manual (formerly tutorial) updated - ./configure accepts options --with-bash= --with-runtime= --with-contrib * doc/contrib has moved to contrib/doc * Package uses automake - Makefile -> Makefile.am in top-level directory, samples, contrib, doc, and contrib/doc * All Makefiles re-written: - helpfiles.sh, pre-install.sh, post-uninst.sh obsolete (removed) - Use compiler flag -O2 uniformly * Subdirectory Makefile.ams re-written - Compiled documentation placed in top-level directory at build * samples/sample.sh replaced with samples/sample.tex in package * (make_epix) - Working directory removed from default header path * (make_{elaps,epix,flix,header,laps}) - Scripts built by Makefile - Portions kept in files named, e.g., make_epix_in and epix_hdr - "--gpl" option for license ("-vv -v" still works) - Missing " in usage message fixed * (All sources and headers) - Move lengthy inlined functions to cc - Functions declared const when appropriate - Function arguments made const& when possible - Initialize in constructors instead of copying * epix, flix read config files *before* looking at command line options * The include and library files are no longer versioned. That was somewhat confusing! * contrib/epix_ext.h no longer says "using namespace ePiX_contrib" globally February 26, 2006 * (epix_functions) epix_basic_help() -> epix_usage() * (make_{elaps,epix,flix,laps}) Reorganization and cleanup * (make_laps) - Compile checks for success at each step before continuing - Automatically update stale aux files * (make_elaps) - Set page size to 7x9.5" to prevent page break with large figures - User-specified dvips options *follow* standard options - Compile checks for success at each step before continuing - If output file is specified with multiple inputs, skip all but last - Compile figure in working directory February 25, 2006 * (Makefile) Extensive cleanup, numerous bugs fixed (Julian Gilbey) * (make_laps, make_elaps) - Add option -interaction=batch/scrollmode (Julian Gilbey) * (keywords) File removed October 30, 2005 (v1.0.6) * README(-changes) Put documentation under the GPL (Julian Gilbey) * (New files: samples/extras/hyperboloid.xp, helicoid.flx) July 31, 2005 (v1.0.5) * (make_flix) - Exit immediately if input file not found - --no-defaults option May 09, 2005 * (doc/tutorial.tex) Generate (shaded) torus figure in one file * (Makefile, helpfiles.sh) Always compile docs/samples if requested * (samples/extras/tori.xp, doc/tori.xp) quad -> ePiX::quad May 07, 2005 * (make_{elaps,epix,flix,laps}) "Help" is verbose by default (Karl Berry) * (make_laps) Accept extensions tex, dtx, ltx April 23, 2005 * (polyhedron.cc) Don Hatch's suggestions on Acos * (geometry.cc) ePiX:acos -> Acos * (functions.cc) Re-implement sinx() April 02, 2005 * (make_elaps) "-ps|--ps" option (create standalone PS file) March 14, 2005 * (make_epix) - "--no-defaults" does not clear the include and lib paths - "-cc|--compiler" option (set compiler) March 11-13, 2005 (v1.0.4) * (New files: polyhedron.{cc,h}) Manipulate, draw convex 1-skeleta * (plane.h) Functions to extract normal, determine separation of points * (plane.cc) draw() reimplemented to draw a (shadable) closed path * (make_header) Remove multiple inclusion #defines * (helpfiles.sh) Check for existing documentation before building March 5, 2005 * (dataplot.*) Change argument order in histogram() February 27, 2005 * (make_elaps, make_laps) -n|--no-config option (ignore ~/.dvipsrc) February 11, 2005 * (make_elaps) /tmp cleanup bug (directory wasn't removed) January 14, 2005 * (make_laps) Option compatibility - "--pdf" works with "--tex", interacts politely with "--pdf(la)tex" January 02-12, 2005 (v1.0.3) * (New file: config) Configurable parts of the old Makefile - Install paths conform to the Filesystem Hierarchy Standard (See README-porting for details) - No environment variables passed by Makefile during build * (New files: make_{elaps,epix,flix,laps}) Generate scripts at build * epix, elaps, laps re-written - (All) Can compile multiple files in one run - (epix) Output file specified by -o option, not as final argument - (elaps) Size option (for 10, 11, or 12-pt document) - (laps) Compile with any of tex, latex, pslatex, pdftex, pdflatex * (Makefile, make_header, pre-install.sh, post-uninst.sh, helpfiles.sh) (Un)install process re-written: - New targets (doc, doc-clean, samples, samples-clean, uninstall-all) - Makefile handles cleanup (instead of relying on helpfiles.sh) - Compiled tutorial, samples, and tarred source files in doc/epix - Header and lib files' names contain version number, and are symlinked - newbash.sh run automatically if necessary - "make contrib" can be re-run safely - Run ranlib on installed library (Alan Sill, very belated) December 31, 2004 (v1.0.2) * (dataplot.*, samples/extras) Histogram functions * (globals.h, objects.cc, output.*, Label.cc) - Font size and face - Rename arrowhead parameters * (curves.*) Quad/cubic spline arrows December 26, 2004 (v1.0.1) * (objects.*) - Basic markers (circ, dot, box, etc.) accept label arguments - Labeled arrows * (globals.h, objects.cc) - Move arrowhead parameters to epix:: - Add "camber" parameter (indentation at base of arrowhead) * (curves.*) Use arrowhead parameters * (samples/*) Miscellaneous updates December 19, 2004 * (globals.h, plots.*) Riemann sums (LEFT, RIGHT, UPPER, LOWER, TRAP, MIDPT) November 14, 2004 * (doc/) Several .xp files - Declare main() to return int (Kevin McCormick) - Miscellaneous syntax updates September 11, 2004 (v1.0.0) * (helpfiles.sh) Install tutorial/manual as pdf (and ps) * (README-authors) File removed * (README, README-changes, epix.spec) Miscellaneous changes * (bash_completions) Typo fixed September 04, 2004 (v1.0.0pre) * (lengths.*) Handle bp (big points) and sp (scaled points) * (sphere.cc) - "Omitted endpoint" bug for closed paths - draw() reimplemented for output formatting, cf. output.cc * (output.cc) dash_start, print(ostream...) made non-static * (path.cc) Use Cos, Sin in ellipse constructor * (functions.h) Asinine Asin bug September 03, 2004 * (curves.cc) triangle, quad, rect work when dashed/dotted August 26, 2004 * Tutorial moved to doc/ * (Several config/doc files) Changes for new major version August 24, 2004 (v0.8.11rc16) * (triples.h, segment.h) - midpoint(P, P, double) moved to triples.h - midpoint(segment) made a member function * (functions.h, plots.h) Diff -> D, Int -> I * (functions.h) D, I class have eval() function; D class has left() and right() functions for derivative from left/right * (laps) --tex option August 22, 2004 * (scripts) flix files use extension ".flx" * (functions.cc) Integration bug August 20, 2004 * (curves.cc) - arrowheads drawn solid regardless of path style - aarrow (double-ended arrow) August 18, 2004 * (globals.h) - dot_size defaults to 3pt - Maximum dot_size is 256pt * (output.cc) - dot_size defaults to 3pt - By default, ddot=2pt, dot=3pt, spot=4.5pt August 17, 2004 * (elaps, flix, preflix, prepix) Construct email address in license August 10, 2004 * (New files: preflix) Script (flix) for mng animation * (output.cc, globals.h) (extern) double tix * (epix.el) Small documentation updates July 27, 2004 (v0.8.11rc14, 15) * (functions.*) newton(f, g, x0) finds crossing point * (plots.h) follow -> flow * (cropping.*, {curves,output,sphere}.cc) Separate Crop_Box * (cropping.*) New function crop_box() July 26, 2004 * (plane.*) face1_min, etc. removed * (functions.h) Capital trig functions (Cos, Tan, etc.) added * (globals.h, output.cc) Default dot/box size is 4 pt, range is 0.5 -- 32 pt July 24, 2004 * (dataplot.*) Functions for linear regression July 19, 2004 * (functions.h) New function xyz (Cartesian constructor) July 16, 2004 * (Label.cc) Print "\makebox(0,0)" for markers * (New files: data_plot.{cc,h}) Re-implement data plotting in C++ * (plots.cc) shadeplot() implemented using paths July 14, 2004 (v0.8.11rc13) * (globals.h) New constant, EPIX_PATH_LENGTH, number of points per path segment (to avoid overflowing TeX memory) * (output.h) string-valued function start_path_string() * (output.cc) path::draw() formats output * (plots.h) Loop index bug in plot(T, domain) July 13, 2004 * (New file: map.h) Factor out mapping classes from plots.h * (path.*) - Parametrized path constructors - Two-point line constructor has zero expansion by default * (curves.cc) - arc_arrow() filling bug - triangle(), rect(), and quad() fill according to epix::fill_paths * (globals.h, functions.cc output.h, Label.cc) Label rotation: label_angle(angle); (Angle stored internally in degrees) July 12, 2004 * (plots.h) follow(F, P x0, t_max); flow x0 by F for time t_max * (plots.cc) Bug in draw_field if vector parallel to eye * (New file: domain.cc) Implement slices() July 11, 2004 * (cropping.cc) Bug in seek_crop(); use bisection method * (curves.cc) Line fixed * (output.cc) Initialize camera in begin() * (triples.*) - Re-factor operator code into triples.cc - Increment (member) operators return references, others don't - Operators take const, non-reference arguments (fixes two initialization bugs in plots.h) * (Makefile) Optimize flag (-O2) added to curves, output, path, plots July 09, 2004 * (plots.*) Move data plotting to separate file * (epix.el) Declare main() int July 08, 2004 * (all header files) _EPIX -> EPIX * (globals.h) - new epix:: members using_pstricks, fillcolor - Remove initializer function epix() - Remove DOT/SPOT sizes; use epix::dot_size() * (output.*) - Size of ring, circ, (d)dot, (b)box in terms of epix::dot_size() - using_pstricks features : File header : start_path(), path::draw() : fill_color(), psset() * (sphere.cc) Use dash_seg() instead of print_path_segment() * (Label.cc) epix_unfill() -> epix_whiten() * (curves.h) rect() fills according to epix::fill_paths July 06, 2004 (v0.8.11rc12) * (domain.h) Domain resizing functions * (curves.cc) Fillable arrowheads * (cropping.cc) seek_path_end() bug * (globals.h, output.cc) Default dotdiam is 2pt July 05, 2004 * (plots.*) Class rearrangement * (functions.h) Const, Diff, Int moved from plots.h * (domain.h) Constructor for (t_min, t_max, num_pts) * (objects.cc) dot diameter bug July 04, 2004 * (curves.cc, geometry.cc, output.cc, path_data.*, plots.*, sphere.cc, cropping.h, Makefile) path_data -> path July 01, 2004 * (path_data.h) - New function set_fill(); clip/crop() renamed set_clip/crop() - close() takes default "true" argument * (path_data.cc) - Line constructor uses 2 points when path is solid - Ellipse constructor closes path if one full turn. - Constructors fill according to epix::fill_paths (consequent changes to plots.*, curves.cc, geometry.cc) - Path concatenation operators implemented properly * (output.cc) - Multiple bugs in path_data::draw() - clip() -> set_clip(), same for crop() * (objects.*) box(P ctr, double size), filled colorable square * (sphere.cc, output.cc) Use box in dotted paths * (sphere.cc) Dashed line bug * (globals.h) EPIX_DASH_LENGTH, EPIX_DOT_SEP removed June 29, 2004 * (globals.h) - dashlength, dashfill are separate parameters - New function dot_sep() - "get parameter" functions are static members (consequent changes to curves.*, output.cc, path_data.cc, plots.h, sphere.cc) * (output.cc) - Define and initialize style variables before begin() - Dotted line newline bug * (objects.cc) Minor cleanup of dot(), ring() June 27, 2004 (v0.8.11rc11) * (curves.*) Line does not take default num_pts June 26, 2004 * (New file: domain.h) * (contrib/) - h/v_size -> h/v_size() - draw_line, draw_plot -> line, plot * (pairs.h) mesh is a class (not a struct) * (curves.cc, plots.cc) adjustments for mesh class * (output.cc) Closed path bug in path_data::draw() June 25, 2004 * (cropping.*) picture(), offset() may take two double arguments * (curves.cc) - Line *crops* (not clips) line - fractal curves restored * (functions.h) Redundant angle() declaration removed June 23, 2004 (v0.8.11rc9) * (Multiple files) "triple" renamed "P" ("triple" still a typedef for "P") June 22, 2004 * (camera.h) rotate.sea/sky() update viewpt June 21, 2004 (v0.8.11rc8 -- rc7 not released) * (meshplots.*) - clipplot helper functions removed - plot(triple F(double, double)...) merged into plots.* * (Label.cc) draw() sensitive to visibility * (sphere.*, geometry.*) Completely re-implemented using path_data * (arcana.*, legacy.h) Removed June 20, 2004 * (plots.*) Plotting completely re-implemented using path_data, templates June 17, 2004 * (samples/koch.xp) end_bold() -> plain() June 14 -- 16, 2004 * (All files) Extensive rewriting, cleanup. Particularly - (pair.*) pair inlined, members made private, operators rewritten - (triple.h) members made private, operators rewritten - (lengths.*) raw_len removed (use "norm" instead) - (camera.*) get_sea(), etc., now void, called "sea()", etc. - (arcana.cc, plots.cc) "diff" replaced by "deriv", defined in functions.h - (output.*) epix_comment removed, end_stanza produces less output - Polygons, arrows moved to curves.* - Most printf calls changed to cout - All output functions defined in output.* * (camera.*) - Camera knows its location (viewpt) - focus() and range() change target and viewpt (respectively) while preserving orientation. - Bugs fixed in look_at(), viewpoint() * (contrib/, samples/) Files updated (triple members private) * (New files: path_data.*, cropping.*) Classes for cropping/clipping paths - All path-like objects drawn via class path_data - Data structures for clipping (enclosure::Clip_Box) and cropping (crop_mask::Picture, crop_mask::Bounding_Box) * (globals.h) - Global variables isolated in class epix:: - EPIX_DBL_INFTY removed, EPIX_INFTY = 10^5 (was 10^4) June 07, 2004 * (output.*) Primary colors take depth option May 20, 2004 * (samples/*) Sample document and several files tweaked May 19, 2004 * (segment.cc) coplanarity test bug * (triples.h) triple (in)equality tests loosened (norm < EPIX_EPSILON) * (circle.cc) Tests for exceptional conditions explicitly loosened May 04, 2004 (v0.8.11rc6) * (plane.*) draw() and accessories * (output.cc) clip_to(), clip_box() set face planes May 03, 2004 * (plots.cc) dart/slope_field length bug April 20, 2004 * (circle.h) Force normal vector to be unit in constructor April 08, 2004 * (New files: plane.*) Plane class, intersection operators April 08, 2004 * (New files: Style.*) Global style options * (globals.h) epix_path_style moved to Style.h * (functions.h) Identity map templated April 06, 2004 * (output.*) epix_newline/comment/warning/error() * (geometry.cc, lengths.cc, objects.cc, output.cc, pairs.cc, plots.cc) - Formatting handled by inlined functions in output.h * (objects.cc, functions.cc) max/min functions * (globals.h) - epix_mark_type H_TICK, V_TICK, TEXT - epix_label_posn none * (New files: Label.*) Label class - Label(basepoint, label_text, mark_type, alignment, masking, offset) - Constructor for labels as function of position March 07, 2004 (v0.8.11rc5) * (contrib/) - Svend Daugaard Pedersen's updates (log plotting, etc.) - Separate Makefile * (helpfiles.sh) Install contrib documentation * (Makefile) contrib target re-written, old cruft removed February 22, 2004 * (geometry.*) visible_on_sphere() allows specification of sphere * (sphere.*) latitude()/longitude() February 07, 2004 (v0.8.11rc4) * (camera.h) get_proj_point() Returns center of camera projection * (Makefile, files, sphere.*) Sphere class * (geometry.cc) Uniform visibility test for spherical plotting December 11, 2003 (v0.8.11rc3) * (circle.cc) Three-point circle constructor bug June 18, 2003 (v0.8.11rc2) * (objects.*) polygon/polyline argument bugs (Thorsten Riess) June 11, 2003 (v0.8.11rc1) * (elaps) --pdf option June 06, 2003 (v0.8.10) * (camera.cc) fisheye, bubble lenses project to *unit* sphere June 04, 2003 (v0.8.10rc11) * (objects.h) Remove int cast from {h,v}_axis(int) (gcc 2.95 can't compile) * (curves.*, objects.*) Arrow functions accept optional scale parameter affecting size of arrowhead May 27, 2003 (v0.8.10rc10) * (lengths.cc) Coordinate change mappings do not perform truncation * (output.cc) print() functions perform truncation These changes fix the unsquashed arrowhead bug. * (objects.cc) Bugs in draw_arrowhead: - arrowhead base dimensions set incorrectly (sin_theta -> cos_theta) - arrowhead drawn as spot over too large an angular range - draw degenerate arrowhead as "circ" in all cases May 26, 2003 * (plots.h) Wrong data type for 2nd arg of data_plot() May 18--20, 2003 * (objects.cc) Degenerate arrow bug in draw_arrow * (curves.cc) Arc arrow bug (normalize arrow in draw_arc_arrow) April 25, 2003 * newbash samples.sh -> samples/sample.sh * (samples/) Use simplified axis/labels commands, misc tweaking * (helpfiles.sh) - Remove "-ps" option when compiling tutorial - Miscellaneous reformatting April 24, 2003 (v0.8.10rc9) * (objects.cc) - {h,v}_axis() Number of points bug (1 interval now okay) - In *_masklabels(), mask parameter is bool (was int) - Use multiput if possible when printing tick marks * (objects.h) - {h,v}_axis[_[mask]labels]() now supply default endpoints - {h,v}_axis() Number of intervals defaults to 1 (was #ticks-1) * (output.*) print_vector(), to print triple as displacement April 23, 2003 * (legacy.h) Restore file - Polygon, ellipse, arc, spline, and some plots inlined - Legacy functions print warning to stderr * (Makefile) Rewrite legacy target April 22, 2003 (v0.8.10rc8) * (samples/) Extensive reworking, new sample files April 21, 2003 * (triples.h, camera.cc) Orthogonalization denoted "%" * (objects.*) - New functions draw_polygon (data only), polyline(open) - polygon() draws closed polygon April 21, 2003 (v0.8.10rc7) * (New files: circle.*) Split segment.* * (triples.*) All functions inlined, triples.cc removed * (Makefile, files, make_header) Add circle.*, remove triples.cc * (samples/sample.sh) Loxodrome caption bug April 20, 2003 * (segment.*) - intersect(), slide() are overloaded operators (* and +) - Translation and scaling operators for circles - draw() functions for segment, circle - Error handlers moved to globals.h * (triples.*) ++, != of type bool * (curves.cc) ellipse_arc angle unit bug * (Tutorial) Several errors corrected April 19, 2003 * (objects.*) draw(circle) works in perspective * (camera.*) New lens: "bubble" April 18, 2003 * (Makefile) Do not echo shell script commands * (segment.cc) Sign bug in intersect(circle, circle) April 17, 2003 * (objects.cc) One more Line() bug :( * (triples.h) J(triple) (replaces former J(pair)) April 16, 2003 (v0.8.10rc6) * (curves.*) num_pts bug in (draw_)ellipse * (globals.h) EPIX_NUM_PTS -> 80 * (plots.*) clipplot -> cropplot * (meshplots.*) wiremesh -> plot, clipmesh -> clipplot * (objects.cc) Line() fixed * Documentation and samples updated * (files) Remove legacy.* * (New file) samples/sample.sh (to generate sample.tex on the fly) * (helpfiles.sh) Generate samples/sample.tex with script April 14, 2003 (v0.8.10rc5) * (objects.cc) Line() clips to clip_box instead of bounding_box * (objects.*) New function: polygon(int, triple, ...) * (plots.*) - Restore tan_line() and sliceplot() - dart_field bug (lengths wrong) * (contrib/epix_ext.*) Introduce ePiX_contrib namespace * (arcana.*) fractal() takes triple arguments * (geometry.cc) Change declarations in sphereplot*() * (elaps) \usepackage rotating April 13, 2003 * (contrib.*) pair -> triple, comment refs to epix_lines_printed April 08, 2003 * (camera.cc) frame returns right-handed value * (curves.*) - Old draw_ellipse_arc() number-of-points bug - 3-D draw_ellipse_arc() debugged - 3-D draw_ellipse takes default num_pts * (objects.cc) draw_arrow() "null head" bug April 07, 2003 * (triples.*) Orthogonalization operator fixed (and remove /= operator) * (meshplots.*) - Convert pair args to triple - Use is_in_bounds() (from output.h) for clip testing * (objects.cc) 3-D arrow() implemented April 06, 2003 * (segment.*) Classes and algorithms re-designed, implemented * (triples.*) != operator added, cross product takes const args * (plots.*) Algorithms adjusted for 3-D objects * (output.*) - Cropping test is_visible(), clipping test is_in_bounds() - begin() sets clip_box to compatible default - Move picture parameter-setting functions from lengths.* * (plots.*) - All point output goes through plot_pt (hence through print) - Move adaptive plotting except for real-valued functions to legacy.* - Move shadow plots, tan lines, bold vector fields to legacy.* - Move marker (in header) to objects.* April 05, 2003 * (output.cc, plots.cc) Rename V() -> view() * ({geometry,lengths,objects,output,pairs,triples}.cc) Remove viewpt{1,2,3} * (output.*) print(triple location, triple offset) * (all source and header files) - P(x1,x2) returns (x1,x2,0) - All point output goes through print() * (objects.*) - Axes and lines printed with several points - Algorithms re-designed and implemented for 3-D objects * (lengths.*) true_len() -> true_length(), normalize() -> true_unit() * (curves.*) - Algorithms re-designed and implemented for 3-D objects - ellipse_half(), twist() functions removed * (globals.h) EPIX_MAX_LINES, epix_lines_printed removed April 04, 2003 * (New files) camera.{cc,h} * (Makefile, files, make_header) Add camera * (triples.*) Orthogonalization operator (/=), misc fixes * (pairs.*, triples.*, lengths.*) Move V(), viewpoint() to camera.* April 03, 2003 * (curves.cc) Replace EPIX_SEEK_SIZE with EPIX_EPSILON * (geometry.cc) Use bisection for seek_horizon * (globals.h) Remove EPIX_SEEK_SIZE April 02, 2003 (v0.8.10rc4) * (plots.cc, meshplots.cc) Use bisection method for edge_seek March 31, 2003 * (globals.h, lengths.*, output.cc) clipbox structure * (meshplots.*) Clipped mesh plots March 28, 2003 (v0.8.10rc3) * (contrib/epix_ext.cc and samples) Negative length vector bug March 23, 2003 (v0.8.10rc2) * (segment.*) circle class and manipulators * (objects.h) draw() functions for segment, circle March 22, 2003 (v0.8.10rc1) * (functions.*) double newton() March 21, 2003 * (New files: segment.*) Data structure for manipulating line segments * (files, Makefile, make_header) Add segment.* February 25, 2003 (v0.8.9) * (Tutorial) Document dashed(double), dotted(double) February 11, 2003 * (samples/sample.tex) Insert modified sample code February 10, 2003 (v0.8.9rc5) * (functions.*) - Trig functions using angle units, additional reciprocals (csc, cot) - Misc cleanup, optimization * (output.cc) - Global variable epix_angle_units - Functions for changing: radians(); degrees(); revolutions(); * (pairs.h, triples.h, arcana.cc) Use ePiX trig functions * (curves.cc, objects.cc, plots.cc) Use angle units * (geometry.cc) Use std::cos for point spacing in hyperbolic lines * (globals.h, pairs.cc, lengths.cc) 0.0001 -> EPIX_EPSILON * (globals.h) New const EPIX_DBL_INFTY (10^10) * (samples) Trig functions declared ePiX:: * (output.h) dashed(), dotted() may take double argument to set stretch * (New file: keywords) Simple lookup script for C/C++ keywords * (files, Makefile) Add keywords (install in bin/) * (Doc figures) Update for ePiX namespace, rename to xp, etc. * (epix.el) Remove "using namespace std;" line from template February 09, 2003 * (samples) Nicer shadeplot example, use DDOTs in denom.xp February 08, 2003 (v0.8.9rc4) * (legacy.*) epix_stretch_factor namespace bug * (pairs.h) polar() and cis() inlined * (triples.h) sph() inlined February 07, 2003 * (prepix) - Update copyright years - Clean up after runtime error - Remove "-static" flag February 06, 2003 (v0.8.9rc3) * (contrib/epix_ext.*) Use enum for alignment, bool for x/ybroken, graphpap; remove dependence of std:: (Robin Blume-Kohout) * (output.h) Macro-ized functions inlined (STL conflict with "fill") (R B-K) * (All source files) Replace style/width/color macros with function calls January 31, 2003 (v0.8.9rc2) * (contrib/epix_ext.cc) EPIX_PATH_STYLE type bug (Jay Belanger) * (helpfiles.sh, Makefile) Let Makefile dictate compiler for test target * (epix-0.8.8_tex/contrib/epix_ext.tex) Negative \vspace{}s commented out (Bob Grover) January 30, 2003 (v0.8.9rc1) * (globals.h) Add several symbolic constants * (all source files) Cleanup, namespace fixing (Jay Belanger, Robin Blume-Kohout) * (README-{authors,changes}) Namespace fixes January 23, 2003 * (geometry.cc) Sign bug in plot_S (Jacques L'helgoual) December 21, 2002 (v0.8.8a) * (epix.1, helpfiles.sh, samples/makefigs) Correct for ".xp" extension December 20, 2002 (v0.8.8) * (bash_completions, elaps, epix.el, POST_INSTALL, prepix) .epx -> .xp December 16, 2002 (v0.8.8rc8) * (output.cc) Use tpic "sh" \special to get gray shading (Jay Belanger) December 13, 2002 * (output.cc) - Off by 1 bug in gray() - Missing "long" flag in hex constant December 12, 2002 (v0.8.8rc7) * (prepix) Internal variable renaming * (elaps) Accept .epx files correctly * (INSTALL, POST_INSTALL) epix.el instructions (partly moved from INSTALL) * (files, helpfiles.sh) Add epix.texi * (output.cc) 1025 shades of gray December 06, 2002 * (INSTALL, README) epix.el installation instructions December 05, 2002 * (bash_completions, epix.el) Handle epx extension December 04, 2002 (v0.8.8rc6) * (prepix) - Compile in temp directory - Introduce ".epx" extension - Recognized file extensions put in EPIX_EXTENSIONS December 02, 2002 * (All source and sample files) ePiX namespace introduced * (legacy.*) ePiX_legacy namespace * (sample.tex) Miscellaneous typos fixed, 12 -> 11pt December 01, 2002 (v0.8.8rc5) * (output.*) gray(), controls gray depth in shaded objects * (plots.*) Jay Belanger's code for shaded plots October 23, 2002 * (arcana.cc) plot_profile() optimized slightly * (arcana.*) plot_profile() takes optional lower momentum limit October 20, 2002 * (objects.*) - Diameters of DOT, DDOT increased (to 3 and 2 pt resp. by default) - New function: dot(pair, double) (filled circle of specified radius) October 19, 2002 (v0.8.8rc4) * (elaps) Option "-p" for additional LaTeX packages * (elaps) DVIPS_OPTS bug * (elaps) Options passed improperly to epix * (pre-install.sh) Use $INSTALL_DIR/share/epix/{config,notes,samples,tutorial} * (helpfiles.sh) - Samples tarball unpacks in subdirectory, not unpacked in install - Samples, READMEs, and tutorial (incl. src) installed in directories above * (INSTALL, POST_INSTALL) Updated * (Makefile) Cleanup * (Tutorial) Pedersen's docs incorporated; contrib/doc -> epix_tex/contrib * (contrib/epix_ext.cc) Function/variable names updated October 16, 2002 (v0.8.8rc3) * (files) - bash_completions (for Ian MacDonald's programmable completion package) - epix.el (Jay Belanger's emacs mode) October 13, 2002 * VERSION removed from distribution October 11, 2002 (v0.8.8rc2) * (elaps, files, globals.h, laps, prepix) Show current (minor) version number October 09, 2002 * (triples.*) V(triple&) -> V(triple) October 07, 2002 (v0.8.8rc1) * (objects.cc) draw_[bold]arrow(): arrowhead path style bug (Torbjorn Vik) * (triples.*) New function, V(triple), projects triple to pair October 07, 2002 (v0.8.7a) * (elaps, laps, prepix) Renaming: - Verbose option is "-vv", version is "-v" - Option/flag parsing: