summaryrefslogtreecommitdiff
path: root/Build/source/utils/asymptote/doc
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/utils/asymptote/doc')
-rw-r--r--Build/source/utils/asymptote/doc/CAD.pdfbin66815 -> 67561 bytes
-rw-r--r--Build/source/utils/asymptote/doc/FAQ/asy-faq.bfnn4
-rw-r--r--Build/source/utils/asymptote/doc/FAQ/asy-faq.info10
-rwxr-xr-xBuild/source/utils/asymptote/doc/FAQ/install-sh387
-rw-r--r--Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdfbin32163 -> 31587 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asy-latex.pdfbin194467 -> 194467 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asyRefCard.pdfbin54958 -> 53664 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.pdfbin1273183 -> 1275936 bytes
-rw-r--r--Build/source/utils/asymptote/doc/asymptote.texi135
-rw-r--r--Build/source/utils/asymptote/doc/filegraph.asy2
-rw-r--r--Build/source/utils/asymptote/doc/genustwo.asy36
-rw-r--r--Build/source/utils/asymptote/doc/genustwomissing.asy12
-rwxr-xr-xBuild/source/utils/asymptote/doc/install-sh387
-rw-r--r--Build/source/utils/asymptote/doc/leastsquares.asy2
-rw-r--r--Build/source/utils/asymptote/doc/png/asymptote.info873
-rw-r--r--Build/source/utils/asymptote/doc/secondaryaxis.asy2
-rw-r--r--Build/source/utils/asymptote/doc/westnile.asy2
17 files changed, 1013 insertions, 839 deletions
diff --git a/Build/source/utils/asymptote/doc/CAD.pdf b/Build/source/utils/asymptote/doc/CAD.pdf
index 100067e6231..9b70c5fed23 100644
--- a/Build/source/utils/asymptote/doc/CAD.pdf
+++ b/Build/source/utils/asymptote/doc/CAD.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/FAQ/asy-faq.bfnn b/Build/source/utils/asymptote/doc/FAQ/asy-faq.bfnn
index 21fb57233f0..2d3955af078 100644
--- a/Build/source/utils/asymptote/doc/FAQ/asy-faq.bfnn
+++ b/Build/source/utils/asymptote/doc/FAQ/asy-faq.bfnn
@@ -546,7 +546,7 @@ Either:
and/or endlabel=false;
(ii) explicitly remove specific ticks and their labels (drawing them manually;
-see \docref{http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy\} for the definition of NoZero):
+see \docref{http://www.github.com/vectorgraphics/asymptote/base/graph.asy\} for the definition of NoZero):
\verbatim
import graph;
@@ -564,7 +564,7 @@ label("$0$",(0,0),SW);
\endverbatim
(iii) explicitly remove specific tick labels and draw them manually
-(see \docref{http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy\} for the definition of NoZeroFormat):
+(see \docref{http://www.github.com/vectorgraphics/asymptote/base/graph.asy\} for the definition of NoZeroFormat):
\verbatim
import graph;
diff --git a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info b/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
index a091076031f..f3460ce0210 100644
--- a/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
+++ b/Build/source/utils/asymptote/doc/FAQ/asy-faq.info
@@ -10,7 +10,7 @@ END-INFO-DIR-ENTRY
File: asy-faq.info, Node: Top, Next: Question 1.1, Up: (dir)
ASYMPTOTE FREQUENTLY ASKED QUESTIONS
- 19 May 2015
+ 03 Feb 2016
This is the list of Frequently Asked Questions about Asymptote (asy).
@@ -863,8 +863,8 @@ endlabel=false;
(ii) explicitly remove specific ticks and their labels (drawing them
manually; see
-http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy
-for the definition of NoZero):
+http://www.github.com/vectorgraphics/asymptote/base/graph.asy for the
+definition of NoZero):
import graph;
@@ -879,8 +879,8 @@ yaxis(Ticks(NoZero));
label("$0$",(0,0),SW);
(iii) explicitly remove specific tick labels and draw them manually (see
-http://asymptote.svn.sourceforge.net/viewvc/asymptote/trunk/asymptote/base/graph.asy
-for the definition of NoZeroFormat):
+http://www.github.com/vectorgraphics/asymptote/base/graph.asy for the
+definition of NoZeroFormat):
import graph;
diff --git a/Build/source/utils/asymptote/doc/FAQ/install-sh b/Build/source/utils/asymptote/doc/FAQ/install-sh
index 0360b79e7d0..6781b987bdb 100755
--- a/Build/source/utils/asymptote/doc/FAQ/install-sh
+++ b/Build/source/utils/asymptote/doc/FAQ/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,21 +35,25 @@ scriptversion=2016-01-11.22; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# 'make' implicit rules from creating a file called install from it
+# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
-tab=' '
nl='
'
-IFS=" $tab$nl"
+IFS=" "" $nl"
-# Set DOITPROG to "echo" to test this script.
+# set DOITPROG to echo to test this script
+# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-doit_exec=${doit:-exec}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -64,6 +68,17 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
posix_mkdir=
# Desired mode of installed file.
@@ -82,7 +97,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-is_target_a_directory=possibly
+no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -122,57 +137,42 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t)
- is_target_a_directory=always
- dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t) dst_arg=$2
+ shift;;
- -T) is_target_a_directory=never;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
-# We allow the use of options -d and -T together, by making -d
-# take the precedence; this is for compatibility with GNU install.
-
-if test -n "$dir_arg"; then
- if test -n "$dst_arg"; then
- echo "$0: target directory not allowed when installing a directory." >&2
- exit 1
- fi
-fi
-
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -186,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
done
fi
@@ -198,26 +194,13 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call 'install-sh -d' without argument.
+ # It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
- if test $# -gt 1 || test "$is_target_a_directory" = always; then
- if test ! -d "$dst_arg"; then
- echo "$0: $dst_arg: Is not a directory." >&2
- exit 1
- fi
- fi
-fi
-
-if test -z "$dir_arg"; then
- do_exit='(exit $ret); exit $ret'
- trap "ret=129; $do_exit" 1
- trap "ret=130; $do_exit" 2
- trap "ret=141; $do_exit" 13
- trap "ret=143; $do_exit" 15
+ trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,16 +211,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -245,9 +228,9 @@ fi
for src
do
- # Protect names problematic for 'test' and other utilities.
+ # Protect names starting with `-'.
case $src in
- -* | [=\(\)!]) src=./$src;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -269,20 +252,51 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
+
dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test "$is_target_a_directory" = never; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- dstdir=`dirname "$dst"`
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
test -d "$dstdir"
dstdir_status=$?
fi
@@ -293,74 +307,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -370,51 +384,53 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
esac
+ eval "$initialize_posix_glob"
+
oIFS=$IFS
IFS=/
- set -f
+ $posix_glob set -f
set fnord $dstdir
shift
- set +f
+ $posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -449,12 +465,15 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
- set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- set +f &&
+ $posix_glob set +f &&
+
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -467,24 +486,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
@@ -496,6 +515,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
diff --git a/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf b/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
index 5e369f69e61..4f2d03bd93f 100644
--- a/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
+++ b/Build/source/utils/asymptote/doc/TeXShopAndAsymptote.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asy-latex.pdf b/Build/source/utils/asymptote/doc/asy-latex.pdf
index b8392efb5b8..7903b856bc3 100644
--- a/Build/source/utils/asymptote/doc/asy-latex.pdf
+++ b/Build/source/utils/asymptote/doc/asy-latex.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asyRefCard.pdf b/Build/source/utils/asymptote/doc/asyRefCard.pdf
index adc74a20d99..a520a0c3c96 100644
--- a/Build/source/utils/asymptote/doc/asyRefCard.pdf
+++ b/Build/source/utils/asymptote/doc/asyRefCard.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asymptote.pdf b/Build/source/utils/asymptote/doc/asymptote.pdf
index 3c24609c93f..5694e791f3a 100644
--- a/Build/source/utils/asymptote/doc/asymptote.pdf
+++ b/Build/source/utils/asymptote/doc/asymptote.pdf
Binary files differ
diff --git a/Build/source/utils/asymptote/doc/asymptote.texi b/Build/source/utils/asymptote/doc/asymptote.texi
index afbf5297e2c..f11cb022ecf 100644
--- a/Build/source/utils/asymptote/doc/asymptote.texi
+++ b/Build/source/utils/asymptote/doc/asymptote.texi
@@ -76,7 +76,7 @@ Installation
* Search paths:: Where @code{Asymptote} looks for your files
* Compiling from UNIX source:: Building @code{Asymptote} from scratch
* Editing modes:: Convenient @code{emacs} and @code{vim} modes
-* Subversion:: Getting the latest development source
+* Git:: Getting the latest development source
* Uninstall:: Goodbye, @code{Asymptote}!
Drawing commands
@@ -161,6 +161,7 @@ Base modules
* flowchart:: Flowchart drawing routines
* contour:: Contour lines
* contour3:: Contour surfaces
+* smoothcontour3:: Smooth implicit surfaces
* slopefield:: Slope fields
* ode:: Ordinary differential equations
@@ -275,7 +276,7 @@ A quick reference card for @code{Asymptote} is available at
* Search paths:: Where @code{Asymptote} looks for your files
* Compiling from UNIX source:: Building @code{Asymptote} from scratch
* Editing modes:: Convenient @code{emacs} and @code{vim} modes
-* Subversion:: Getting the latest development source
+* Git:: Getting the latest development source
* Uninstall:: Goodbye, @code{Asymptote}!
@end menu
@@ -590,18 +591,20 @@ used; if it is old we recommend first putting
in the @code{Asymptote} source directory.
On @code{UNIX} platforms (other than @code{MacOS X}), we recommend
-using version @code{2.8.1} of the @code{freeglut} library. To compile
+using version @code{3.0.0} of the @code{freeglut} library. To compile
@code{freeglut}, download
@quotation
-@url{http://prdownloads.sourceforge.net/freeglut/freeglut-2.8.1.tar.gz}
+@url{http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz}
@end quotation
@noindent
and type (as the root user):
@verbatim
-gunzip freeglut-2.8.1.tar.gz
-tar -xf freeglut-2.8.1.tar
-cd freeglut-2.8.1
+gunzip freeglut-3.0.0.tar.gz
+tar -xf freeglut-3.0.0.tar
+cd freeglut-3.0.0
./configure --prefix=/usr
+cmake .
+make
make install
cd ..
@end verbatim
@@ -733,15 +736,15 @@ can be enabled by running @code{asy-kate.sh} in the
@code{@value{Datadir}/asymptote} directory and putting the generated
@code{asymptote.xml} file in @code{~/.kde/share/apps/katepart/syntax/}.
-@node Subversion
-@section Subversion (SVN)
-@cindex Subversion
-@cindex SVN
+@node Git
+@section Git
+@cindex git
The following commands are needed to install the latest development version of
-@code{Asymptote} using @code{Subversion}:
+@code{Asymptote} using @code{git}:
@verbatim
-svn co http://svn.code.sf.net/p/asymptote/code/trunk/asymptote
+git clone http://github.com/vectorgraphics/asymptote
+
cd asymptote
./autogen.sh
./configure
@@ -1807,6 +1810,7 @@ maximum value is @code{intMax}.
@cindex @code{realDigits}
@cindex @code{mask}
@cindex @code{inf}
+@cindex @code{nan}
@cindex @code{isnan}
a real number; this should be set to the highest-precision native
floating-point type on the architecture. The implicit initializer for
@@ -1814,9 +1818,10 @@ reals is @code{0.0}. Real numbers have precision
@code{realEpsilon}, with @code{realDigits} significant digits.
The smallest positive real number is @code{realMin} and the largest
positive real number is @code{realMax}.
-The variable @code{inf} and function @code{bool isnan(real x)}
-are useful when floating-point exceptions are masked with
-the @code{-mask} command-line option (the default in interactive mode).
+The variables @code{inf} and @code{nan}, along with the function
+@code{bool isnan(real x)} are useful when floating-point exceptions
+are masked with the @code{-mask} command-line option (the default in
+interactive mode).
@item pair
@cindex @code{pair}
@@ -4172,7 +4177,7 @@ struct Person {
string lastname;
static Person Person(string firstname, string lastname) {
- Person p;
+ Person p=new Person;
p.firstname=firstname;
p.lastname=lastname;
return p;
@@ -4208,7 +4213,7 @@ structure is called @code{Foo}):
@example
static Foo Foo(@var{args}) @{
- Foo instance;
+ Foo instance=new Foo;
instance.operator init(@var{args});
return instance;
@}
@@ -5536,7 +5541,6 @@ real[][] A=fin.dimension(2,3);
real[][][] B=fin.dimension(2,3,4);
@end verbatim
@noindent
-Again, an integer limit of zero means no restriction.
@cindex @code{read}
Sometimes the array dimensions are stored with the data as integer
@@ -6189,6 +6193,7 @@ Here now is @code{latexusage.tex}:
* flowchart:: Flowchart drawing routines
* contour:: Contour lines
* contour3:: Contour surfaces
+* smoothcontour3:: Smooth implicit surfaces
* slopefield:: Slope fields
* ode:: Ordinary differential equations
@end menu
@@ -7729,20 +7734,25 @@ with the mean of the four vertex colors.
@cindex @code{surface}
@cindex @code{planar}
+@cindex @code{Bezier patch}
+@cindex @code{Bezier triangle}
A surface can be constructed from a cyclic @code{path3} with the constructor
@verbatim
surface surface(path3 external, triple[] internal=new triple[],
- triple[] normals=new triple[], pen[] colors=new pen[],
- bool3 planar=default);
+ pen[] colors=new pen[], bool3 planar=default);
@end verbatim
@noindent
and then filled:
@verbatim
+draw(surface(unitsquare3,new triple[] {X,Y,Z,O}),red);
+draw(surface(O--X{Y}..Y{-X}--cycle,new triple[] {Z}),red);
draw(surface(path3(polygon(5))),red,nolight);
draw(surface(unitcircle3),red,nolight);
draw(surface(unitcircle3,new pen[] {red,green,blue,black}),nolight);
@end verbatim
@noindent
+The first example draws a Bezier patch and the second example draws
+a Bezier triangle. The third and fourth examples are planar surfaces.
The last example constructs a patch with vertex-specific colors.
A three-dimensional planar surface in the plane @code{plane} can be
constructed from a two-dimensional cyclic path @code{g} with the constructor
@@ -8342,7 +8352,7 @@ The routine
real[][] intersections(path3 p, surface s, real fuzz=-1);
@end verbatim
@noindent
-returns all (unless there are infinitey many) intersection times of a
+returns all (unless there are infinitely many) intersection times of a
path @code{p} with a surface @code{s} as a sorted array of real arrays
of length 3, and
@cindex @code{intersectionpoints}
@@ -8983,7 +8993,7 @@ int[][] triangulate(pair[] z);
@sp 1
@center @image{triangulate}
-The example @code{Gouraudcontour} illustrates how to produce color
+The example @code{Gouraudcontour.asy} illustrates how to produce color
density images over such irregular triangular meshes.
@code{Asymptote} uses a robust version of Paul Bourke's Delaunay triangulation
algorithm based on the public-domain exact arithmetic predicates written by
@@ -8993,9 +9003,46 @@ Jonathan Shewchuk.
@section @code{contour3}
@cindex @code{contour3}
This package draws surfaces described as the null space of real-valued
-functions of @math{(x,y,z)} or real[][][] matrices.
+functions of @math{(x,y,z)} or @code{real[][][]} matrices.
Its usage is illustrated in the example file @code{magnetic.asy}.
+@node smoothcontour3
+@section @code{smoothcontour3}
+@cindex @code{smoothcontour3}
+This module, written by Charles Staats, draws implicitly defined surfaces
+with smooth appearance.
+The purpose of this module is similar to that of @code{contour3}: given
+a real-valued function @math{f(x,y,z)}, construct the surface described by
+the equation @math{f(x,y,z) = 0}. The @code{smoothcontour3} module generally produces
+nicer results than @code{contour3}, but takes longer to compile. Additionally, the
+algorithm assumes that the function and the surface are both smooth; if they are not,
+then @code{contour3} may be a better choice.
+
+To construct the null surface of a function @code{f(triple)} or @code{ff(real,real,real)}
+over @code{box(a,b)}, use the routine
+@cindex @code{implicitsurface}
+@verbatim
+surface implicitsurface(real f(triple)=null,
+ real ff(real,real,real)=null,
+ triple a,
+ triple b,
+ int n=nmesh,
+ bool keyword overlapedges=false,
+ int keyword nx=n,
+ int keyword ny=n,
+ int keyword nz=n,
+ int keyword maxdepth=8);
+@end verbatim
+@noindent
+The optional parameter @code{overlapedges} attempts to compensate for
+an artifact that can cause the renderer to ``see through'' the
+boundary between patches. Although
+it defaults to @code{false}, it should usually be set to @code{true}.
+The example @code{genustwo.asy} illustrates the use of this function:
+Additional examples, together with a more in-depth explanation of
+the module's usage and pitfalls, are available at
+@url{https://github.com/charlesstaats/smoothcontour3}.
+
@node slopefield
@section @code{slopefield}
@cindex @code{slopefield}
@@ -9385,22 +9432,11 @@ and @code{tk-devel} packages.
Pictures are deconstructed into the @acronym{PNG} image format, which
supports full alpha channel transparency. Under @code{Microsoft Windows},
-this requires @code{Python 2.7.4} and the @code{Python Imaging Library}:
-@quotation
-@url{http://www.python.org/ftp/python/2.7.4/python-2.7.4.msi}
-@end quotation
+this requires @code{Python 2.7.4} or later and version @code{3.1.0} of the
+@code{Pillow} fork of the @code{Python Imaging Library}, available from
@quotation
-@url{http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe}.
+@url{https://pypi.python.org/pypi/Pillow/3.1.0}
@end quotation
-@noindent
-On @code{UNIX} systems, place
-@url{http://effbot.org/downloads/Imaging-1.1.7.tar.gz} in the
-@code{Asymptote} source directory, and type (as the root user):
-@verbatim
-tar -zxf Imaging-1.1.7.tar.gz
-cd Imaging-1.1.7
-python setup.py install
-@end verbatim
@node GUI usage
@section GUI usage
@@ -9482,8 +9518,8 @@ To receive announcements of upcoming releases, please subscribe to
@cindex bug reports
@noindent
If you find a bug in @code{Asymptote}, please check (if possible)
-whether the bug is still present in the latest @code{Subversion}
-developmental code (@pxref{Subversion}) before submitting a bug
+whether the bug is still present in the latest @code{git}
+developmental code (@pxref{Git}) before submitting a bug
report. New bugs can be submitted using the Bug Tracking System at
@quotation
@url{http://sourceforge.net/projects/asymptote}
@@ -9640,7 +9676,7 @@ Mark Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr.
@c LocalWords: MetaPost MetaFont Hammerlindl Healy texinfo autoload setq setf
@c LocalWords: printindex setfilename settitle dircategory direntry titlepage
@c LocalWords: vskip filll insertcopying ifnottex detailmenu alist augroup PQ
-@c LocalWords: bool behaviour facto zxf login Debian dev filetypedetect SVN
+@c LocalWords: bool behaviour facto zxf login Debian dev filetypedetect
@c LocalWords: FFTW bp readline gv eps args Boehm gc evenoddoverlap png joe
@c LocalWords: boolean initializer expi dir xpart ypart STL substring rfind
@c LocalWords: pos substr strftime typedef pxref unitcircle yscale Bezier iff
@@ -9663,7 +9699,7 @@ Mark Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr.
@c LocalWords: quartercircle darkgreen lightblue urx ury texpreamble sgn texi
@c LocalWords: lineargraph datagraph vertices parametricgraph uncomment ggv
@c LocalWords: loggraph generalaxis texhash arrowsize arrowangle arrowlength
-@c LocalWords: SuppressQuiet MoveQuiet LIBREADLINE config MacOS prebuilt svn
+@c LocalWords: SuppressQuiet MoveQuiet LIBREADLINE config MacOS prebuilt
@c LocalWords: ghostview gsview SIGHUP PDF acroread xpdf cutbefore strptime
@c LocalWords: libsigsegv intersectionpoint dotfactor vv firstcut pq logticks
@c LocalWords: Unisys dvips vvv vvvv vvvvv traceback lastcut cutafter infodir
@@ -9818,7 +9854,16 @@ Mark Henning, Steve Melenchuk, Martin Wiebusch, and Stefan Knorr.
@c LocalWords: slopefield1 144x144 1filll 'load 'asy 'lasy 'auto 4g
@c LocalWords: libgs 'load 'asy 'lasy 'auto 5bp 1cm 2S 100pt 3t 5mm
@c LocalWords: bracedefaultratio incircle 12pt 25cm 3x 5x 3y 602e '
-@c LocalWords: 2x 2y 3sin 10cm 204e 10x Ai 5E offaxis 'load 'lasy
+@c LocalWords: 2x 2y 3sin 10cm 204e 10x Ai 5E offaxis 'load 'lasy '
@c LocalWords: 5cm 2N 2E 2n 100d 5z 5y 5unit dvisvgmOptions 144x144
-@c LocalWords: 4g texengines coplanar
-@c LocalWords: insphere cospherical 5unit luatex lualatex
+@c LocalWords: 4g texengines coplanar 0pt 1filll 's 3D 2D 'load 5bp
+@c LocalWords: insphere cospherical 5unit luatex lualatex 'asy 1cm
+@c LocalWords: 'lasy 'auto 4g 2S 100pt 3t 12pt 5mm 25cm 3x 5x 3y 2x
+@c LocalWords: 602e 2y 3sin 10cm 204e 10x Ai Ai Ai Ai Ai Ai Ai Ai '
+@c LocalWords: unnormalized 5E 5cm 2N 2E 2n 100d 5z 5y 0pt 1filll
+@c LocalWords: 5unit 144x144 aligndir smoothcontour3 's 3D 2D cmake
+@c LocalWords: 'load 'asy 'lasy 'auto 5bp 1cm 4g 2S 100pt 3t nan 3x
+@c LocalWords: 12pt 5mm 25cm 5x 3y 602e 2x 2y 3sin 10cm 204e 10x Ai
+@c LocalWords: Ai Ai Ai Ai Ai Ai Ai 5E 5cm 2N 2E 2n 100d 5z 5y nz
+@c LocalWords: 5unit Staats implicitsurface overlapedges maxdepth
+@c LocalWords: through'' genustwo 144x144
diff --git a/Build/source/utils/asymptote/doc/filegraph.asy b/Build/source/utils/asymptote/doc/filegraph.asy
index 4b05c5bcbd7..0add531a3e0 100644
--- a/Build/source/utils/asymptote/doc/filegraph.asy
+++ b/Build/source/utils/asymptote/doc/filegraph.asy
@@ -3,7 +3,7 @@ import graph;
size(200,150,IgnoreAspect);
file in=input("filegraph.dat").line();
-real[][] a=in.dimension(0,0);
+real[][] a=in;
a=transpose(a);
real[] x=a[0];
diff --git a/Build/source/utils/asymptote/doc/genustwo.asy b/Build/source/utils/asymptote/doc/genustwo.asy
new file mode 100644
index 00000000000..0d346481d04
--- /dev/null
+++ b/Build/source/utils/asymptote/doc/genustwo.asy
@@ -0,0 +1,36 @@
+size(10cm,0);
+import smoothcontour3;
+currentprojection=perspective((18,20,10));
+if(settings.render < 0) settings.render=8;
+
+real tuberadius = 0.69;
+
+// Convert to cylindrical coordinates to draw
+// a circle revolved about the z axis.
+real toruscontour(real x, real y, real z) {
+ real r = sqrt(x^2 + y^2);
+ return (r-2)^2 + z^2 - tuberadius^2;
+}
+
+// Take the union of the two tangent tori (by taking
+// the product of the functions defining them). Then
+// add (or subtract) a bit of noise to smooth things
+// out.
+real f(real x, real y, real z) {
+ real f1 = toruscontour(x - 2 - tuberadius, y, z);
+ real f2 = toruscontour(x + 2 + tuberadius, y, z);
+ return f1 * f2 - 0.1;
+}
+
+// The noisy function extends a bit farther than the union of
+// the two tori, so include a bit of extra space in the box.
+triple max = (2*(2+tuberadius), 2+tuberadius, tuberadius)
+ + (0.1, 0.1, 0.1);
+triple min = -max;
+
+// Draw the implicit surface.
+draw(implicitsurface(f, min, max, overlapedges=true,
+ nx=20, nz=5),
+ surfacepen=material(diffusepen=gray(0.6),
+ emissivepen=gray(0.3),
+ specularpen=gray(0.1)));
diff --git a/Build/source/utils/asymptote/doc/genustwomissing.asy b/Build/source/utils/asymptote/doc/genustwomissing.asy
new file mode 100644
index 00000000000..73d356deb77
--- /dev/null
+++ b/Build/source/utils/asymptote/doc/genustwomissing.asy
@@ -0,0 +1,12 @@
+// This file generates a dummy genustwo.pdf file if the rasterized
+// image in genustwo.asy failed to render.
+file fin = input("genustwo.pdf", check=false);
+if (error(fin)) {
+ defaultpen(fontsize(20bp));
+ label("Rasterized image failed to render.");
+ shipout(prefix="genustwo");
+} else {
+ label("Rasterized image rendered successfully. Please ignore this message.");
+}
+close(fin);
+
diff --git a/Build/source/utils/asymptote/doc/install-sh b/Build/source/utils/asymptote/doc/install-sh
index 0360b79e7d0..6781b987bdb 100755
--- a/Build/source/utils/asymptote/doc/install-sh
+++ b/Build/source/utils/asymptote/doc/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2009-04-28.21; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -35,21 +35,25 @@ scriptversion=2016-01-11.22; # UTC
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
-# 'make' implicit rules from creating a file called install from it
+# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
-tab=' '
nl='
'
-IFS=" $tab$nl"
+IFS=" "" $nl"
-# Set DOITPROG to "echo" to test this script.
+# set DOITPROG to echo to test this script
+# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
-doit_exec=${doit:-exec}
+if test -z "$doit"; then
+ doit_exec=exec
+else
+ doit_exec=$doit
+fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
@@ -64,6 +68,17 @@ mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
+posix_glob='?'
+initialize_posix_glob='
+ test "$posix_glob" != "?" || {
+ if (set -f) 2>/dev/null; then
+ posix_glob=
+ else
+ posix_glob=:
+ fi
+ }
+'
+
posix_mkdir=
# Desired mode of installed file.
@@ -82,7 +97,7 @@ dir_arg=
dst_arg=
copy_on_change=false
-is_target_a_directory=possibly
+no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
@@ -122,57 +137,42 @@ while test $# -ne 0; do
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
- shift;;
+ shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
- case $mode in
- *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
- echo "$0: invalid mode: $mode" >&2
- exit 1;;
- esac
- shift;;
+ case $mode in
+ *' '* | *' '* | *'
+'* | *'*'* | *'?'* | *'['*)
+ echo "$0: invalid mode: $mode" >&2
+ exit 1;;
+ esac
+ shift;;
-o) chowncmd="$chownprog $2"
- shift;;
+ shift;;
-s) stripcmd=$stripprog;;
- -t)
- is_target_a_directory=always
- dst_arg=$2
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
- shift;;
+ -t) dst_arg=$2
+ shift;;
- -T) is_target_a_directory=never;;
+ -T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
- --) shift
- break;;
+ --) shift
+ break;;
- -*) echo "$0: invalid option: $1" >&2
- exit 1;;
+ -*) echo "$0: invalid option: $1" >&2
+ exit 1;;
*) break;;
esac
shift
done
-# We allow the use of options -d and -T together, by making -d
-# take the precedence; this is for compatibility with GNU install.
-
-if test -n "$dir_arg"; then
- if test -n "$dst_arg"; then
- echo "$0: target directory not allowed when installing a directory." >&2
- exit 1
- fi
-fi
-
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
@@ -186,10 +186,6 @@ if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
fi
shift # arg
dst_arg=$arg
- # Protect names problematic for 'test' and other utilities.
- case $dst_arg in
- -* | [=\(\)!]) dst_arg=./$dst_arg;;
- esac
done
fi
@@ -198,26 +194,13 @@ if test $# -eq 0; then
echo "$0: no input file specified." >&2
exit 1
fi
- # It's OK to call 'install-sh -d' without argument.
+ # It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
- if test $# -gt 1 || test "$is_target_a_directory" = always; then
- if test ! -d "$dst_arg"; then
- echo "$0: $dst_arg: Is not a directory." >&2
- exit 1
- fi
- fi
-fi
-
-if test -z "$dir_arg"; then
- do_exit='(exit $ret); exit $ret'
- trap "ret=129; $do_exit" 1
- trap "ret=130; $do_exit" 2
- trap "ret=141; $do_exit" 13
- trap "ret=143; $do_exit" 15
+ trap '(exit $?); exit' 1 2 13 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
@@ -228,16 +211,16 @@ if test -z "$dir_arg"; then
*[0-7])
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw='% 200'
+ u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
- u_plus_rw=
+ u_plus_rw=
else
- u_plus_rw=,u+rw
+ u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
@@ -245,9 +228,9 @@ fi
for src
do
- # Protect names problematic for 'test' and other utilities.
+ # Protect names starting with `-'.
case $src in
- -* | [=\(\)!]) src=./$src;;
+ -*) src=./$src;;
esac
if test -n "$dir_arg"; then
@@ -269,20 +252,51 @@ do
echo "$0: no destination specified." >&2
exit 1
fi
+
dst=$dst_arg
+ # Protect names starting with `-'.
+ case $dst in
+ -*) dst=./$dst;;
+ esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
- if test "$is_target_a_directory" = never; then
- echo "$0: $dst_arg: Is a directory" >&2
- exit 1
+ if test -n "$no_target_directory"; then
+ echo "$0: $dst_arg: Is a directory" >&2
+ exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
- dstdir=`dirname "$dst"`
+ # Prefer dirname, but fall back on a substitute if dirname fails.
+ dstdir=`
+ (dirname "$dst") 2>/dev/null ||
+ expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$dst" : 'X\(//\)[^/]' \| \
+ X"$dst" : 'X\(//\)$' \| \
+ X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+ echo X"$dst" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'
+ `
+
test -d "$dstdir"
dstdir_status=$?
fi
@@ -293,74 +307,74 @@ do
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
- # Create intermediate dirs using mode 755 as modified by the umask.
- # This is like FreeBSD 'install' as of 1997-10-28.
- umask=`umask`
- case $stripcmd.$umask in
- # Optimize common cases.
- *[2367][2367]) mkdir_umask=$umask;;
- .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
-
- *[0-7])
- mkdir_umask=`expr $umask + 22 \
- - $umask % 100 % 40 + $umask % 20 \
- - $umask % 10 % 4 + $umask % 2
- `;;
- *) mkdir_umask=$umask,go-w;;
- esac
-
- # With -d, create the new directory with the user-specified mode.
- # Otherwise, rely on $mkdir_umask.
- if test -n "$dir_arg"; then
- mkdir_mode=-m$mode
- else
- mkdir_mode=
- fi
-
- posix_mkdir=false
- case $umask in
- *[123567][0-7][0-7])
- # POSIX mkdir -p sets u+wx bits regardless of umask, which
- # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
- ;;
- *)
- tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
- trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
-
- if (umask $mkdir_umask &&
- exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
- then
- if test -z "$dir_arg" || {
- # Check for POSIX incompatibilities with -m.
- # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
- # other-writable bit of parent directory when it shouldn't.
- # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
- ls_ld_tmpdir=`ls -ld "$tmpdir"`
- case $ls_ld_tmpdir in
- d????-?r-*) different_mode=700;;
- d????-?--*) different_mode=755;;
- *) false;;
- esac &&
- $mkdirprog -m$different_mode -p -- "$tmpdir" && {
- ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
- test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
- }
- }
- then posix_mkdir=:
- fi
- rmdir "$tmpdir/d" "$tmpdir"
- else
- # Remove any dirs left behind by ancient mkdir implementations.
- rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
- fi
- trap '' 0;;
- esac;;
+ # Create intermediate dirs using mode 755 as modified by the umask.
+ # This is like FreeBSD 'install' as of 1997-10-28.
+ umask=`umask`
+ case $stripcmd.$umask in
+ # Optimize common cases.
+ *[2367][2367]) mkdir_umask=$umask;;
+ .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+ *[0-7])
+ mkdir_umask=`expr $umask + 22 \
+ - $umask % 100 % 40 + $umask % 20 \
+ - $umask % 10 % 4 + $umask % 2
+ `;;
+ *) mkdir_umask=$umask,go-w;;
+ esac
+
+ # With -d, create the new directory with the user-specified mode.
+ # Otherwise, rely on $mkdir_umask.
+ if test -n "$dir_arg"; then
+ mkdir_mode=-m$mode
+ else
+ mkdir_mode=
+ fi
+
+ posix_mkdir=false
+ case $umask in
+ *[123567][0-7][0-7])
+ # POSIX mkdir -p sets u+wx bits regardless of umask, which
+ # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+ ;;
+ *)
+ tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+ if (umask $mkdir_umask &&
+ exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+ then
+ if test -z "$dir_arg" || {
+ # Check for POSIX incompatibilities with -m.
+ # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+ # other-writeable bit of parent directory when it shouldn't.
+ # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+ ls_ld_tmpdir=`ls -ld "$tmpdir"`
+ case $ls_ld_tmpdir in
+ d????-?r-*) different_mode=700;;
+ d????-?--*) different_mode=755;;
+ *) false;;
+ esac &&
+ $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+ ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+ test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+ }
+ }
+ then posix_mkdir=:
+ fi
+ rmdir "$tmpdir/d" "$tmpdir"
+ else
+ # Remove any dirs left behind by ancient mkdir implementations.
+ rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+ fi
+ trap '' 0;;
+ esac;;
esac
if
$posix_mkdir && (
- umask $mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+ umask $mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
@@ -370,51 +384,53 @@ do
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
- /*) prefix='/';;
- [-=\(\)!]*) prefix='./';;
- *) prefix='';;
+ /*) prefix='/';;
+ -*) prefix='./';;
+ *) prefix='';;
esac
+ eval "$initialize_posix_glob"
+
oIFS=$IFS
IFS=/
- set -f
+ $posix_glob set -f
set fnord $dstdir
shift
- set +f
+ $posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
- test X"$d" = X && continue
-
- prefix=$prefix$d
- if test -d "$prefix"; then
- prefixes=
- else
- if $posix_mkdir; then
- (umask=$mkdir_umask &&
- $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
- # Don't fail if two instances are running concurrently.
- test -d "$prefix" || exit 1
- else
- case $prefix in
- *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
- *) qprefix=$prefix;;
- esac
- prefixes="$prefixes '$qprefix'"
- fi
- fi
- prefix=$prefix/
+ test -z "$d" && continue
+
+ prefix=$prefix$d
+ if test -d "$prefix"; then
+ prefixes=
+ else
+ if $posix_mkdir; then
+ (umask=$mkdir_umask &&
+ $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+ # Don't fail if two instances are running concurrently.
+ test -d "$prefix" || exit 1
+ else
+ case $prefix in
+ *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+ *) qprefix=$prefix;;
+ esac
+ prefixes="$prefixes '$qprefix'"
+ fi
+ fi
+ prefix=$prefix/
done
if test -n "$prefixes"; then
- # Don't fail if two instances are running concurrently.
- (umask $mkdir_umask &&
- eval "\$doit_exec \$mkdirprog $prefixes") ||
- test -d "$dstdir" || exit 1
- obsolete_mkdir_used=true
+ # Don't fail if two instances are running concurrently.
+ (umask $mkdir_umask &&
+ eval "\$doit_exec \$mkdirprog $prefixes") ||
+ test -d "$dstdir" || exit 1
+ obsolete_mkdir_used=true
fi
fi
fi
@@ -449,12 +465,15 @@ do
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
- old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
- new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
- set -f &&
+ old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
+ new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+ eval "$initialize_posix_glob" &&
+ $posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
- set +f &&
+ $posix_glob set +f &&
+
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
@@ -467,24 +486,24 @@ do
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
- # Now remove or move aside any old file at destination location.
- # We try this two ways since rm can't unlink itself on some
- # systems and the destination file might be busy for other
- # reasons. In this case, the final cleanup might fail but the new
- # file should still install successfully.
- {
- test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
- { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
- } ||
- { echo "$0: cannot unlink or rename $dst" >&2
- (exit 1); exit 1
- }
- } &&
-
- # Now rename the file to the real destination.
- $doit $mvcmd "$dsttmp" "$dst"
+ # Now remove or move aside any old file at destination location.
+ # We try this two ways since rm can't unlink itself on some
+ # systems and the destination file might be busy for other
+ # reasons. In this case, the final cleanup might fail but the new
+ # file should still install successfully.
+ {
+ test ! -f "$dst" ||
+ $doit $rmcmd -f "$dst" 2>/dev/null ||
+ { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+ { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ } ||
+ { echo "$0: cannot unlink or rename $dst" >&2
+ (exit 1); exit 1
+ }
+ } &&
+
+ # Now rename the file to the real destination.
+ $doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
@@ -496,6 +515,6 @@ done
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-time-zone: "UTC0"
+# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
diff --git a/Build/source/utils/asymptote/doc/leastsquares.asy b/Build/source/utils/asymptote/doc/leastsquares.asy
index cb2b8f3a42b..37477d58858 100644
--- a/Build/source/utils/asymptote/doc/leastsquares.asy
+++ b/Build/source/utils/asymptote/doc/leastsquares.asy
@@ -5,7 +5,7 @@ import stats;
file fin=input("leastsquares.dat").line();
-real[][] a=fin.dimension(0,0);
+real[][] a=fin;
a=transpose(a);
real[] t=a[0], rho=a[1];
diff --git a/Build/source/utils/asymptote/doc/png/asymptote.info b/Build/source/utils/asymptote/doc/png/asymptote.info
index 07f0030b75b..daa09856b92 100644
--- a/Build/source/utils/asymptote/doc/png/asymptote.info
+++ b/Build/source/utils/asymptote/doc/png/asymptote.info
@@ -1,7 +1,7 @@
-This is asymptote.info, produced by makeinfo version 5.2 from
+This is asymptote.info, produced by makeinfo version 6.0 from
asymptote.texi.
-This file documents 'Asymptote', version 2.35.
+This file documents 'Asymptote', version 2.36.
<http://asymptote.sourceforge.net>
@@ -22,7 +22,7 @@ File: asymptote.info, Node: Top, Next: Description, Up: (dir)
Asymptote
*********
-This file documents 'Asymptote', version 2.35.
+This file documents 'Asymptote', version 2.36.
<http://asymptote.sourceforge.net>
@@ -62,7 +62,7 @@ Installation
* Search paths:: Where 'Asymptote' looks for your files
* Compiling from UNIX source:: Building 'Asymptote' from scratch
* Editing modes:: Convenient 'emacs' and 'vim' modes
-* Subversion:: Getting the latest development source
+* Git:: Getting the latest development source
* Uninstall:: Goodbye, 'Asymptote'!
Drawing commands
@@ -147,6 +147,7 @@ Base modules
* flowchart:: Flowchart drawing routines
* contour:: Contour lines
* contour3:: Contour surfaces
+* smoothcontour3:: Smooth implicit surfaces
* slopefield:: Slope fields
* ode:: Ordinary differential equations
@@ -251,7 +252,7 @@ File: asymptote.info, Node: Installation, Next: Tutorial, Prev: Description,
* Search paths:: Where 'Asymptote' looks for your files
* Compiling from UNIX source:: Building 'Asymptote' from scratch
* Editing modes:: Convenient 'emacs' and 'vim' modes
-* Subversion:: Getting the latest development source
+* Git:: Getting the latest development source
* Uninstall:: Goodbye, 'Asymptote'!
After following the instructions for your specific distribution, please
@@ -487,14 +488,16 @@ used; if it is old we recommend first putting
the 'Asymptote' source directory.
On 'UNIX' platforms (other than 'MacOS X'), we recommend using
-version '2.8.1' of the 'freeglut' library. To compile 'freeglut',
+version '3.0.0' of the 'freeglut' library. To compile 'freeglut',
download
- <http://prdownloads.sourceforge.net/freeglut/freeglut-2.8.1.tar.gz>
+ <http://prdownloads.sourceforge.net/freeglut/freeglut-3.0.0.tar.gz>
and type (as the root user):
-gunzip freeglut-2.8.1.tar.gz
-tar -xf freeglut-2.8.1.tar
-cd freeglut-2.8.1
+gunzip freeglut-3.0.0.tar.gz
+tar -xf freeglut-3.0.0.tar
+cd freeglut-3.0.0
./configure --prefix=/usr
+cmake .
+make
make install
cd ..
@@ -537,7 +540,7 @@ the configuration variable 'dir' to point to the directory 'base' (in
the top level directory of the 'Asymptote' source code).

-File: asymptote.info, Node: Editing modes, Next: Subversion, Prev: Compiling from UNIX source, Up: Installation
+File: asymptote.info, Node: Editing modes, Next: Git, Prev: Compiling from UNIX source, Up: Installation
2.7 Editing modes
=================
@@ -590,14 +593,15 @@ and putting the generated 'asymptote.xml' file in
'~/.kde/share/apps/katepart/syntax/'.

-File: asymptote.info, Node: Subversion, Next: Uninstall, Prev: Editing modes, Up: Installation
+File: asymptote.info, Node: Git, Next: Uninstall, Prev: Editing modes, Up: Installation
-2.8 Subversion (SVN)
-====================
+2.8 Git
+=======
The following commands are needed to install the latest development
-version of 'Asymptote' using 'Subversion':
-svn co http://svn.code.sf.net/p/asymptote/code/trunk/asymptote
+version of 'Asymptote' using 'git':
+git clone http://github.com/vectorgraphics/asymptote
+
cd asymptote
./autogen.sh
./configure
@@ -607,7 +611,7 @@ make install
To compile without optimization, use the command 'make CFLAGS=-g'.

-File: asymptote.info, Node: Uninstall, Prev: Subversion, Up: Installation
+File: asymptote.info, Node: Uninstall, Prev: Git, Up: Installation
2.9 Uninstall
=============
@@ -1411,9 +1415,10 @@ user-defined types):
for reals is '0.0'. Real numbers have precision 'realEpsilon',
with 'realDigits' significant digits. The smallest positive real
number is 'realMin' and the largest positive real number is
- 'realMax'. The variable 'inf' and function 'bool isnan(real x)'
- are useful when floating-point exceptions are masked with the
- '-mask' command-line option (the default in interactive mode).
+ 'realMax'. The variables 'inf' and 'nan', along with the function
+ 'bool isnan(real x)' are useful when floating-point exceptions are
+ masked with the '-mask' command-line option (the default in
+ interactive mode).
'pair'
complex number, that is, an ordered pair of real components
@@ -3261,7 +3266,7 @@ struct Person {
string lastname;
static Person Person(string firstname, string lastname) {
- Person p;
+ Person p=new Person;
p.firstname=firstname;
p.lastname=lastname;
return p;
@@ -3291,7 +3296,7 @@ structure. That is, it essentially defines the following constructor
(assuming the structure is called 'Foo'):
static Foo Foo(ARGS) {
- Foo instance;
+ Foo instance=new Foo;
instance.operator init(ARGS);
return instance;
}
@@ -4273,7 +4278,6 @@ in like this:
file fin=input("test.txt");
real[][] A=fin.dimension(2,3);
real[][][] B=fin.dimension(2,3,4);
-Again, an integer limit of zero means no restriction.
Sometimes the array dimensions are stored with the data as integer
fields at the beginning of an array. Such 1, 2, or 3 dimensional arrays
@@ -4919,6 +4923,7 @@ File: asymptote.info, Node: Base modules, Next: Options, Prev: LaTeX usage,
* flowchart:: Flowchart drawing routines
* contour:: Contour lines
* contour3:: Contour surfaces
+* smoothcontour3:: Smooth implicit surfaces
* slopefield:: Slope fields
* ode:: Ordinary differential equations
@@ -5841,7 +5846,7 @@ following routines:
size(200,150,IgnoreAspect);
file in=input("filegraph.dat").line();
- real[][] a=in.dimension(0,0);
+ real[][] a=in;
a=transpose(a);
real[] x=a[0];
@@ -6254,7 +6259,7 @@ following routines:
string[] titlelabel=in;
string[] columnlabel=in;
- real[][] a=in.dimension(0,0);
+ real[][] a=in;
a=transpose(a);
real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4];
real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7];
@@ -6311,7 +6316,7 @@ following routines:
file fin=input("leastsquares.dat").line();
- real[][] a=fin.dimension(0,0);
+ real[][] a=fin;
a=transpose(a);
real[] t=a[0], rho=a[1];
@@ -6746,12 +6751,15 @@ patches are shaded with the mean of the four vertex colors.
A surface can be constructed from a cyclic 'path3' with the
constructor
surface surface(path3 external, triple[] internal=new triple[],
- triple[] normals=new triple[], pen[] colors=new pen[],
- bool3 planar=default);
+ pen[] colors=new pen[], bool3 planar=default);
and then filled:
+draw(surface(unitsquare3,new triple[] {X,Y,Z,O}),red);
+draw(surface(O--X{Y}..Y{-X}--cycle,new triple[] {Z}),red);
draw(surface(path3(polygon(5))),red,nolight);
draw(surface(unitcircle3),red,nolight);
draw(surface(unitcircle3,new pen[] {red,green,blue,black}),nolight);
+The first example draws a Bezier patch and the second example draws a
+Bezier triangle. The third and fourth examples are planar surfaces.
The last example constructs a patch with vertex-specific colors. A
three-dimensional planar surface in the plane 'plane' can be constructed
from a two-dimensional cyclic path 'g' with the constructor
@@ -7147,7 +7155,7 @@ real[] intersect(path3 p, surface s, real fuzz=-1);
returns a real array of length 3 containing the intersection times, if
any, of a path 'p' with a surface 's'. The routine
real[][] intersections(path3 p, surface s, real fuzz=-1);
-returns all (unless there are infinitey many) intersection times of a
+returns all (unless there are infinitely many) intersection times of a
path 'p' with a surface 's' as a sorted array of real arrays of length
3, and
triple[] intersectionpoints(path3 p, surface s, real fuzz=-1);
@@ -7858,25 +7866,61 @@ for(int i=0; i < np; ++i)
[triangulate]
- The example 'Gouraudcontour' illustrates how to produce color density
-images over such irregular triangular meshes. 'Asymptote' uses a robust
-version of Paul Bourke's Delaunay triangulation algorithm based on the
-public-domain exact arithmetic predicates written by Jonathan Shewchuk.
+ The example 'Gouraudcontour.asy' illustrates how to produce color
+density images over such irregular triangular meshes. 'Asymptote' uses
+a robust version of Paul Bourke's Delaunay triangulation algorithm based
+on the public-domain exact arithmetic predicates written by Jonathan
+Shewchuk.

-File: asymptote.info, Node: contour3, Next: slopefield, Prev: contour, Up: Base modules
+File: asymptote.info, Node: contour3, Next: smoothcontour3, Prev: contour, Up: Base modules
8.37 'contour3'
===============
This package draws surfaces described as the null space of real-valued
-functions of (x,y,z) or real[][][] matrices. Its usage is illustrated
+functions of (x,y,z) or 'real[][][]' matrices. Its usage is illustrated
in the example file 'magnetic.asy'.

-File: asymptote.info, Node: slopefield, Next: ode, Prev: contour3, Up: Base modules
+File: asymptote.info, Node: smoothcontour3, Next: slopefield, Prev: contour3, Up: Base modules
+
+8.38 'smoothcontour3'
+=====================
+
+This module, written by Charles Staats, draws implicitly defined
+surfaces with smooth appearance. The purpose of this module is similar
+to that of 'contour3': given a real-valued function f(x,y,z), construct
+the surface described by the equation f(x,y,z) = 0. The
+'smoothcontour3' module generally produces nicer results than
+'contour3', but takes longer to compile. Additionally, the algorithm
+assumes that the function and the surface are both smooth; if they are
+not, then 'contour3' may be a better choice.
+
+ To construct the null surface of a function 'f(triple)' or
+'ff(real,real,real)' over 'box(a,b)', use the routine
+surface implicitsurface(real f(triple)=null,
+ real ff(real,real,real)=null,
+ triple a,
+ triple b,
+ int n=nmesh,
+ bool keyword overlapedges=false,
+ int keyword nx=n,
+ int keyword ny=n,
+ int keyword nz=n,
+ int keyword maxdepth=8);
+The optional parameter 'overlapedges' attempts to compensate for an
+artifact that can cause the renderer to "see through" the boundary
+between patches. Although it defaults to 'false', it should usually be
+set to 'true'. The example 'genustwo.asy' illustrates the use of this
+function: Additional examples, together with a more in-depth explanation
+of the module's usage and pitfalls, are available at
+<https://github.com/charlesstaats/smoothcontour3>.
-8.38 'slopefield'
+
+File: asymptote.info, Node: slopefield, Next: ode, Prev: smoothcontour3, Up: Base modules
+
+8.39 'slopefield'
=================
To draw a slope field for the differential equation dy/dx=f(x,y) (or
@@ -7918,7 +7962,7 @@ draw(curve((0,0),func,(-3,-3),(3,3)),red);

File: asymptote.info, Node: ode, Prev: slopefield, Up: Base modules
-8.39 'ode'
+8.40 'ode'
==========
The 'ode' module, illustrated in the example 'odetest.asy', implements a
@@ -8263,15 +8307,9 @@ or manually install the 'tkinter', 'tix', 'tk', and 'tk-devel' packages.
Pictures are deconstructed into the PNG image format, which supports
full alpha channel transparency. Under 'Microsoft Windows', this
-requires 'Python 2.7.4' and the 'Python Imaging Library':
- <http://www.python.org/ftp/python/2.7.4/python-2.7.4.msi>
- <http://effbot.org/downloads/PIL-1.1.7.win32-py2.7.exe>.
-On 'UNIX' systems, place
-<http://effbot.org/downloads/Imaging-1.1.7.tar.gz> in the 'Asymptote'
-source directory, and type (as the root user):
-tar -zxf Imaging-1.1.7.tar.gz
-cd Imaging-1.1.7
-python setup.py install
+requires 'Python 2.7.4' or later and version '3.1.0' of the 'Pillow'
+fork of the 'Python Imaging Library', available from
+ <https://pypi.python.org/pypi/Pillow/3.1.0>

File: asymptote.info, Node: GUI usage, Prev: GUI installation, Up: GUI
@@ -8333,9 +8371,9 @@ To receive announcements of upcoming releases, please subscribe to
'Asymptote' at
<http://freecode.com/projects/asy>
If you find a bug in 'Asymptote', please check (if possible) whether the
-bug is still present in the latest 'Subversion' developmental code
-(*note Subversion::) before submitting a bug report. New bugs can be
-submitted using the Bug Tracking System at
+bug is still present in the latest 'git' developmental code (*note
+Git::) before submitting a bug report. New bugs can be submitted using
+the Bug Tracking System at
<http://sourceforge.net/projects/asymptote>
To see if the bug has already been fixed, check bugs with Status
'Closed' and recent lines in
@@ -8496,7 +8534,7 @@ Index
* 2D graphs: graph. (line 6)
* 3D graphs: graph3. (line 6)
* 3D grids: grid3. (line 6)
-* 3D 'PostScript': three. (line 576)
+* 3D 'PostScript': three. (line 579)
* ':': Arithmetic & logical.
(line 56)
* '::': Bezier curves. (line 70)
@@ -8525,13 +8563,13 @@ Index
* '||': Arithmetic & logical.
(line 46)
* 'a4': Configuring. (line 59)
-* 'abort': Data types. (line 355)
-* 'abs': Data types. (line 64)
+* 'abort': Data types. (line 356)
+* 'abs': Data types. (line 65)
* 'abs' <1>: Mathematical functions.
(line 35)
* 'accel': Paths and guides. (line 126)
* 'accel' <1>: Paths and guides. (line 132)
-* 'accel' <2>: three. (line 480)
+* 'accel' <2>: three. (line 483)
* 'access': Import. (line 6)
* acknowledgments: Credits. (line 6)
* 'acos': Mathematical functions.
@@ -8544,8 +8582,8 @@ Index
(line 212)
* 'add' <1>: Frames and pictures.
(line 226)
-* 'add' <2>: three. (line 252)
-* 'addViews': three. (line 373)
+* 'add' <2>: three. (line 255)
+* 'addViews': three. (line 376)
* 'adjust': Pens. (line 119)
* 'Ai': Mathematical functions.
(line 48)
@@ -8562,29 +8600,29 @@ Index
* 'and': Bezier curves. (line 56)
* 'AND': Arithmetic & logical.
(line 63)
-* 'angle': Data types. (line 72)
+* 'angle': Data types. (line 73)
* 'animate': Configuring. (line 65)
* 'animate' <1>: Files. (line 155)
* 'animate' <2>: animation. (line 12)
* 'animation': animation. (line 6)
* animation: animation. (line 6)
* 'annotate': annotate. (line 6)
-* 'antialias': three. (line 191)
+* 'antialias': three. (line 194)
* 'antialias' <1>: Options. (line 146)
* append: Files. (line 36)
* 'append': Arrays. (line 39)
* 'arc': Paths and guides. (line 24)
* 'Arc': Paths and guides. (line 37)
-* 'arc' <1>: three. (line 263)
+* 'arc' <1>: three. (line 266)
* 'ArcArrow': draw. (line 26)
-* 'ArcArrow3': three. (line 543)
+* 'ArcArrow3': three. (line 546)
* 'ArcArrows': draw. (line 26)
-* 'ArcArrows3': three. (line 543)
+* 'ArcArrows3': three. (line 546)
* 'arclength': Paths and guides. (line 153)
-* 'arclength' <1>: three. (line 480)
+* 'arclength' <1>: three. (line 483)
* 'arcpoint': Paths and guides. (line 163)
* 'arctime': Paths and guides. (line 157)
-* 'arctime' <1>: three. (line 480)
+* 'arctime' <1>: three. (line 483)
* arguments: Default arguments. (line 6)
* arithmetic operators: Arithmetic & logical.
(line 6)
@@ -8595,13 +8633,13 @@ Index
* 'Arrow': draw. (line 26)
* 'arrow' <1>: label. (line 70)
* arrow keys: Tutorial. (line 37)
-* 'Arrow3': three. (line 543)
+* 'Arrow3': three. (line 546)
* arrows: draw. (line 26)
* 'Arrows': draw. (line 26)
-* 'Arrows3': three. (line 543)
+* 'Arrows3': three. (line 546)
* 'as': Import. (line 67)
-* 'ascii': Data types. (line 300)
-* 'ascii' <1>: Data types. (line 300)
+* 'ascii': Data types. (line 301)
+* 'ascii' <1>: Data types. (line 301)
* 'asin': Mathematical functions.
(line 6)
* 'aSin': Mathematical functions.
@@ -8610,9 +8648,9 @@ Index
(line 6)
* 'Aspect': Frames and pictures.
(line 59)
-* 'assert': Data types. (line 360)
+* 'assert': Data types. (line 361)
* assignment: Programming. (line 8)
-* 'asy': Data types. (line 350)
+* 'asy': Data types. (line 351)
* 'asy' <1>: Import. (line 101)
* 'asy-mode': Editing modes. (line 6)
* 'asy.vim': Editing modes. (line 32)
@@ -8633,7 +8671,7 @@ Index
(line 271)
* 'attach' <1>: LaTeX usage. (line 50)
* 'attach' <2>: graph. (line 406)
-* 'autoadjust': three. (line 338)
+* 'autoadjust': three. (line 341)
* 'autoimport': Options. (line 113)
* automatic scaling: graph. (line 690)
* automatic scaling <1>: graph. (line 690)
@@ -8642,44 +8680,46 @@ Index
* 'axis' <1>: graph. (line 988)
* 'axis' <2>: graph3. (line 66)
* 'axis' <3>: graph3. (line 82)
-* 'azimuth': Data types. (line 152)
+* 'azimuth': Data types. (line 153)
* 'babel': babel. (line 6)
* background color: Frames and pictures.
(line 180)
-* 'BackView': three. (line 366)
+* 'BackView': three. (line 369)
* 'Bar': draw. (line 19)
-* 'Bar3': three. (line 543)
+* 'Bar3': three. (line 546)
* 'Bars': draw. (line 19)
-* 'Bars3': three. (line 543)
+* 'Bars3': three. (line 546)
* 'barsize': draw. (line 19)
* base modules: Base modules. (line 6)
* 'basealign': Pens. (line 177)
* 'baseline': label. (line 90)
* batch mode: Tutorial. (line 5)
-* 'beep': Data types. (line 373)
+* 'beep': Data types. (line 374)
* 'BeginArcArrow': draw. (line 26)
-* 'BeginArcArrow3': three. (line 543)
+* 'BeginArcArrow3': three. (line 546)
* 'BeginArrow': draw. (line 26)
-* 'BeginArrow3': three. (line 543)
+* 'BeginArrow3': three. (line 546)
* 'BeginBar': draw. (line 19)
-* 'BeginBar3': three. (line 543)
+* 'BeginBar3': three. (line 546)
* 'BeginDotMargin': draw. (line 42)
-* 'BeginDotMargin3': three. (line 559)
+* 'BeginDotMargin3': three. (line 562)
* 'BeginMargin': draw. (line 42)
-* 'BeginMargin3': three. (line 559)
+* 'BeginMargin3': three. (line 562)
* 'BeginPenMargin': draw. (line 42)
-* 'BeginPenMargin2': three. (line 559)
-* 'BeginPenMargin3': three. (line 559)
+* 'BeginPenMargin2': three. (line 562)
+* 'BeginPenMargin3': three. (line 562)
* 'BeginPoint': label. (line 55)
* Bessel: Mathematical functions.
(line 48)
* 'bevel': flowchart. (line 72)
* 'beveljoin': Pens. (line 145)
* Bezier curves: Bezier curves. (line 6)
-* 'bezulate': three. (line 102)
+* 'Bezier patch': three. (line 87)
+* 'Bezier triangle': three. (line 87)
+* 'bezulate': three. (line 105)
* 'Bi': Mathematical functions.
(line 48)
-* 'Billboard': three. (line 450)
+* 'Billboard': three. (line 453)
* 'binary': Files. (line 76)
* binary format: Files. (line 76)
* binary operators: Arithmetic & logical.
@@ -8687,7 +8727,7 @@ Index
* 'binarytree': binarytree. (line 6)
* 'Bi_deriv': Mathematical functions.
(line 48)
-* 'black stripes': three. (line 191)
+* 'black stripes': three. (line 194)
* 'Blank': draw. (line 26)
* 'block.bottom': flowchart. (line 19)
* 'block.bottomleft': flowchart. (line 19)
@@ -8706,7 +8746,7 @@ Index
(line 6)
* 'Bottom': graph. (line 132)
* 'BottomTop': graph. (line 138)
-* 'BottomView': three. (line 366)
+* 'BottomView': three. (line 369)
* bounding box: Frames and pictures.
(line 180)
* 'Bounds': graph3. (line 21)
@@ -8714,8 +8754,8 @@ Index
(line 25)
* 'box' <1>: Frames and pictures.
(line 130)
-* 'box' <2>: three. (line 285)
-* 'box' <3>: three. (line 287)
+* 'box' <2>: three. (line 288)
+* 'box' <3>: three. (line 290)
* 'bp': Tutorial. (line 26)
* 'brace': Paths and guides. (line 51)
* 'break': Programming. (line 30)
@@ -8728,11 +8768,11 @@ Index
* 'Button-2': GUI. (line 6)
* 'BWRainbow': palette. (line 15)
* 'BWRainbow2': palette. (line 18)
-* 'C' string: Data types. (line 215)
+* 'C' string: Data types. (line 216)
* 'CAD': CAD. (line 6)
* 'calculateTransform': Frames and pictures.
(line 118)
-* 'camera': three. (line 332)
+* 'camera': three. (line 335)
* casts: Casts. (line 6)
* 'cbrt': Mathematical functions.
(line 6)
@@ -8740,7 +8780,7 @@ Index
* 'ceil': Mathematical functions.
(line 26)
* 'Center': label. (line 60)
-* 'center': three. (line 315)
+* 'center': three. (line 318)
* checker: Pens. (line 265)
* Chinese: unicode. (line 12)
* 'choose': Mathematical functions.
@@ -8749,7 +8789,7 @@ Index
(line 48)
* 'circle': Paths and guides. (line 10)
* 'Circle': Paths and guides. (line 18)
-* 'circle' <1>: three. (line 259)
+* 'circle' <1>: three. (line 262)
* 'circle' <2>: flowchart. (line 61)
* 'circlebarframe': markers. (line 18)
* CJK: unicode. (line 12)
@@ -8762,7 +8802,7 @@ Index
* 'cm': Tutorial. (line 63)
* 'cmd': Configuring. (line 32)
* 'cmyk': Pens. (line 34)
-* 'colatitude': Data types. (line 157)
+* 'colatitude': Data types. (line 158)
* color: Pens. (line 23)
* 'coloredNodes': tube. (line 25)
* 'coloredpath': tube. (line 18)
@@ -8787,7 +8827,7 @@ Index
* configuration file: Configuring. (line 22)
* configuration file <1>: Options. (line 117)
* configuring: Configuring. (line 6)
-* 'conj': Data types. (line 61)
+* 'conj': Data types. (line 62)
* constructors: Structures. (line 91)
* 'context': Options. (line 146)
* 'continue': Programming. (line 30)
@@ -8813,8 +8853,8 @@ Index
* 'cputime': Structures. (line 169)
* 'crop': graph. (line 639)
* cropping graphs: graph. (line 639)
-* 'cross': Data types. (line 105)
-* 'cross' <1>: Data types. (line 195)
+* 'cross': Data types. (line 106)
+* 'cross' <1>: Data types. (line 196)
* 'cross' <2>: graph. (line 480)
* 'crossframe': markers. (line 22)
* crosshatch: Pens. (line 282)
@@ -8826,7 +8866,7 @@ Index
* 'curl' <1>: three. (line 6)
* 'curlSpecifier': Paths and guides. (line 408)
* 'currentpen': Pens. (line 6)
-* 'currentprojection': three. (line 363)
+* 'currentprojection': three. (line 366)
* 'curve': slopefield. (line 20)
* custom axis types: graph. (line 141)
* custom mark routine: graph. (line 577)
@@ -8838,12 +8878,12 @@ Index
* 'cyclic': Paths and guides. (line 85)
* 'cyclic' <1>: Paths and guides. (line 376)
* 'cyclic' <2>: Arrays. (line 39)
-* 'cyclic' <3>: three. (line 480)
+* 'cyclic' <3>: three. (line 483)
* Cyrillic: unicode. (line 7)
* 'dashdotted': Pens. (line 98)
* 'dashed': Pens. (line 98)
* data types: Data types. (line 6)
-* 'date': Data types. (line 312)
+* 'date': Data types. (line 313)
* Debian: UNIX binary distributions.
(line 19)
* debugger: Debugger. (line 6)
@@ -8852,7 +8892,7 @@ Index
* default arguments: Default arguments. (line 6)
* 'defaultformat': graph. (line 175)
* 'DefaultHead': draw. (line 26)
-* 'DefaultHead3': three. (line 543)
+* 'DefaultHead3': three. (line 546)
* 'defaultpen': Pens. (line 45)
* 'defaultpen' <1>: Pens. (line 118)
* 'defaultpen' <2>: Pens. (line 123)
@@ -8862,7 +8902,7 @@ Index
* 'defaultpen' <6>: Pens. (line 367)
* 'defaultrender': three. (line 46)
* 'deferred drawing': simplex. (line 6)
-* 'degrees': Data types. (line 77)
+* 'degrees': Data types. (line 78)
* 'degrees' <1>: Mathematical functions.
(line 17)
* 'Degrees': Mathematical functions.
@@ -8874,10 +8914,10 @@ Index
* 'diamond': flowchart. (line 54)
* 'dimension': Arrays. (line 356)
* 'dir': Search paths. (line 9)
-* 'dir' <1>: Data types. (line 89)
-* 'dir' <2>: Data types. (line 179)
+* 'dir' <1>: Data types. (line 90)
+* 'dir' <2>: Data types. (line 180)
* 'dir' <3>: Paths and guides. (line 109)
-* 'dir' <4>: three. (line 480)
+* 'dir' <4>: three. (line 483)
* direction specifier: Bezier curves. (line 6)
* directory: Files. (line 25)
* 'dirSpecifier': Paths and guides. (line 390)
@@ -8887,23 +8927,23 @@ Index
* 'DOSendl': Files. (line 61)
* 'DOSnewl': Files. (line 61)
* 'dot': draw. (line 82)
-* 'dot' <1>: Data types. (line 102)
-* 'dot' <2>: Data types. (line 192)
+* 'dot' <1>: Data types. (line 103)
+* 'dot' <2>: Data types. (line 193)
* 'dot' <3>: Arrays. (line 248)
* 'dot' <4>: Arrays. (line 251)
* 'DotMargin': draw. (line 42)
-* 'DotMargin3': three. (line 559)
+* 'DotMargin3': three. (line 562)
* 'DotMargins': draw. (line 42)
-* 'DotMargins3': three. (line 559)
+* 'DotMargins3': three. (line 562)
* 'dotted': Pens. (line 98)
-* 'double deferred drawing': three. (line 237)
+* 'double deferred drawing': three. (line 240)
* double precision: Files. (line 76)
* 'draw': Drawing commands. (line 31)
* 'Draw': draw. (line 26)
* 'draw' <1>: draw. (line 109)
* 'Draw' <1>: Frames and pictures.
(line 160)
-* 'draw' <2>: three. (line 110)
+* 'draw' <2>: three. (line 113)
* drawing commands: Drawing commands. (line 6)
* 'drawline': math. (line 9)
* 'drawtree': drawtree. (line 6)
@@ -8926,23 +8966,23 @@ Index
* 'else': Programming. (line 8)
* 'emacs': Editing modes. (line 6)
* 'embed': embed. (line 6)
-* 'Embedded': three. (line 450)
+* 'Embedded': three. (line 453)
* 'empty': Frames and pictures.
(line 7)
* 'EndArcArrow': draw. (line 26)
-* 'EndArcArrow3': three. (line 543)
+* 'EndArcArrow3': three. (line 546)
* 'EndArrow': draw. (line 26)
-* 'EndArrow3': three. (line 543)
+* 'EndArrow3': three. (line 546)
* 'EndBar': draw. (line 19)
-* 'EndBar3': three. (line 543)
+* 'EndBar3': three. (line 546)
* 'EndDotMargin': draw. (line 42)
-* 'EndDotMargin3': three. (line 559)
+* 'EndDotMargin3': three. (line 562)
* 'endl': Files. (line 61)
* 'EndMargin': draw. (line 42)
-* 'EndMargin3': three. (line 559)
+* 'EndMargin3': three. (line 562)
* 'EndPenMargin': draw. (line 42)
-* 'EndPenMargin2': three. (line 559)
-* 'EndPenMargin3': three. (line 559)
+* 'EndPenMargin2': three. (line 562)
+* 'EndPenMargin3': three. (line 562)
* 'EndPoint': label. (line 55)
* 'envelope': Frames and pictures.
(line 25)
@@ -8954,7 +8994,7 @@ Index
* EPS: label. (line 78)
* 'EPS': Options. (line 146)
* erase: Tutorial. (line 37)
-* 'erase': Data types. (line 255)
+* 'erase': Data types. (line 256)
* 'erase' <1>: Frames and pictures.
(line 7)
* 'erase' <2>: Frames and pictures.
@@ -8971,13 +9011,13 @@ Index
* 'eval' <1>: Import. (line 107)
* evenodd: Tutorial. (line 144)
* 'evenodd': Pens. (line 160)
-* 'exit': Data types. (line 364)
+* 'exit': Data types. (line 365)
* 'exit' <1>: Interactive mode. (line 54)
* 'exit' <2>: Debugger. (line 56)
* 'exp': Mathematical functions.
(line 6)
-* 'expi': Data types. (line 85)
-* 'expi' <1>: Data types. (line 175)
+* 'expi': Data types. (line 86)
+* 'expi' <1>: Data types. (line 176)
* 'explicit': Casts. (line 6)
* explicit casts: Casts. (line 21)
* 'expm1': Mathematical functions.
@@ -8988,12 +9028,12 @@ Index
* 'extension': Paths and guides. (line 246)
* 'extension' <1>: MetaPost. (line 10)
* 'external': embed. (line 11)
-* 'extrude': three. (line 474)
+* 'extrude': three. (line 477)
* 'F': Mathematical functions.
(line 48)
* 'fabs': Mathematical functions.
(line 6)
-* 'face': three. (line 584)
+* 'face': three. (line 587)
* 'factorial': Mathematical functions.
(line 39)
* Fedora: UNIX binary distributions.
@@ -9002,7 +9042,7 @@ Index
* 'fft': Arrays. (line 234)
* 'fft' <1>: math. (line 26)
* 'FFTW': Compiling from UNIX source.
- (line 61)
+ (line 63)
* 'file': Files. (line 6)
* 'file' <1>: Debugger. (line 44)
* 'Fill': draw. (line 26)
@@ -9016,12 +9056,12 @@ Index
(line 136)
* 'filloutside': fill. (line 27)
* 'fillrule': Pens. (line 160)
-* 'find': Data types. (line 240)
+* 'find': Data types. (line 241)
* 'find' <1>: Arrays. (line 149)
* 'firstcut': Paths and guides. (line 262)
* 'fit': Frames and pictures.
(line 113)
-* 'fit3': three. (line 250)
+* 'fit3': three. (line 253)
* 'fixedscaling': Frames and pictures.
(line 81)
* 'floor': Mathematical functions.
@@ -9036,13 +9076,13 @@ Index
* 'fontcommand': Pens. (line 217)
* 'fontsize': Pens. (line 188)
* 'for': Programming. (line 8)
-* 'format': Data types. (line 283)
+* 'format': Data types. (line 284)
* 'format' <1>: Options. (line 146)
* forum: Help. (line 6)
* 'frame': Frames and pictures.
(line 7)
* 'from': Import. (line 16)
-* 'FrontView': three. (line 366)
+* 'FrontView': three. (line 369)
* function declarations: Functions. (line 72)
* Function shading: fill. (line 99)
* function shading: fill. (line 99)
@@ -9060,7 +9100,8 @@ Index
* 'getreal': Files. (line 118)
* 'getstring': Files. (line 118)
* 'gettriple': Files. (line 118)
-* 'glOptions': three. (line 191)
+* git: Git. (line 6)
+* 'glOptions': three. (line 194)
* 'glOptions' <1>: Options. (line 132)
* GNU Scientific Library: Mathematical functions.
(line 48)
@@ -9079,7 +9120,7 @@ Index
* 'grid3': grid3. (line 6)
* 'gs': Configuring. (line 6)
* 'GSL': Compiling from UNIX source.
- (line 61)
+ (line 63)
* 'gsl': Mathematical functions.
(line 48)
* 'gsOptions': Options. (line 132)
@@ -9095,30 +9136,30 @@ Index
* 'help' <1>: Debugger. (line 30)
* 'Hermite': graph. (line 36)
* 'Hermite(splinetype splinetype': graph. (line 36)
-* 'hex': Data types. (line 297)
+* 'hex': Data types. (line 298)
* 'hex' <1>: Pens. (line 60)
-* 'hexidecimal': Data types. (line 297)
+* 'hexidecimal': Data types. (line 298)
* 'hexidecimal' <1>: Pens. (line 58)
-* hidden surface removal: three. (line 584)
+* hidden surface removal: three. (line 587)
* 'histogram': Mathematical functions.
(line 39)
* 'history': Files. (line 143)
* 'history' <1>: Interactive mode. (line 54)
* 'historylines': Interactive mode. (line 57)
* 'HookHead': draw. (line 26)
-* 'HookHead3': three. (line 543)
+* 'HookHead3': three. (line 546)
* 'Horizontal': flowchart. (line 77)
* 'hyperrefOptions': Options. (line 132)
* 'hypot': Mathematical functions.
(line 6)
* 'I': Mathematical functions.
(line 48)
-* 'iconic': three. (line 191)
+* 'iconic': three. (line 194)
* 'identity': Transforms. (line 24)
* 'identity' <1>: Mathematical functions.
(line 6)
* 'identity' <2>: Arrays. (line 290)
-* 'identity4': three. (line 418)
+* 'identity4': three. (line 421)
* 'if': Programming. (line 8)
* 'IgnoreAspect': Frames and pictures.
(line 63)
@@ -9131,9 +9172,10 @@ Index
* implicit casts: Casts. (line 6)
* 'implicit linear solver': MetaPost. (line 10)
* implicit scaling: Implicit scaling. (line 6)
+* 'implicitsurface': smoothcontour3. (line 16)
* 'import': Import. (line 45)
* 'inches': Tutorial. (line 63)
-* 'incircle': Data types. (line 119)
+* 'incircle': Data types. (line 120)
* 'include': Import. (line 126)
* including images: label. (line 78)
* 'increasing': math. (line 59)
@@ -9148,12 +9190,12 @@ Index
* 'input' <1>: Files. (line 12)
* 'input' <2>: Interactive mode. (line 45)
* 'input' <3>: Interactive mode. (line 49)
-* 'insert': Data types. (line 251)
+* 'insert': Data types. (line 252)
* 'insert' <1>: Arrays. (line 39)
* 'inside': Paths and guides. (line 294)
* 'inside' <1>: Paths and guides. (line 299)
* 'inside' <2>: Paths and guides. (line 305)
-* 'insphere': three. (line 506)
+* 'insphere': three. (line 509)
* 'inst': Debugger. (line 35)
* installation: Installation. (line 6)
* 'int': Data types. (line 30)
@@ -9167,23 +9209,23 @@ Index
* 'interpolate': interpolate. (line 6)
* 'intersect': Paths and guides. (line 195)
* 'intersect' <1>: math. (line 13)
-* 'intersect' <2>: three. (line 480)
+* 'intersect' <2>: three. (line 483)
* 'intersectionpoint': Paths and guides. (line 238)
* 'intersectionpoint' <1>: math. (line 17)
-* 'intersectionpoint' <2>: three. (line 480)
+* 'intersectionpoint' <2>: three. (line 483)
* 'intersectionpoints': Paths and guides. (line 242)
-* 'intersectionpoints' <1>: three. (line 480)
-* 'intersectionpoints' <2>: three. (line 493)
+* 'intersectionpoints' <1>: three. (line 483)
+* 'intersectionpoints' <2>: three. (line 496)
* 'intersections': Paths and guides. (line 206)
* 'intersections' <1>: Paths and guides. (line 213)
-* 'intersections' <2>: three. (line 480)
-* 'intersections' <3>: three. (line 486)
+* 'intersections' <2>: three. (line 483)
+* 'intersections' <3>: three. (line 489)
* 'InTicks': graph3. (line 35)
* 'intMax': Data types. (line 30)
* 'intMin': Data types. (line 30)
* 'inverse': Transforms. (line 16)
* 'inverse' <1>: Arrays. (line 296)
-* 'invert': three. (line 408)
+* 'invert': three. (line 411)
* 'invisible': Pens. (line 39)
* 'isnan': Data types. (line 35)
* 'i_scaled': Mathematical functions.
@@ -9202,7 +9244,7 @@ Index
* 'keepAspect' <1>: Frames and pictures.
(line 63)
* 'keepAspect' <2>: LaTeX usage. (line 50)
-* keyboard bindings:: three. (line 169)
+* keyboard bindings:: three. (line 172)
* 'keys': Arrays. (line 39)
* 'keyword': Named arguments. (line 37)
* keyword-only: Named arguments. (line 37)
@@ -9214,7 +9256,7 @@ Index
* 'label': clip. (line 15)
* 'Label' <1>: label. (line 14)
* Label: graph. (line 330)
-* 'label' <1>: three. (line 444)
+* 'label' <1>: three. (line 447)
* 'labelpath': labelpath. (line 6)
* 'labelpath3': labelpath3. (line 6)
* labelx: graph. (line 330)
@@ -9228,7 +9270,7 @@ Index
* 'LaTeX' usage: LaTeX usage. (line 6)
* 'latexmk': LaTeX usage. (line 30)
* 'latin1': latin1. (line 6)
-* 'latitude': Data types. (line 162)
+* 'latitude': Data types. (line 163)
* 'latticeshade': fill. (line 32)
* 'layer': Drawing commands. (line 16)
* 'leastsquares': stats. (line 6)
@@ -9238,19 +9280,19 @@ Index
* 'LeftSide': label. (line 60)
* 'LeftTicks': graph. (line 160)
* 'LeftTicks' <1>: graph. (line 233)
-* 'LeftView': three. (line 366)
+* 'LeftView': three. (line 369)
* legend: Drawing commands. (line 31)
* 'legend': draw. (line 64)
* 'legend' <1>: graph. (line 424)
* Legendre: Mathematical functions.
(line 48)
-* 'length': Data types. (line 64)
-* 'length' <1>: Data types. (line 143)
-* 'length' <2>: Data types. (line 237)
+* 'length': Data types. (line 65)
+* 'length' <1>: Data types. (line 144)
+* 'length' <2>: Data types. (line 238)
* 'length' <3>: Paths and guides. (line 76)
* 'length' <4>: Paths and guides. (line 373)
* 'length' <5>: Arrays. (line 39)
-* 'length' <6>: three. (line 480)
+* 'length' <6>: three. (line 483)
* 'letter': Configuring. (line 59)
* 'lexorder': math. (line 67)
* 'lexorder' <1>: math. (line 70)
@@ -9270,7 +9312,7 @@ Index
* 'lineskip': Pens. (line 188)
* 'linetype': Pens. (line 119)
* 'linewidth': Pens. (line 123)
-* 'locale': Data types. (line 307)
+* 'locale': Data types. (line 308)
* 'log': Mathematical functions.
(line 6)
* 'Log': graph. (line 690)
@@ -9285,7 +9327,7 @@ Index
(line 6)
* 'longdashdotted': Pens. (line 98)
* 'longdashed': Pens. (line 98)
-* 'longitude': Data types. (line 167)
+* 'longitude': Data types. (line 168)
* loop: Programming. (line 8)
* 'lualatex': Options. (line 146)
* 'luatex': Options. (line 146)
@@ -9295,11 +9337,11 @@ Index
* 'map': Arrays. (line 131)
* 'Margin': draw. (line 42)
* 'Margin' <1>: draw. (line 42)
-* 'Margin3': three. (line 559)
-* 'Margin3' <1>: three. (line 559)
+* 'Margin3': three. (line 562)
+* 'Margin3' <1>: three. (line 562)
* 'Margins': draw. (line 42)
-* margins: three. (line 243)
-* 'Margins3': three. (line 559)
+* margins: three. (line 246)
+* 'Margins3': three. (line 562)
* 'mark': graph. (line 480)
* 'markangle': markers. (line 35)
* 'marker': graph. (line 480)
@@ -9315,12 +9357,12 @@ Index
(line 7)
* 'max' <2>: Arrays. (line 215)
* 'max' <3>: Arrays. (line 225)
-* 'max' <4>: three. (line 480)
-* 'maxbound': Data types. (line 133)
-* 'maxbound' <1>: Data types. (line 203)
-* 'maxtile': three. (line 191)
+* 'max' <4>: three. (line 483)
+* 'maxbound': Data types. (line 134)
+* 'maxbound' <1>: Data types. (line 204)
+* 'maxtile': three. (line 194)
* 'maxtimes': Paths and guides. (line 233)
-* 'maxviewport': three. (line 191)
+* 'maxviewport': three. (line 194)
* 'MetaPost': MetaPost. (line 6)
* 'MetaPost ... ': Bezier curves. (line 70)
* 'MetaPost cutafter': Paths and guides. (line 267)
@@ -9329,9 +9371,9 @@ Index
* 'MetaPost whatever': MetaPost. (line 10)
* Microsoft Windows: Microsoft Windows. (line 6)
* 'MidArcArrow': draw. (line 26)
-* 'MidArcArrow3': three. (line 543)
+* 'MidArcArrow3': three. (line 546)
* 'MidArrow': draw. (line 26)
-* 'MidArrow3': three. (line 543)
+* 'MidArrow3': three. (line 546)
* 'MidPoint': label. (line 55)
* 'midpoint': Paths and guides. (line 180)
* 'min': Paths and guides. (line 275)
@@ -9339,9 +9381,9 @@ Index
(line 7)
* 'min' <2>: Arrays. (line 210)
* 'min' <3>: Arrays. (line 220)
-* 'min' <4>: three. (line 480)
-* 'minbound': Data types. (line 130)
-* 'minbound' <1>: Data types. (line 200)
+* 'min' <4>: three. (line 483)
+* 'minbound': Data types. (line 131)
+* 'minbound' <1>: Data types. (line 201)
* 'minipage': label. (line 116)
* 'mintimes': Paths and guides. (line 228)
* 'miterjoin': Pens. (line 145)
@@ -9352,13 +9394,14 @@ Index
* 'mode' <1>: Files. (line 89)
* 'monotonic': graph. (line 36)
* mouse: GUI. (line 6)
-* mouse bindings: three. (line 147)
+* mouse bindings: three. (line 150)
* 'Move': Pens. (line 355)
* 'MoveQuiet': Pens. (line 361)
-* 'multisample': three. (line 138)
+* 'multisample': three. (line 141)
* 'N': Tutorial. (line 103)
* 'name': Files. (line 89)
* named arguments: Named arguments. (line 6)
+* 'nan': Data types. (line 35)
* 'natural': graph. (line 36)
* 'new': Structures. (line 6)
* 'new' <1>: Arrays. (line 100)
@@ -9377,11 +9420,11 @@ Index
* 'NoFill' <1>: Frames and pictures.
(line 154)
* 'NoMargin': draw. (line 42)
-* 'NoMargin3': three. (line 559)
+* 'NoMargin3': three. (line 562)
* 'None': draw. (line 19)
* 'None' <1>: draw. (line 26)
* 'none': Files. (line 61)
-* 'normal': three. (line 466)
+* 'normal': three. (line 469)
* 'nosafe': Options. (line 170)
* 'NOT': Arithmetic & logical.
(line 63)
@@ -9394,13 +9437,13 @@ Index
(line 140)
* 'nullpen' <2>: Frames and pictures.
(line 149)
-* 'NURBS': three. (line 342)
-* 'O': three. (line 255)
+* 'NURBS': three. (line 345)
+* 'O': three. (line 258)
* 'obj': obj. (line 6)
-* 'oblique': three. (line 298)
-* 'obliqueX': three. (line 305)
-* 'obliqueY': three. (line 311)
-* 'obliqueZ': three. (line 298)
+* 'oblique': three. (line 301)
+* 'obliqueX': three. (line 308)
+* 'obliqueY': three. (line 314)
+* 'obliqueZ': three. (line 301)
* 'ode': ode. (line 6)
* 'offset': Pens. (line 119)
* offset: Options. (line 175)
@@ -9409,7 +9452,7 @@ Index
* 'OmitTickIntervals': graph. (line 223)
* 'opacity': Pens. (line 233)
* open: Files. (line 12)
-* 'OpenGL': three. (line 138)
+* 'OpenGL': three. (line 141)
* 'operator': User-defined operators.
(line 6)
* 'operator --': graph. (line 30)
@@ -9424,12 +9467,12 @@ Index
* options: Options. (line 6)
* 'OR': Arithmetic & logical.
(line 63)
-* 'orient': Data types. (line 107)
-* 'orient' <1>: three. (line 497)
+* 'orient': Data types. (line 108)
+* 'orient' <1>: three. (line 500)
* 'orientation': Frames and pictures.
(line 104)
-* 'orthographic': three. (line 315)
-* 'outformat': three. (line 138)
+* 'orthographic': three. (line 318)
+* 'outformat': three. (line 141)
* 'outprefix': Frames and pictures.
(line 91)
* 'output': Files. (line 36)
@@ -9442,7 +9485,7 @@ Index
* 'pack': label. (line 100)
* packing: Rest arguments. (line 30)
* 'pair': Tutorial. (line 51)
-* 'pair' <1>: Data types. (line 45)
+* 'pair' <1>: Data types. (line 46)
* 'pairs': Arrays. (line 230)
* 'paperheight': Configuring. (line 59)
* 'papertype': Configuring. (line 59)
@@ -9469,38 +9512,38 @@ Index
* 'pdfviewerOptions': Options. (line 132)
* 'pen': Pens. (line 6)
* 'PenMargin': draw. (line 42)
-* 'PenMargin2': three. (line 559)
-* 'PenMargin3': three. (line 559)
+* 'PenMargin2': three. (line 562)
+* 'PenMargin3': three. (line 562)
* 'PenMargins': draw. (line 42)
-* 'PenMargins2': three. (line 559)
-* 'PenMargins3': three. (line 559)
+* 'PenMargins2': three. (line 562)
+* 'PenMargins3': three. (line 562)
* 'periodic': graph. (line 36)
* 'perl': LaTeX usage. (line 30)
* 'perpendicular': geometry. (line 6)
-* 'perspective': three. (line 342)
+* 'perspective': three. (line 345)
* 'picture': Frames and pictures.
(line 39)
* picture alignment: Frames and pictures.
(line 226)
* 'piecewisestraight': Paths and guides. (line 92)
-* 'pixel': three. (line 566)
+* 'pixel': three. (line 569)
* 'Pl': Mathematical functions.
(line 48)
* 'plain': plain. (line 6)
* 'planar': three. (line 87)
-* 'plane': three. (line 281)
-* 'planeproject': three. (line 463)
+* 'plane': three. (line 284)
+* 'planeproject': three. (line 466)
* 'point': Paths and guides. (line 95)
* 'point' <1>: Paths and guides. (line 379)
-* 'point' <2>: three. (line 480)
-* 'polar': Data types. (line 147)
+* 'point' <2>: three. (line 483)
+* 'polar': Data types. (line 148)
* 'polargraph': graph. (line 88)
* 'polygon': graph. (line 480)
* 'pop': Arrays. (line 39)
* 'Portrait': Frames and pictures.
(line 104)
* 'postcontrol': Paths and guides. (line 146)
-* 'postcontrol' <1>: three. (line 480)
+* 'postcontrol' <1>: three. (line 483)
* postfix operators: Self & prefix operators.
(line 19)
* 'postscript': Frames and pictures.
@@ -9509,10 +9552,10 @@ Index
* 'PostScript' subpath: Tutorial. (line 130)
* 'pow10': Mathematical functions.
(line 6)
-* 'prc': three. (line 212)
+* 'prc': three. (line 215)
* 'precision': Files. (line 93)
* 'precontrol': Paths and guides. (line 139)
-* 'precontrol' <1>: three. (line 480)
+* 'precontrol' <1>: three. (line 483)
* prefix operators: Self & prefix operators.
(line 6)
* 'private': Structures. (line 6)
@@ -9544,13 +9587,13 @@ Index
* 'radians': Mathematical functions.
(line 17)
* 'radius': Paths and guides. (line 135)
-* 'radius' <1>: three. (line 480)
+* 'radius' <1>: three. (line 483)
* 'Rainbow': palette. (line 12)
* 'rand': Mathematical functions.
(line 39)
* 'randMax': Mathematical functions.
(line 39)
-* 'read': Arrays. (line 374)
+* 'read': Arrays. (line 373)
* reading: Files. (line 12)
* reading string arrays: Arrays. (line 343)
* 'readline': Files. (line 135)
@@ -9559,7 +9602,7 @@ Index
* 'realEpsilon': Data types. (line 35)
* 'realMax': Data types. (line 35)
* 'realMin': Data types. (line 35)
-* 'realmult': Data types. (line 99)
+* 'realmult': Data types. (line 100)
* 'rectangle': flowchart. (line 34)
* recursion: Functions. (line 93)
* reference: Description. (line 77)
@@ -9572,22 +9615,22 @@ Index
(line 6)
* 'rename': Files. (line 152)
* 'render': three. (line 46)
-* 'render' <1>: three. (line 138)
+* 'render' <1>: three. (line 141)
* 'render' <2>: Options. (line 146)
-* 'replace': Data types. (line 268)
+* 'replace': Data types. (line 269)
* 'resetdefaultpen': Pens. (line 367)
* rest arguments: Rest arguments. (line 6)
* 'restore': Frames and pictures.
(line 286)
* 'restricted': Structures. (line 6)
* 'return': Debugger. (line 47)
-* 'reverse': Data types. (line 264)
+* 'reverse': Data types. (line 265)
* 'reverse' <1>: Paths and guides. (line 183)
* 'reverse' <2>: Paths and guides. (line 382)
* 'reverse' <3>: Arrays. (line 136)
-* 'reverse' <4>: three. (line 480)
+* 'reverse' <4>: three. (line 483)
* rewind: Files. (line 93)
-* 'rfind': Data types. (line 245)
+* 'rfind': Data types. (line 246)
* 'rgb': Pens. (line 30)
* 'rgb' <1>: Pens. (line 58)
* Riemann zeta function: Mathematical functions.
@@ -9596,9 +9639,9 @@ Index
* 'RightSide': label. (line 60)
* 'RightTicks': graph. (line 160)
* 'RightTicks' <1>: graph. (line 233)
-* 'RightView': three. (line 366)
+* 'RightView': three. (line 369)
* 'Rotate': label. (line 36)
-* 'rotate': three. (line 434)
+* 'rotate': three. (line 437)
* 'Rotate(pair z)': label. (line 39)
* 'round': Mathematical functions.
(line 26)
@@ -9621,8 +9664,8 @@ Index
* 'scale' <2>: Transforms. (line 36)
* 'scale' <3>: graph. (line 690)
* 'Scale' <1>: graph. (line 707)
-* 'scale' <4>: three. (line 433)
-* 'scale3': three. (line 431)
+* 'scale' <4>: three. (line 436)
+* 'scale3': three. (line 434)
* scaled graph: graph. (line 670)
* scientific graph: graph. (line 387)
* 'scroll': Files. (line 109)
@@ -9634,7 +9677,7 @@ Index
* secondary axis: graph. (line 833)
* 'secondaryX': graph. (line 833)
* 'secondaryY': graph. (line 833)
-* 'seconds': Data types. (line 321)
+* 'seconds': Data types. (line 322)
* 'seek': Files. (line 93)
* 'seekeof': Files. (line 93)
* 'segment': math. (line 50)
@@ -9651,11 +9694,11 @@ Index
* 'shift': Transforms. (line 26)
* 'shift' <1>: Transforms. (line 28)
* 'shift' <2>: Transforms. (line 44)
-* 'shift' <3>: three. (line 423)
+* 'shift' <3>: three. (line 426)
* 'shiftless': Transforms. (line 44)
* 'shipout': Frames and pictures.
(line 91)
-* 'showtarget': three. (line 315)
+* 'showtarget': three. (line 318)
* 'Si': Mathematical functions.
(line 48)
* 'signedint': Files. (line 76)
@@ -9675,21 +9718,21 @@ Index
* 'singlereal' <1>: Files. (line 89)
* 'sinh': Mathematical functions.
(line 6)
-* 'SixViews': three. (line 381)
-* 'SixViewsFR': three. (line 381)
-* 'SixViewsUS': three. (line 381)
+* 'SixViews': three. (line 384)
+* 'SixViewsFR': three. (line 384)
+* 'SixViewsUS': three. (line 384)
* 'size': Paths and guides. (line 81)
* 'size' <1>: Paths and guides. (line 370)
* 'size' <2>: Frames and pictures.
(line 48)
* 'size' <3>: Frames and pictures.
(line 74)
-* 'size' <4>: three. (line 480)
+* 'size' <4>: three. (line 483)
* 'size' <5>: Options. (line 146)
-* 'size3': three. (line 240)
+* 'size3': three. (line 243)
* 'Slant': label. (line 42)
* 'slant': Transforms. (line 38)
-* 'sleep': Data types. (line 367)
+* 'sleep': Data types. (line 368)
* 'slice': Paths and guides. (line 251)
* 'slice' <1>: Paths and guides. (line 262)
* slices: Slices. (line 6)
@@ -9697,6 +9740,7 @@ Index
* 'slope': math. (line 44)
* 'slope' <1>: math. (line 47)
* 'slopefield': slopefield. (line 6)
+* 'smoothcontour3': smoothcontour3. (line 6)
* 'sncndn': Mathematical functions.
(line 48)
* 'solid': Pens. (line 98)
@@ -9708,7 +9752,7 @@ Index
* 'sort' <2>: Arrays. (line 193)
* 'Spline': graph. (line 33)
* 'Spline' <1>: graph3. (line 99)
-* 'split': Data types. (line 277)
+* 'split': Data types. (line 278)
* 'sqrt': Mathematical functions.
(line 6)
* 'squarecap': Pens. (line 135)
@@ -9726,34 +9770,32 @@ Index
* 'stop': Debugger. (line 10)
* 'straight': Paths and guides. (line 88)
* 'Straight': graph. (line 30)
-* 'straight' <1>: three. (line 480)
-* 'strftime': Data types. (line 312)
-* 'strftime' <1>: Data types. (line 337)
-* 'string': Data types. (line 206)
-* 'string' <1>: Data types. (line 303)
+* 'straight' <1>: three. (line 483)
+* 'strftime': Data types. (line 313)
+* 'strftime' <1>: Data types. (line 338)
+* 'string': Data types. (line 207)
+* 'string' <1>: Data types. (line 304)
* 'stroke': fill. (line 36)
* 'stroke' <1>: fill. (line 113)
* 'strokepath': Paths and guides. (line 309)
-* 'strptime': Data types. (line 321)
+* 'strptime': Data types. (line 322)
* 'struct': Structures. (line 6)
* structures: Structures. (line 6)
* 'subpath': Paths and guides. (line 186)
-* 'subpath' <1>: three. (line 480)
+* 'subpath' <1>: three. (line 483)
* subpictures: Frames and pictures.
(line 113)
-* 'substr': Data types. (line 260)
-* Subversion: Subversion. (line 6)
+* 'substr': Data types. (line 261)
* 'sum': Arrays. (line 205)
* superpath: Tutorial. (line 130)
* 'Suppress': Pens. (line 347)
* 'SuppressQuiet': Pens. (line 351)
* 'surface': three. (line 46)
* 'surface' <1>: three. (line 87)
-* 'surface' <2>: three. (line 98)
+* 'surface' <2>: three. (line 101)
* 'surface' <3>: graph3. (line 99)
* 'SVG': Options. (line 151)
-* SVN: Subversion. (line 6)
-* 'system': Data types. (line 345)
+* 'system': Data types. (line 346)
* 'system' <1>: Options. (line 170)
* 'syzygy': syzygy. (line 6)
* 'tab': Files. (line 61)
@@ -9764,22 +9806,22 @@ Index
(line 20)
* 'tanh': Mathematical functions.
(line 6)
-* 'target': three. (line 315)
+* 'target': three. (line 318)
* 'tell': Files. (line 93)
* 'tension': Bezier curves. (line 56)
* 'tension' <1>: three. (line 6)
* 'tensionSpecifier': Paths and guides. (line 402)
* tensor product shading: fill. (line 77)
* 'tensorshade': fill. (line 77)
-* 'tessellation': three. (line 110)
+* 'tessellation': three. (line 113)
* 'tex': Frames and pictures.
(line 300)
* 'tex' <1>: Options. (line 146)
* 'TeX fonts': Pens. (line 211)
-* TeX string: Data types. (line 206)
+* TeX string: Data types. (line 207)
* 'texcommand': Configuring. (line 65)
* 'TeXHead': draw. (line 26)
-* 'TeXHead3': three. (line 543)
+* 'TeXHead3': three. (line 546)
* 'texpath': Configuring. (line 65)
* 'texpath' <1>: label. (line 113)
* 'texpreamble': Frames and pictures.
@@ -9789,13 +9831,13 @@ Index
* textbook graph: graph. (line 360)
* 'tgz': UNIX binary distributions.
(line 6)
-* 'thick': three. (line 121)
-* 'thin': three. (line 121)
+* 'thick': three. (line 124)
+* 'thin': three. (line 124)
* 'this': Structures. (line 6)
* 'three': three. (line 6)
-* 'ThreeViews': three. (line 381)
-* 'ThreeViewsFR': three. (line 381)
-* 'ThreeViewsUS': three. (line 381)
+* 'ThreeViews': three. (line 384)
+* 'ThreeViewsFR': three. (line 384)
+* 'ThreeViewsUS': three. (line 384)
* tick: graph. (line 330)
* 'ticks': graph. (line 160)
* 'Ticks': graph. (line 160)
@@ -9803,38 +9845,38 @@ Index
* 'tildeframe': markers. (line 24)
* tile: Pens. (line 265)
* tilings: Pens. (line 251)
-* 'time': Data types. (line 312)
-* 'time' <1>: Data types. (line 337)
+* 'time': Data types. (line 313)
+* 'time' <1>: Data types. (line 338)
* 'time' <2>: math. (line 30)
* 'time' <3>: math. (line 34)
* 'times': Paths and guides. (line 220)
* 'times' <1>: Paths and guides. (line 224)
* 'Top': graph. (line 135)
-* 'TopView': three. (line 366)
+* 'TopView': three. (line 369)
* 'trace': Debugger. (line 50)
* 'trailingzero': graph. (line 175)
* 'transform': Transforms. (line 6)
-* 'transform' <1>: three. (line 455)
-* 'transform3': three. (line 418)
+* 'transform' <1>: three. (line 458)
+* 'transform3': three. (line 421)
* transparency: Pens. (line 233)
* 'transpose': Arrays. (line 197)
* 'transpose' <1>: Arrays. (line 200)
* 'tree': tree. (line 6)
* 'trembling': trembling. (line 6)
* 'triangle': geometry. (line 6)
-* 'triangles': three. (line 110)
+* 'triangles': three. (line 113)
* 'triangulate': contour. (line 149)
* 'tridiagonal': Arrays. (line 255)
* trigonometric integrals: Mathematical functions.
(line 48)
-* 'triple': Data types. (line 136)
+* 'triple': Data types. (line 137)
* 'TrueMargin': draw. (line 42)
-* 'TrueMargin3': three. (line 559)
-* 'tube': three. (line 121)
+* 'TrueMargin3': three. (line 562)
+* 'tube': three. (line 124)
* 'tube' <1>: tube. (line 6)
* tutorial: Tutorial. (line 6)
* 'type1cm': Pens. (line 188)
-* 'typedef': Data types. (line 376)
+* 'typedef': Data types. (line 377)
* 'typedef' <1>: Functions. (line 39)
* 'U3D': embed. (line 22)
* 'undefined': Paths and guides. (line 283)
@@ -9848,13 +9890,13 @@ Index
* 'uniform': Arrays. (line 145)
* Uninstall: Uninstall. (line 6)
* 'unique': math. (line 63)
-* 'unit': Data types. (line 82)
-* 'unit' <1>: Data types. (line 172)
+* 'unit': Data types. (line 83)
+* 'unit' <1>: Data types. (line 173)
* 'unitbox': Tutorial. (line 151)
-* 'unitbox' <1>: three. (line 287)
+* 'unitbox' <1>: three. (line 290)
* 'unitcircle': Tutorial. (line 124)
* 'unitcircle' <1>: Tutorial. (line 124)
-* 'unitcircle' <2>: three. (line 255)
+* 'unitcircle' <2>: three. (line 258)
* 'unitrand': Mathematical functions.
(line 39)
* 'unitsize': Tutorial. (line 84)
@@ -9864,7 +9906,7 @@ Index
(line 6)
* unpacking: Rest arguments. (line 39)
* 'unravel': Import. (line 29)
-* 'up': three. (line 315)
+* 'up': three. (line 318)
* 'update': Files. (line 36)
* 'UpsideDown': Frames and pictures.
(line 104)
@@ -9875,7 +9917,7 @@ Index
* user coordinates: Tutorial. (line 84)
* user-defined operators: User-defined operators.
(line 6)
-* 'usleep': Data types. (line 370)
+* 'usleep': Data types. (line 371)
* 'value': math. (line 38)
* 'value' <1>: math. (line 41)
* 'var': Variable initializers.
@@ -9891,10 +9933,10 @@ Index
* vertex-dependent colors: three. (line 79)
* 'Vertical': flowchart. (line 77)
* 'viewportheight': LaTeX usage. (line 50)
-* 'viewportmargin': three. (line 243)
-* 'viewportsize': three. (line 243)
+* 'viewportmargin': three. (line 246)
+* 'viewportsize': three. (line 246)
* 'viewportwidth': LaTeX usage. (line 50)
-* 'views': three. (line 212)
+* 'views': three. (line 215)
* 'vim': Editing modes. (line 32)
* virtual functions: Structures. (line 181)
* 'void': Data types. (line 10)
@@ -9908,8 +9950,8 @@ Index
* 'windingnumber': Paths and guides. (line 283)
* 'word': Arrays. (line 343)
* 'write': Files. (line 53)
-* 'write' <1>: Arrays. (line 383)
-* 'X': three. (line 255)
+* 'write' <1>: Arrays. (line 382)
+* 'X': three. (line 258)
* 'xasy': GUI. (line 6)
* 'xaxis3': graph3. (line 7)
* 'xdr': Files. (line 76)
@@ -9919,13 +9961,13 @@ Index
* 'xlimits': graph. (line 639)
* 'XOR': Arithmetic & logical.
(line 63)
-* 'xpart': Data types. (line 93)
-* 'xpart' <1>: Data types. (line 183)
+* 'xpart': Data types. (line 94)
+* 'xpart' <1>: Data types. (line 184)
* 'xscale': Transforms. (line 30)
-* 'xscale3': three. (line 425)
+* 'xscale3': three. (line 428)
* xtick: graph. (line 330)
-* 'XY': three. (line 440)
-* 'XY' <1>: three. (line 455)
+* 'XY': three. (line 443)
+* 'XY' <1>: three. (line 458)
* 'XYEquals': graph3. (line 21)
* 'XYZero': graph3. (line 21)
* 'XZEquals': graph3. (line 21)
@@ -9935,22 +9977,22 @@ Index
(line 6)
* 'Y' <1>: Mathematical functions.
(line 48)
-* 'Y' <2>: three. (line 255)
+* 'Y' <2>: three. (line 258)
* 'yaxis3': graph3. (line 7)
* 'YEquals': graph. (line 128)
* 'yequals': graph. (line 278)
* 'ylimits': graph. (line 639)
-* 'ypart': Data types. (line 96)
-* 'ypart' <1>: Data types. (line 186)
+* 'ypart': Data types. (line 97)
+* 'ypart' <1>: Data types. (line 187)
* 'yscale': Transforms. (line 32)
-* 'yscale3': three. (line 427)
+* 'yscale3': three. (line 430)
* ytick: graph. (line 330)
-* 'YX': three. (line 455)
-* 'YZ': three. (line 455)
+* 'YX': three. (line 458)
+* 'YZ': three. (line 458)
* 'YZEquals': graph3. (line 21)
* 'YZero': graph. (line 123)
* 'YZZero': graph3. (line 21)
-* 'Z': three. (line 255)
+* 'Z': three. (line 258)
* 'zaxis3': graph3. (line 7)
* 'zerowinding': Pens. (line 160)
* 'zero_Ai': Mathematical functions.
@@ -9965,155 +10007,156 @@ Index
(line 48)
* 'zeta': Mathematical functions.
(line 48)
-* 'zpart': Data types. (line 189)
-* 'zscale3': three. (line 429)
-* 'ZX': three. (line 455)
-* 'ZX' <1>: three. (line 455)
-* 'ZY': three. (line 455)
+* 'zpart': Data types. (line 190)
+* 'zscale3': three. (line 432)
+* 'ZX': three. (line 458)
+* 'ZX' <1>: three. (line 458)
+* 'ZY': three. (line 458)

Tag Table:
Node: Top570
-Node: Description6852
-Node: Installation10467
-Node: UNIX binary distributions11502
-Node: MacOS X binary distributions12607
-Node: Microsoft Windows13161
-Ref: psview13886
-Node: Configuring14822
-Node: Search paths19057
-Node: Compiling from UNIX source19896
-Node: Editing modes22911
-Node: Subversion25339
-Node: Uninstall25787
-Node: Tutorial26137
-Ref: unitcircle30685
-Node: Drawing commands32830
-Node: draw34545
-Ref: arrows35702
-Node: fill40950
-Ref: gradient shading41996
-Node: clip46558
-Node: label47154
-Ref: Label47754
-Node: Bezier curves53598
-Node: Programming57495
-Ref: array iteration58310
-Node: Data types59415
-Ref: format69817
-Node: Paths and guides74118
-Ref: circle74372
-Ref: extension84054
-Node: Pens90833
-Ref: fillrule98340
-Ref: basealign99244
-Ref: transparency102078
-Ref: makepen105623
-Ref: overwrite106501
-Node: Transforms107715
-Node: Frames and pictures109497
-Ref: envelope110655
-Ref: size111748
-Ref: unitsize112735
-Ref: shipout113808
-Ref: filltype116159
-Ref: add119331
-Ref: add about120280
-Ref: tex123284
-Node: Files124179
-Ref: cd125166
-Ref: scroll129851
-Node: Variable initializers132769
-Node: Structures135486
-Node: Operators142964
-Node: Arithmetic & logical143278
-Node: Self & prefix operators145219
-Node: User-defined operators146008
-Node: Implicit scaling146918
-Node: Functions147481
-Ref: stack overflow150266
-Node: Default arguments150831
-Node: Named arguments151569
-Node: Rest arguments154139
-Node: Mathematical functions157260
-Node: Arrays161923
-Ref: sort168905
-Ref: tridiagonal171334
-Ref: solve172565
+Node: Description6909
+Node: Installation10524
+Node: UNIX binary distributions11559
+Node: MacOS X binary distributions12664
+Node: Microsoft Windows13218
+Ref: psview13943
+Node: Configuring14879
+Node: Search paths19114
+Node: Compiling from UNIX source19953
+Node: Editing modes22981
+Node: Git25402
+Node: Uninstall25801
+Node: Tutorial26144
+Ref: unitcircle30692
+Node: Drawing commands32837
+Node: draw34552
+Ref: arrows35709
+Node: fill40957
+Ref: gradient shading42003
+Node: clip46565
+Node: label47161
+Ref: Label47761
+Node: Bezier curves53605
+Node: Programming57502
+Ref: array iteration58317
+Node: Data types59422
+Ref: format69852
+Node: Paths and guides74153
+Ref: circle74407
+Ref: extension84089
+Node: Pens90868
+Ref: fillrule98375
+Ref: basealign99279
+Ref: transparency102113
+Ref: makepen105658
+Ref: overwrite106536
+Node: Transforms107750
+Node: Frames and pictures109532
+Ref: envelope110690
+Ref: size111783
+Ref: unitsize112770
+Ref: shipout113843
+Ref: filltype116194
+Ref: add119366
+Ref: add about120315
+Ref: tex123319
+Node: Files124214
+Ref: cd125201
+Ref: scroll129886
+Node: Variable initializers132804
+Node: Structures135521
+Node: Operators143018
+Node: Arithmetic & logical143332
+Node: Self & prefix operators145273
+Node: User-defined operators146062
+Node: Implicit scaling146972
+Node: Functions147535
+Ref: stack overflow150320
+Node: Default arguments150885
+Node: Named arguments151623
+Node: Rest arguments154193
+Node: Mathematical functions157314
+Node: Arrays161977
+Ref: sort168959
+Ref: tridiagonal171388
+Ref: solve172619
Node: Slices176758
Node: Casts180651
Node: Import182622
Node: Static187869
Node: LaTeX usage190762
Node: Base modules197242
-Node: plain199742
-Node: simplex200395
-Node: math200669
-Node: interpolate203378
-Node: geometry203657
-Node: trembling204251
-Node: stats204520
-Node: patterns204780
-Node: markers205016
-Node: tree206876
-Node: binarytree207061
-Node: drawtree207727
-Node: syzygy207928
-Node: feynman208202
-Node: roundedpath208477
-Node: animation208760
-Ref: animate209181
-Node: embed210298
-Node: slide211253
-Node: MetaPost211594
-Node: unicode212313
-Node: latin1213187
-Node: babel213556
-Node: labelpath213786
-Node: labelpath3214607
-Node: annotate214918
-Node: CAD215388
-Node: graph215699
-Ref: ticks222838
-Ref: pathmarkers236433
-Ref: marker236903
-Ref: markuniform237257
-Ref: errorbars239055
-Ref: automatic scaling243339
-Node: palette254645
-Ref: images254763
-Ref: image258937
-Ref: logimage259457
-Ref: penimage260562
-Ref: penfunctionimage260824
-Node: three261595
-Ref: PostScript3D288387
-Node: obj290126
-Node: graph3290375
-Ref: GaussianSurface295654
-Node: grid3296803
-Node: solids297587
-Node: tube298579
-Node: flowchart300813
-Node: contour305421
-Node: contour3310728
-Node: slopefield311035
-Node: ode312517
-Node: Options312774
-Ref: configuration file318914
-Ref: settings318914
-Ref: texengines320157
-Ref: convert320157
-Node: Interactive mode323480
-Ref: history325629
-Node: GUI326933
-Node: GUI installation327437
-Node: GUI usage328562
-Node: PostScript to Asymptote329470
-Node: Help330228
-Node: Debugger331918
-Node: Credits333674
-Node: Index334608
+Node: plain199799
+Node: simplex200452
+Node: math200726
+Node: interpolate203435
+Node: geometry203714
+Node: trembling204308
+Node: stats204577
+Node: patterns204837
+Node: markers205073
+Node: tree206933
+Node: binarytree207118
+Node: drawtree207784
+Node: syzygy207985
+Node: feynman208259
+Node: roundedpath208534
+Node: animation208817
+Ref: animate209238
+Node: embed210355
+Node: slide211310
+Node: MetaPost211651
+Node: unicode212370
+Node: latin1213244
+Node: babel213613
+Node: labelpath213843
+Node: labelpath3214664
+Node: annotate214975
+Node: CAD215445
+Node: graph215756
+Ref: ticks222895
+Ref: pathmarkers236475
+Ref: marker236945
+Ref: markuniform237299
+Ref: errorbars239097
+Ref: automatic scaling243381
+Node: palette254657
+Ref: images254775
+Ref: image258949
+Ref: logimage259469
+Ref: penimage260574
+Ref: penfunctionimage260836
+Node: three261607
+Ref: PostScript3D288606
+Node: obj290345
+Node: graph3290594
+Ref: GaussianSurface295873
+Node: grid3297022
+Node: solids297806
+Node: tube298798
+Node: flowchart301032
+Node: contour305640
+Node: contour3310951
+Node: smoothcontour3311264
+Node: slopefield312934
+Node: ode314422
+Node: Options314679
+Ref: configuration file320819
+Ref: settings320819
+Ref: texengines322062
+Ref: convert322062
+Node: Interactive mode325385
+Ref: history327534
+Node: GUI328838
+Node: GUI installation329342
+Node: GUI usage330242
+Node: PostScript to Asymptote331150
+Node: Help331908
+Node: Debugger333584
+Node: Credits335340
+Node: Index336274

End Tag Table
diff --git a/Build/source/utils/asymptote/doc/secondaryaxis.asy b/Build/source/utils/asymptote/doc/secondaryaxis.asy
index 39f802f935d..27b89b9c384 100644
--- a/Build/source/utils/asymptote/doc/secondaryaxis.asy
+++ b/Build/source/utils/asymptote/doc/secondaryaxis.asy
@@ -8,7 +8,7 @@ file in=input(data).line().csv();
string[] titlelabel=in;
string[] columnlabel=in;
-real[][] a=in.dimension(0,0);
+real[][] a=in;
a=transpose(a);
real[] t=a[0], susceptible=a[1], infectious=a[2], dead=a[3], larvae=a[4];
real[] susceptibleM=a[5], exposed=a[6],infectiousM=a[7];
diff --git a/Build/source/utils/asymptote/doc/westnile.asy b/Build/source/utils/asymptote/doc/westnile.asy
index 7f63047983f..222bb38e05e 100644
--- a/Build/source/utils/asymptote/doc/westnile.asy
+++ b/Build/source/utils/asymptote/doc/westnile.asy
@@ -7,7 +7,7 @@ file in=input(data).line().csv();
string[] columnlabel=in;
-real[][] A=in.dimension(0,0);
+real[][] A=in;
A=transpose(A);
real[] number=A[0], survival=A[1];