Commit 5c81de5a authored by slevy's avatar slevy
Browse files

Update for version 0.93:

rgb888 => full-24-bit-color colorindex (like rgb565)
vec, vecscale, vecalpha commands
ctrl-S to toggle left/right stereo

New but undocumented features:
insist on using GLEW library  (need update to build instructions)
    snapshot's [-q jpeg_quality]
pixelaspect command
parent 2101bcf7
......@@ -38,7 +38,7 @@ should take care of the two possible options.</P>
</H2>
<P>Also make sure <CODE>FLTK</CODE> is installed, from fltk.org.
FLTK versions 1.1.x (e.g. 1.1.7, 1.1.9, ...) work.
FLTK versions 1.3.x (e.g. 1.1.7, 1.1.9, ...) work.
FLTK 2 will not work with partiview.</P>
<P>If you're not sure whether you already have it, try</P>
<P>
......@@ -50,7 +50,7 @@ FLTK 2 will not work with partiview.</P>
if they fail, then
% cd &lt;where-ever&gt;/fltk-1.1.9
% cd &lt;where-ever&gt;/fltk-1.3.0
% make install
</PRE>
......@@ -115,19 +115,21 @@ Here's a sample session with some commonly used CVS commands:</P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
setenv CVSROOT :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot
export CVSROOT :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot
setenv CVSEDITOR emacs
cvs login (only needed once, and only for pserver type access)
cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot login
# only needed once, to set up "pserver" CVS access
cvs checkout partiview # get a new local sandbox to work in, or
cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot checkout partiview
# get a new local sandbox to work in, or
cd partiview # goto the root directory of partiview
cvs -n -q update # check if others had made any changes
cvs update # if so, update your sandbox and/or resolve conflicts
cd partiview/src # goto the 'src' directory of partiview
./configure --with-fltk=/some/where/fltk-1.1.something/ ...
./configure --with-fltk=/some/where/fltk-1.3.something/ --with-glew=/some/where/glew...
emacs partibrains.c # edit some files
make all # compile the program
......@@ -147,59 +149,22 @@ Here's a sample session with some commonly used CVS commands:</P>
<H2><A NAME="ss1.5">1.5</A> <A HREF="partiview.html#toc1.5">Compiling under Windows</A>
</H2>
<P>Partiview can be compiled from the command line on Windows using either the
Microsoft Visual C tools (<CODE>cl, nmake,</CODE> etc.) or using <CODE>gcc/g++</CODE> with
<CODE>MinGW32, MSYS and w32api</CODE>. The MinGW route is currently the only way
<P>Partiview can be compiled from the command line on Windows using
<CODE>gcc/g++</CODE> with
<CODE>MinGW32, MSYS and w32api</CODE> (see <CODE>http://mingw.org/</CODE>). The MinGW route is currently the only way
to compile with kira/Starlab support. There's no provision for building
partiview within the MS Visual Studio GUI.</P>
<P>To compile with Microsoft C:</P>
<P>
<OL>
<LI> Install FLTK using MS Visual C++ as described in its documentation.</LI>
<LI> Unpack the <CODE>partiview</CODE> distribution from its tarball or via CVS.</LI>
<LI> Edit the file <CODE>partiview/src/partiview.mak</CODE>,
changing <CODE>FLTK_DIR</CODE> as appropriate.</LI>
<LI> Run the <CODE>vcvars32.bat</CODE> script from the Developer Studio <CODE>Bin</CODE>
directory; this will set the MSVCDIR environment variable,
add the <CODE>Bin</CODE> directory to PATH, etc.</LI>
<LI> In the <CODE>partiview/src</CODE> directory, compile with
<BLOCKQUOTE><CODE>
<PRE>
nmake -f partiview.mak
</PRE>
</CODE></BLOCKQUOTE>
Dependencies are <I>not</I> properly maintained by this Makefile, so
use <CODE>nmake -f partiview.mak clean</CODE> if you change anything.</LI>
</OL>
</P>
partiview within the MS Visual Studio GUI. Mingw64 has not been tested, only Mingw32.</P>
<P>To compile with MinGW and company, you'll need to:
<OL>
<LI> Install <CODE>MinGW</CODE> (gcc, etc.), its associated <CODE>w32api</CODE>
libraries and header files, and the <CODE>MSYS</CODE> suite of
UNIX-like tools. All three packages are available at:
<A HREF="http://www.sourceforge.net/projects/mingw/">http://www.sourceforge.net/projects/mingw/</A>
Unpack the .zip or .tar archives of MinGW and w32api;
both packages are intended to live in the same directory.
The MSYS package comes as a self-extracting archive and
can be extracted into a different directory as desired.
(But don't attempt to merge the MSYS <CODE>bin</CODE> directory contents
into <CODE>mingw/bin</CODE>.)</LI>
<LI> Add both the MSYS <CODE>bin</CODE> subdirectory and MinGW <CODE>bin</CODE>
subdirectory to the Windows PATH environment variable,
with the MSYS directory coming earlier, e.g. in a command window
<BLOCKQUOTE><CODE>
<PRE>
set path=%path%;C:\util\msys\1.0\bin;C:\util\mingw\bin
</PRE>
</CODE></BLOCKQUOTE>
or the analogous setting of PATH using (on WinNT/2000 at least)
<CODE>My Computer -> Control Panel -> System -> Environment</CODE>
to make a permanent change to PATH.
<LI> Install <CODE>MinGW</CODE> (gcc, etc.),
and the <CODE>MSYS</CODE> suite of
UNIX-like tools. It's easiest to simply fetch and run the mingw installer. See the Download link in:
<A HREF="http://mingw.org">http://mingw.org</A></LI>
<LI> Install into a directory such as <CODE>C:\MinGW</CODE>.</LI>
<LI> Open a MinGW shell: invoke msys.bat, which will be under something like <CODE>C:\MinGW\MSys\1.0\msys.bat</CODE>.
</LI>
<LI> Use MinGW to build FLTK. (FLTK 1.1.x, e.g. 1.1.9, works with partiview. FLTK 2.0 won't work.
<LI> Use MinGW to build FLTK. (FLTK 1.3.x, e.g. 1.3.0, works with partiview. FLTK 2.0 won't work.
Not sure about versions in between.) Unpack the FLTK source distribution and say
<BLOCKQUOTE><CODE>
<PRE>
......@@ -211,11 +176,6 @@ Not sure about versions in between.) Unpack the FLTK source distribution and s
</LI>
<LI> Build the Starlab libraries, if desired:
<OL>
<LI>You may need to install CVS for Windows. Binary packages
are available; follow the Win32 link on
<A HREF="http://www.cvshome.org/downloads.html">http://www.cvshome.org/downloads.html</A>.
Put the resulting cvs.exe file into the PATH somewhere.
</LI>
<LI>Use CVS to checkout the Starlab sources into some directory:
<BLOCKQUOTE><CODE>
<PRE>
......@@ -263,7 +223,7 @@ and Starlab is in <CODE>F:\src\starlab</CODE>, then you might build
partiview by typing
<BLOCKQUOTE><CODE>
<PRE>
sh configure --with-fltk=/c/util/fltk-1.1.9 --with-kira=/f/src/starlab
sh configure --with-fltk=/c/util/fltk-1.3.0 --with-kira=/f/src/starlab
make
</PRE>
</CODE></BLOCKQUOTE>
......
......@@ -324,10 +324,11 @@ or else specify a file format string with <CODE>snapset</CODE>
and then let <CODE>snapshot</CODE> fill in the frame number.
With neither <I>FRAMENO</I> nor <I>FILENAME</I>,
<CODE>snapset</CODE> adds one to the previous frame number.</P>
<P><CODE>Partiview</CODE> generally invokes the ImageMagick program <CODE>convert(1)</CODE>,
which must be installed and be on the user's $PATH. <CODE>Convert</CODE> determines
the type of image (jpeg, sgi, bmp, etc.) based on the file suffix.</P>
<P><CODE>Convert</CODE> is not needed if the <CODE>snapset</CODE> <I>FILESTEM</I> ends in
<P>If <I>FILENAME</I> contains an <CODE>@</CODE> sign, then snapshot records a stereo pair of images, using current stereo, focallen, etc. settings. The left-eye and right-eye views are saved in files with any <CODE>@</CODE> replaced with <CODE>L</CODE> and <CODE>R</CODE> respectively.</P>
<P>If built with the JPEG and/or PNG libraries, <CODE>partiview</CODE> can write those types of images directly (determined by suffix: jpg, jpeg, png, ppm).
Writing other image types, it generally invokes the ImageMagick program <CODE>convert(1)</CODE>,
which must be installed and be on the user's $PATH.</P>
<P><CODE>Convert</CODE> is never needed if the <CODE>snapset</CODE> <I>FILESTEM</I> ends in
<CODE>.ppm.gz</CODE> (invokes gzip rather than convert) or <CODE>.ppm</CODE>
(no external program required).</P>
......@@ -401,6 +402,42 @@ to its screen area) becomes proportional to the attribute / distance^2.</P>
<P>Specify a minimum screen radius for polygons, in pixels.
If smaller than this, they are not drawn.</P>
<DT><B>vec [<CODE>off|on|arrow</CODE>]</B><DD>
<P>Draw a vector at each point, determined by triple of attributes specified by <CODE>vecvar</CODE> data command.
With "arrow", draws an arrowhead on each vector, with 3-D size equal to
the vector's length times the 'arrowscale' (second parameter to <CODE>vecscale</CODE> command). The arrowhead always
lies in the screen plane, so its size gives a cue to the vector's
true 3-D length (e.g. when the vector is viewed nearly end-on,
even a small arrowhead can look longer than the vector does).
This also means that arrowheads flip orientation when a vector
passes through being seen nearly end-on.</P>
<P>Example:
<PRE>
datavar 0 mass
datavar 1 vx
datavar 2 vy
datavar 3 vz
vecvar vx
eval vec on
eval vecscale 0.5
...
eval vec arrow
eval vecscale 0.5 0.125 # show arrow at tip of each vector
</PRE>
</P>
<DT><B>vecscale [<I>scale</I> <I>arrowscale</I>]</B><DD>
<P>Set scale of vectors drawn by vec, as multiple of the triple of attributes specified by data-command <CODE>vecvar</CODE>.</P>
<P>Arrowhead size is set by a new second parameter to "vecscale".
Defaults are 1.0 and 0.25, meaning that arrowheads are a quarter the main vector's length.</P>
<DT><B>vecalpha [<I>alpha</I>]</B><DD>
<P>Set the opacity of all vectors. If too many are overlapping, a small value (e.g. <I>vecalpha 0.1</I>) will help see through more of them.</P>
<DT><B>color</B><DD>
<P>Specify how particles are colored.
Generally, a linear function of some data field of each particle
......@@ -432,6 +469,7 @@ variable again, use <CODE>-exact</CODE>.</P>
independent of any data fields.</P>
</DL>
</P>
<P>Note: if <I>colorvar</I> is named <CODE>rgb565</CODE> or <CODE>rgb888</CODE>, it is interpreted specially: as a 16-bit (rgb565) or 24-bit (rgb888) integer containing the red, green and blue color values in 5-6-5 or 8-8-8-bit encoding. Red is most significant.</P>
<DT><B>lum</B><DD>
<P>Specify how particles' intrinsic luminosity is computed:
......@@ -1409,9 +1447,9 @@ as time passes.</P>
initially 50.</P>
<DT><B> kira hrdiag on|off </B><DD>
<P>toggle to turn HD Diagram on or off. Initially off.</P>
<P>toggle to turn HR Diagram on or off. Initially off.</P>
<DT><B> kira hrdiag range <I>logTleft logTright logLbottom logLtop</I> </B><DD>
<P>set limits on the HD Diagram axes.</P>
<P>set limits on the HR Diagram axes.</P>
</DL>
</P>
......
......@@ -26,6 +26,9 @@ TAB change focus to command window for Control Commands
S/s toggle STEREO mode (need blue/red glasses :-)
modes: mono redcyan crosseyed glasses
See also the 'stereo' View Command
ctrl-S toggle between left and right stereo views,
using current settings for focal length etc.
Type e.g. "0s" to return to mono view.
> single frame forward stepping, in time animation mode
&lt; single frame backward stepping, in time animation mode
......
......@@ -14,7 +14,7 @@ Contents
<HR>
<H1> Partiview (PC-VirDir)</H1>
<H2>Peter Teuben, Stuart Levy</H2> 27 April 2010
<H2>Peter Teuben, Stuart Levy</H2> 1 December 2013
<HR>
<EM>partiview is a program that enables you to visualize and animate
particle data. partiview runs on relatively simple desktops and
......
......@@ -31,6 +31,17 @@
<!--
$Log$
Revision 1.28 2013/12/08 21:14:05 slevy
Update for version 0.93:
rgb888 => full-24-bit-color colorindex (like rgb565)
vec, vecscale, vecalpha commands
ctrl-S to toggle left/right stereo
New but undocumented features:
insist on using GLEW library (need update to build instructions)
snapshot's [-q jpeg_quality]
pixelaspect command
Revision 1.27 2011/12/07 16:24:42 slevy
Describe vecvar command.
Update derived files.
......@@ -74,7 +85,7 @@
<title> Partiview (PC-VirDir)
<author> Peter Teuben, Stuart Levy
<date> 27 April 2010
<date> 1 December 2013
<abstract>
......@@ -120,7 +131,7 @@ should take care of the two possible options.
<sect1> FLTK
<p>
Also make sure <tt/FLTK/ is installed, from fltk.org.
FLTK versions 1.1.x (e.g. 1.1.7, 1.1.9, ...) work.
FLTK versions 1.3.x (e.g. 1.1.7, 1.1.9, ...) work.
FLTK 2 will not work with partiview.
If you're not sure whether you already have it, try
......@@ -131,7 +142,7 @@ If you're not sure whether you already have it, try
if they fail, then
% cd &lt;where-ever&gt;/fltk-1.1.9
% cd &lt;where-ever&gt;/fltk-1.3.0
% make install
</code></tscreen>
......@@ -191,19 +202,21 @@ Currently the CVS repository machine is <tt/cvs.astro.umd.edu/.
Here's a sample session with some commonly used CVS commands:
<tscreen><code>
setenv CVSROOT :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot
export CVSROOT :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot
setenv CVSEDITOR emacs
cvs login (only needed once, and only for pserver type access)
cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot login
# only needed once, to set up "pserver" CVS access
cvs checkout partiview # get a new local sandbox to work in, or
cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot checkout partiview
# get a new local sandbox to work in, or
cd partiview # goto the root directory of partiview
cvs -n -q update # check if others had made any changes
cvs update # if so, update your sandbox and/or resolve conflicts
cd partiview/src # goto the 'src' directory of partiview
./configure --with-fltk=/some/where/fltk-1.1.something/ ...
./configure --with-fltk=/some/where/fltk-1.3.something/ --with-glew=/some/where/glew...
emacs partibrains.c # edit some files
make all # compile the program
......@@ -220,55 +233,24 @@ Here's a sample session with some commonly used CVS commands:
<sect1> Compiling under Windows
<p>
Partiview can be compiled from the command line on Windows using either the
Microsoft Visual C tools (<tt/cl, nmake,/ etc.) or using <tt>gcc/g++</tt> with
<tt/MinGW32, MSYS and w32api/. The MinGW route is currently the only way
Partiview can be compiled from the command line on Windows using
<tt>gcc/g++</tt> with
<tt/MinGW32, MSYS and w32api/ (see <tt>http://mingw.org/</tt>). The MinGW route is currently the only way
to compile with kira/Starlab support. There's no provision for building
partiview within the MS Visual Studio GUI.
To compile with Microsoft C:
<p>
<enum>
<item> Install FLTK using MS Visual C++ as described in its documentation.
<item> Unpack the <tt/partiview/ distribution from its tarball or via CVS.
<item> Edit the file <tt>partiview/src/partiview.mak</tt>,
changing <tt/FLTK_DIR/ as appropriate.
<item> Run the <tt/vcvars32.bat/ script from the Developer Studio <tt/Bin/
directory; this will set the MSVCDIR environment variable,
add the <tt/Bin/ directory to PATH, etc.
<item> In the <tt>partiview/src</tt> directory, compile with
<tscreen><verb>
nmake -f partiview.mak
</verb></tscreen>
Dependencies are <it/not/ properly maintained by this Makefile, so
use <tt/nmake -f partiview.mak clean/ if you change anything.
</enum>
partiview within the MS Visual Studio GUI. Mingw64 has not been tested, only Mingw32.
To compile with MinGW and company, you'll need to:
<enum>
<item> Install <tt/MinGW/ (gcc, etc.), its associated <tt/w32api/
libraries and header files, and the <tt/MSYS/ suite of
UNIX-like tools. All three packages are available at:
<htmlurl url="http://www.sourceforge.net/projects/mingw/"
name="http://www.sourceforge.net/projects/mingw/">
Unpack the .zip or .tar archives of MinGW and w32api;
both packages are intended to live in the same directory.
The MSYS package comes as a self-extracting archive and
can be extracted into a different directory as desired.
(But don't attempt to merge the MSYS <tt/bin/ directory contents
into <tt>mingw/bin</tt>.)
<item> Add both the MSYS <tt/bin/ subdirectory and MinGW <tt/bin/
subdirectory to the Windows PATH environment variable,
with the MSYS directory coming earlier, e.g. in a command window
<tscreen><verb>
set path=%path%;C:\util\msys\1.0\bin;C:\util\mingw\bin
</verb></tscreen>
or the analogous setting of PATH using (on WinNT/2000 at least)
<tt/My Computer -> Control Panel -> System -> Environment/
to make a permanent change to PATH.
<item> Use MinGW to build FLTK. (FLTK 1.1.x, e.g. 1.1.9, works with partiview. FLTK 2.0 won't work.
<item> Install <tt/MinGW/ (gcc, etc.),
and the <tt/MSYS/ suite of
UNIX-like tools. It's easiest to simply fetch and run the mingw installer. See the Download link in:
<htmlurl url="http://mingw.org"
name="http://mingw.org">
<item> Install into a directory such as <tt>C:\MinGW</tt>.
<item> Open a MinGW shell: invoke msys.bat, which will be under something like <tt>C:\MinGW\MSys\1.0\msys.bat</tt>.
<item> Use MinGW to build FLTK. (FLTK 1.3.x, e.g. 1.3.0, works with partiview. FLTK 2.0 won't work.
Not sure about versions in between.) Unpack the FLTK source distribution and say
<tscreen><verb>
sh configure
......@@ -277,12 +259,6 @@ Not sure about versions in between.) Unpack the FLTK source distribution and s
<item> Build the Starlab libraries, if desired:
<enum>
<item>You may need to install CVS for Windows. Binary packages
are available; follow the Win32 link on
<htmlurl url="http://www.cvshome.org/downloads.html"
name="http://www.cvshome.org/downloads.html">.
Put the resulting cvs.exe file into the PATH somewhere.
<item>Use CVS to checkout the Starlab sources into some directory:
<tscreen><verb>
cd C:\some\where
......@@ -322,7 +298,7 @@ Not sure about versions in between.) Unpack the FLTK source distribution and s
and Starlab is in <tt>F:\src\starlab</tt>, then you might build
partiview by typing
<tscreen><verb>
sh configure --with-fltk=/c/util/fltk-1.1.9 --with-kira=/f/src/starlab
sh configure --with-fltk=/c/util/fltk-1.3.0 --with-kira=/f/src/starlab
make
</verb></tscreen>
Note there's no need to specify the location of the OpenGL or other
......@@ -1099,11 +1075,13 @@ and then let <tt/snapshot/ fill in the frame number.
With neither <it/FRAMENO/ nor <it/FILENAME/,
<tt/snapset/ adds one to the previous frame number.
<tt/Partiview/ generally invokes the ImageMagick program <tt/convert(1)/,
which must be installed and be on the user's $PATH. <tt/Convert/ determines
the type of image (jpeg, sgi, bmp, etc.) based on the file suffix.
If <it/FILENAME/ contains an <tt/@/ sign, then snapshot records a stereo pair of images, using current stereo, focallen, etc. settings. The left-eye and right-eye views are saved in files with any <tt/@/ replaced with <tt/L/ and <tt/R/ respectively.
<tt/Convert/ is not needed if the <tt/snapset/ <it/FILESTEM/ ends in
If built with the JPEG and/or PNG libraries, <tt/partiview/ can write those types of images directly (determined by suffix: jpg, jpeg, png, ppm).
Writing other image types, it generally invokes the ImageMagick program <tt/convert(1)/,
which must be installed and be on the user's $PATH.
<tt/Convert/ is never needed if the <tt/snapset/ <it/FILESTEM/ ends in
<tt/.ppm.gz/ (invokes gzip rather than convert) or <tt/.ppm/
(no external program required).
......@@ -1197,6 +1175,49 @@ polymin <it/minradius/ [<it/maxradius/]
Specify a minimum screen radius for polygons, in pixels.
If smaller than this, they are not drawn.
<tag>
vec [<tt/off|on|arrow/]
</tag>
Draw a vector at each point, determined by triple of attributes specified by <tt/vecvar/ data command.
With "arrow", draws an arrowhead on each vector, with 3-D size equal to
the vector's length times the 'arrowscale' (second parameter to <tt/vecscale/ command). The arrowhead always
lies in the screen plane, so its size gives a cue to the vector's
true 3-D length (e.g. when the vector is viewed nearly end-on,
even a small arrowhead can look longer than the vector does).
This also means that arrowheads flip orientation when a vector
passes through being seen nearly end-on.
<p>
Example:
<verb>
datavar 0 mass
datavar 1 vx
datavar 2 vy
datavar 3 vz
vecvar vx
eval vec on
eval vecscale 0.5
...
eval vec arrow
eval vecscale 0.5 0.125 # show arrow at tip of each vector
</verb>
<tag>
vecscale [<it/scale/ <it/arrowscale/]
</tag>
Set scale of vectors drawn by vec, as multiple of the triple of attributes specified by data-command <tt/vecvar/.
Arrowhead size is set by a new second parameter to "vecscale".
Defaults are 1.0 and 0.25, meaning that arrowheads are a quarter the main vector's length.
<tag>
vecalpha [<it/alpha/]
</tag>
Set the opacity of all vectors. If too many are overlapping, a small value (e.g. <it/vecalpha 0.1/) will help see through more of them.
<tag>
color
</tag>
......@@ -1231,6 +1252,8 @@ color
independent of any data fields.
</descrip>
Note: if <it/colorvar/ is named <tt/rgb565/ or <tt/rgb888/, it is interpreted specially: as a 16-bit (rgb565) or 24-bit (rgb888) integer containing the red, green and blue color values in 5-6-5 or 8-8-8-bit encoding. Red is most significant.
<tag>
lum
</tag>
......@@ -2356,9 +2379,9 @@ All control commands begin with <tt/kira/ too.
initially 50.
<tag> kira hrdiag on|off </tag>
toggle to turn HD Diagram on or off. Initially off.
toggle to turn HR Diagram on or off. Initially off.
<tag> kira hrdiag range <it/logTleft logTright logLbottom logLtop/ </tag>
set limits on the HD Diagram axes.
set limits on the HR Diagram axes.
</descrip>
......@@ -2441,6 +2464,9 @@ TAB change focus to command window for Control Commands
S/s toggle STEREO mode (need blue/red glasses :-)
modes: mono redcyan crosseyed glasses
See also the 'stereo' View Command
ctrl-S toggle between left and right stereo views,
using current settings for focal length etc.
Type e.g. "0s" to return to mono view.
> single frame forward stepping, in time animation mode
< single frame backward stepping, in time animation mode
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment