Commit afcaefe3 authored by hrchilds's avatar hrchilds
Browse files

Update from November 13, 2003

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@120 18c085ea-50e0-402c-830e-de6fd14e8384
parent fa8b190c
......@@ -17,7 +17,7 @@ shell prompt.
Python 2.1.2 Scripting Language http://www.python.org
Qt 2.3.0 GUI Toolkit http://www.trolltech.com
Silo 4.3.1 File I/O library http://www.llnl.gov/bdiv/meshtv
VTK 021216 Visualization Toolkit http://www.kitware.com
VTK 20031028 Visualization Toolkit http://www.kitware.com
The public version of VisIt has been built with the above listed versions
......@@ -26,7 +26,7 @@ all the packages except VTK and Qt, you can probably use newer versions of the
packages and VisIt should work properly. For Mesa, you must build a mangled
version of Mesa. The distribution provided has already been set up to build
a mangled version so no additional work is required if you use it. For VTK,
you must use the December 16 distribution provided. The version of Qt used to
you must use the October 28, 2003 distribution provided. The version of Qt used to
build VisIt must be greater than or equal to 2.3.0. VisIt is also compatible
with Qt version 3.
......@@ -144,21 +144,27 @@ to build VTK. If you have any problems building or installing VTK, read the
VTK/README.html file included in the VTK distribution for more information.
#
# Build cmake which is used by VTK to configure its distribution
# Build CMake which is used by VTK to configure its distribution
#
gunzip CMake1.4.7-src-unix.tar.gz
tar xf CMake1.4.7-src-unix.tar
cd CMake-1.4.7
env CXXFLAGS="" ./configure
gunzip cmake-1.8.1.tar.gz
tar xf cmake-1.8.1.tar
cd cmake-1.8.1
#
# We have experienced problems building CMake on AIX with g++/gcc.
# so for AIX use the native compilers to build CMake:
# env CXX=xlC CC=xlc CXXFLAGS="" ./bootstrap
# otherwise:
env CXXFLAGS="" ./bootstrap
make
#
# Build VTK
#
cd ..
gunzip vtk_cvs_16Dec02.tar.gz
tar xf vtk_cvs_16Dec02.tar
gunzip vtk_cvs_2003_10_28.tar.gz
tar xf vtk_cvs_2003_10_28.tar
cd VTK
../CMake-1.4.7/Source/cmake
../cmake-1.8.1/bin/cmake .
#
# Edit CMakeCache.txt. Turn BUILD_SHARED_LIBS, VTK_USE_HYBRID, and
# VTK_USE_MANGLED_MESA on, Turn BUILD_TESTING off.
......@@ -167,24 +173,29 @@ cd VTK
# and CMAKE_C_COMPILER. If you want to change the compiler flags you should
# modify CMAKE_CXX_FLAGS and CMAKE_C_FLAGS. You might want to specify "-O2"
# as a compiler flag to build an optimized version. If you want to specify
# the location of the OpenGL library you should modify OPENGL_LIBRARY
# the location of the OpenGL library you should modify OPENGL_gl_LIBRARY
# (/usr/shlib/libGL.so on tru64 systems.)
#
../CMake-1.4.7/Source/cmake
# On AIX, you may experience problems with X11 headers. Check the following
# and modify as necessary: CMAKE_X_FLAGS, X11_X11_INCLUDE_PATH,
# X11_Xlib_INCLUDE_PATH, X11_Xutil_INCLUDE_PATH
#
../cmake-1.8.1/bin/cmake .
#
# Edit CMakeCache.txt, setting MANGLED_MESA_INCLUDE_DIR, MANGLED_MESA_LIBRARY,
# MANGLED_OSMESA_LIBRARY, to point to the appropriate files and directories
# in the mesa directory.
# MANGLED_OSMESA_INCLUDE_DIR, MANGLED_OSMESA_LIBRARY, to point to the appropriate
# files and directories in the mesa directory.
# For example:
#
# MANGLED_MESA_INCLUDE_DIR:PATH=/home/visit/mesa/include
# MANGLED_MESA_LIBRARY:FILEPATH=/home/visit/mesa/lib/libMesaGL.so
# MANGLED_OSMESA_INCLUDE_DIR:PATH=/home/visit/mesa/include
# MANGLED_OSMESA_LIBRARY:FILEPATH=/home/visit/mesa/lib/libOSMesa.so
#
# Note that you need to be very careful in setting the above variables so
# that you provide the appropriate filename or path.
#
../CMake-1.4.7/Source/cmake
../cmake-1.8.1/bin/cmake .
#
# On linux systems you will want to avoid using runtime type identification
......@@ -192,7 +203,7 @@ cd VTK
# Ideally this would be done by editing CMakeCache.txt, adding "-fno-rtti"
# to the CMAKE_CXX_FLAGS string and running cmake, but alas, this doesn't
# work. The work around is to do the following:
# env CXXFLAGS="-fno-rtti" ../CMake-1.4.7/Source/cmake
# env CXXFLAGS="-fno-rtti" ../cmake-1.8.1/bin/cmake
#
# This indirectly turns off rtti, because VTK_NO_ANSI_STRING_STREAM is set
# to 1. This causes vtkOStrStreamWrapper.cxx to use <strstream> instead
......
......@@ -278,6 +278,9 @@ $0 = shift @ARGV;
# Jeremy Meredith, Thu Nov 6 10:59:45 PST 2003
# Added fast pipe IP addresses for the SGI viz servers.
#
# Jeremy Meredith, Thu Nov 13 12:01:20 PST 2003
# Added srun (SLURM) launcher support.
#
###############################################################################
......@@ -1077,6 +1080,23 @@ if ($procs_set or ($parallel and $parlaunch_set))
if ($security_key_set) { push @parcmd, "-key", $security_key; }
chomp($printcmd[0] = `basename $printcmd[0]`);
}
# srun
elsif (substr($launch,0,4) eq "srun")
{
@parcmd = ("srun");
push @parcmd, @launchargs if $launchargs_set;
push @parcmd, "-n", $procs if $procs_set;
push @parcmd, "-N", $nodes if $nodes_set;
push @parcmd, "-J", $name if $name_set;
push @parcmd, "-p", $part if $part_set;
push @parcmd, "-t", $time if $time_set;
#push @parcmd, "-b"; # Could be used for "batch mode"
push @parcmd, @visitcmd;
@printcmd = @parcmd;
if ($security_key_set) { push @parcmd, "-key", $security_key; }
chomp($printcmd[0] = `basename $printcmd[0]`);
}
# psub
elsif (substr($launch,0,4) eq "psub")
{
......
......@@ -22,6 +22,8 @@ static const char usage[] =
" Program arguments:\n"
" -gui Run with the Graphical User Interface (default)\n"
" -cli Run with the Command Line Interface\n"
" -silex Run silex\n"
" -xmledit Run xmledit\n"
"\n"
" Window arguments:\n"
" -small Use a smaller desktop area/window size\n"
......@@ -80,6 +82,9 @@ void AddPath(char *, const char *);
* Brad Whitlock, Tue Aug 12 09:41:07 PDT 2003
* I added some support for movie making.
*
* Brad Whitlock, Tue Nov 11 17:20:05 PST 2003
* I added code to launch Silex and XMLedit.
*
*****************************************************************************/
int
......@@ -148,6 +153,14 @@ main(int argc, char *argv[])
"of still images.\n");
return -1;
}
else if(ARG("-xmledit"))
{
strcpy(component, "xmledit");
}
else if(ARG("-silex"))
{
strcpy(component, "silex");
}
else if(ARG("-v"))
{
/* Skip the next argument too. */
......
......@@ -144,6 +144,10 @@
# I split some copy commands into multiple commands to avoid
# argument length problems with some implementations of csh.
#
# Eric Brugger, Thu Nov 13 07:53:25 PST 2003
# When I split some copy commands, I introduced a bug where not all
# the help files were copied to the distribution. I corrected this.
#
#-----------------------------------------------------------------------
set DataFiles = "TRUE"
......@@ -712,9 +716,13 @@ cp $VisItDir/include/qt/q[m-zA-Z]*.h $incdir/qt
# Copy the help files to the distribution.
#
echo "Copying help files to the distribution..."
cp $VisItDir/help/[a-gi-z]*.html $helpdir
cp $VisItDir/help/help0[01]*.html $helpdir
cp $VisItDir/help/help0[23]*.html $helpdir
cp $VisItDir/help/[a-gi-z]*.html $helpdir
cp $VisItDir/help/h[a-df-z]*.html $helpdir
cp $VisItDir/help/he[a-km-z]*.html $helpdir
cp $VisItDir/help/hel[a-oq-z]*.html $helpdir
cp $VisItDir/help/help[a-z]*.html $helpdir
cp $VisItDir/help/help0[01]*.html $helpdir
cp $VisItDir/help/help0[23]*.html $helpdir
if (-e $VisItDir/help/visit.helpml) then
cp $VisItDir/help/visit.helpml $helpdir
endif
......
......@@ -467,12 +467,12 @@
<Field name="numNodes" type="int">2</Field>
<Field name="partitionSet" type="bool">true</Field>
<Field name="partition" type="string">pbatch</Field>
<Field name="bankSet" type="bool">true</Field>
<Field name="bank" type="string">bdivp</Field>
<Field name="bankSet" type="bool">false</Field>
<Field name="bank" type="string"></Field>
<Field name="timeLimitSet" type="bool">false</Field>
<Field name="timeLimit" type="string"></Field>
<Field name="launchMethodSet" type="bool">true</Field>
<Field name="launchMethod" type="string">psub/prun</Field>
<Field name="launchMethod" type="string">srun</Field>
<Field name="forceStatic" type="bool">true</Field>
<Field name="forceDynamic" type="bool">false</Field>
<Field name="active" type="bool">false</Field>
......
......@@ -2,6 +2,7 @@
#include <DataNode.h>
#include <DebugStream.h>
#include <Utility.h>
#include <VisItException.h>
#include <visit-config.h>
// ****************************************************************************
......@@ -55,23 +56,46 @@ ColorTableManager::~ColorTableManager()
// Creation: Thu Jul 3 18:23:57 PST 2003
//
// Modifications:
//
// Brad Whitlock, Thu Nov 13 11:35:44 PDT 2003
// I fixed a bug where you could not save out color tables that were already
// external. I also changed how the message is returned.
//
// ****************************************************************************
std::string
bool
ColorTableManager::Export(const std::string &ctName,
const ColorControlPointList &ccpl_)
const ColorControlPointList &ccpl_, std::string &message)
{
ccpl = ccpl_;
std::string ctFileName(GetUserVisItDirectory() + ctName + ".ct");
WriteConfigFile(ctFileName.c_str());
//
// Make sure that if the color table already contains the colortable
// directory that we don't decorate the name.
//
std::string ctDir(GetUserVisItDirectory());
std::string ctFileName(ctDir + ctName + ".ct");
if(ctName.size() > ctDir.size() &&
ctName.substr(0, ctDir.size()) == ctDir)
{
ctFileName = ctName;
}
bool retval = false;
TRY
{
// Try and write out the color table.
WriteConfigFile(ctFileName.c_str());
retval = true;
message = ctFileName;
}
CATCH(VisItException)
{
message = std::string("VisIt could not export ") + ctName +
std::string(" to ") + ctFileName + ".";
}
ENDTRY
return std::string("VisIt exported color table \"") + ctName +
std::string( "\" to the file: ") + ctFileName + ". You can share "
"that file with colleagues who want to use your color table. Simply "
"put the file in their .visit directory, run VisIt and the color table "
"will appear in their list of color tables when VisIt starts up.";
return retval;
}
// ****************************************************************************
......@@ -111,7 +135,9 @@ ColorTableManager::ImportColorTables(ColorTableAttributes *cta)
// Creation: Thu Jul 3 18:27:28 PST 2003
//
// Modifications:
//
// Brad Whitlock, Thu Nov 13 11:55:17 PDT 2003
// I made it throw a VisItException if the file can't be opened.
//
// ****************************************************************************
void
......@@ -129,7 +155,9 @@ ColorTableManager::WriteConfigFile(const char *filename)
// Try to open the output file.
if((fp = fopen(filename, "wb")) == 0)
return;
{
EXCEPTION0(VisItException);
}
// Write the output file.
fprintf(fp, "<?xml version=\"1.0\"?>\n");
......
......@@ -19,7 +19,9 @@ class DataNode;
// Creation: Thu Jul 3 17:49:53 PST 2003
//
// Modifications:
//
// Brad Whitlock, Thu Nov 13 11:51:47 PDT 2003
// I changed how messages are passed out of Export.
//
// ****************************************************************************
class STATE_API ColorTableManager : public ConfigManager
......@@ -28,8 +30,9 @@ public:
ColorTableManager();
virtual ~ColorTableManager();
std::string Export(const std::string &ctName,
const ColorControlPointList &ccpl);
bool Export(const std::string &ctName,
const ColorControlPointList &ccpl,
std::string &message);
bool ImportColorTables(ColorTableAttributes *cta);
virtual void WriteConfigFile(const char *filename);
......
......@@ -42,6 +42,44 @@ SaveWindowAttributes::FileFormat_FromString(const std::string &s, SaveWindowAttr
return false;
}
//
// Enum conversion methods for SaveWindowAttributes::CompressionType
//
static const char *CompressionType_strings[] = {
"None", "PackBits", "Jpeg",
"Deflate"};
std::string
SaveWindowAttributes::CompressionType_ToString(SaveWindowAttributes::CompressionType t)
{
int index = int(t);
if(index < 0 || index >= 4) index = 0;
return CompressionType_strings[index];
}
std::string
SaveWindowAttributes::CompressionType_ToString(int t)
{
int index = (t < 0 || t >= 4) ? 0 : t;
return CompressionType_strings[index];
}
bool
SaveWindowAttributes::CompressionType_FromString(const std::string &s, SaveWindowAttributes::CompressionType &val)
{
val = SaveWindowAttributes::None;
for(int i = 0; i < 4; ++i)
{
if(s == CompressionType_strings[i])
{
val = (CompressionType)i;
return true;
}
}
return false;
}
// ****************************************************************************
// Method: SaveWindowAttributes::SaveWindowAttributes
//
......@@ -51,13 +89,13 @@ SaveWindowAttributes::FileFormat_FromString(const std::string &s, SaveWindowAttr
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
// ****************************************************************************
SaveWindowAttributes::SaveWindowAttributes() : AttributeSubject("ssbibiibbibbsb")
SaveWindowAttributes::SaveWindowAttributes() : AttributeSubject("ssbibiibbibbsbi")
{
hostName = "localhost";
fileName = "visit";
......@@ -72,6 +110,7 @@ SaveWindowAttributes::SaveWindowAttributes() : AttributeSubject("ssbibiibbibbsb"
progressive = false;
binary = false;
stereo = false;
compression = PackBits;
}
// ****************************************************************************
......@@ -83,13 +122,13 @@ SaveWindowAttributes::SaveWindowAttributes() : AttributeSubject("ssbibiibbibbsb"
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
// ****************************************************************************
SaveWindowAttributes::SaveWindowAttributes(const SaveWindowAttributes &obj) : AttributeSubject("ssbibiibbibbsb")
SaveWindowAttributes::SaveWindowAttributes(const SaveWindowAttributes &obj) : AttributeSubject("ssbibiibbibbsbi")
{
hostName = obj.hostName;
fileName = obj.fileName;
......@@ -105,6 +144,7 @@ SaveWindowAttributes::SaveWindowAttributes(const SaveWindowAttributes &obj) : At
binary = obj.binary;
lastRealFilename = obj.lastRealFilename;
stereo = obj.stereo;
compression = obj.compression;
SelectAll();
}
......@@ -118,7 +158,7 @@ SaveWindowAttributes::SaveWindowAttributes(const SaveWindowAttributes &obj) : At
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -138,7 +178,7 @@ SaveWindowAttributes::~SaveWindowAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -161,6 +201,7 @@ SaveWindowAttributes::operator = (const SaveWindowAttributes &obj)
binary = obj.binary;
lastRealFilename = obj.lastRealFilename;
stereo = obj.stereo;
compression = obj.compression;
SelectAll();
}
......@@ -174,7 +215,7 @@ SaveWindowAttributes::operator = (const SaveWindowAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -197,7 +238,8 @@ SaveWindowAttributes::operator == (const SaveWindowAttributes &obj) const
(progressive == obj.progressive) &&
(binary == obj.binary) &&
(lastRealFilename == obj.lastRealFilename) &&
(stereo == obj.stereo));
(stereo == obj.stereo) &&
(compression == obj.compression));
}
// ****************************************************************************
......@@ -209,7 +251,7 @@ SaveWindowAttributes::operator == (const SaveWindowAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -230,7 +272,7 @@ SaveWindowAttributes::operator != (const SaveWindowAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -251,7 +293,7 @@ SaveWindowAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -279,7 +321,7 @@ SaveWindowAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -305,7 +347,7 @@ SaveWindowAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -332,7 +374,7 @@ SaveWindowAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -355,6 +397,7 @@ SaveWindowAttributes::SelectAll()
Select(11, (void *)&binary);
Select(12, (void *)&lastRealFilename);
Select(13, (void *)&stereo);
Select(14, (void *)&compression);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -370,7 +413,7 @@ SaveWindowAttributes::SelectAll()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -471,6 +514,12 @@ SaveWindowAttributes::CreateNode(DataNode *parentNode, bool forceAdd)
node->AddNode(new DataNode("stereo", stereo));
}
if(!FieldsEqual(14, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("compression", CompressionType_ToString(compression)));
}
// Add the node to the parent node.
if(addToParent || forceAdd)
......@@ -490,7 +539,7 @@ SaveWindowAttributes::CreateNode(DataNode *parentNode, bool forceAdd)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -550,6 +599,22 @@ SaveWindowAttributes::SetFromNode(DataNode *parentNode)
SetLastRealFilename(node->AsString());
if((node = searchNode->GetNode("stereo")) != 0)
SetStereo(node->AsBool());
if((node = searchNode->GetNode("compression")) != 0)
{
// Allow enums to be int or string in the config file
if(node->GetNodeType() == INT_NODE)
{
int ival = node->AsInt();
if(ival >= 0 && ival < 4)
SetCompression(CompressionType(ival));
}
else if(node->GetNodeType() == STRING_NODE)
{
CompressionType value;
if(CompressionType_FromString(node->AsString(), value))
SetCompression(value);
}
}
}
///////////////////////////////////////////////////////////////////////////////
......@@ -654,6 +719,13 @@ SaveWindowAttributes::SetStereo(bool stereo_)
Select(13, (void *)&stereo);
}
void
SaveWindowAttributes::SetCompression(SaveWindowAttributes::CompressionType compression_)
{
compression = compression_;
Select(14, (void *)&compression);
}
///////////////////////////////////////////////////////////////////////////////
// Get property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -760,6 +832,12 @@ SaveWindowAttributes::GetStereo() const
return stereo;
}
SaveWindowAttributes::CompressionType
SaveWindowAttributes::GetCompression() const
{
return CompressionType(compression);
}
///////////////////////////////////////////////////////////////////////////////
// Select property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -795,7 +873,7 @@ SaveWindowAttributes::SelectLastRealFilename()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -820,6 +898,7 @@ SaveWindowAttributes::GetFieldName(int index) const
case 11: return "binary";
case 12: return "lastRealFilename";
case 13: return "stereo";
case 14: return "compression";
default: return "invalid index";
}
}
......@@ -833,7 +912,7 @@ SaveWindowAttributes::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -858,6 +937,7 @@ SaveWindowAttributes::GetFieldType(int index) const
case 11: return FieldType_bool;
case 12: return FieldType_string;
case 13: return FieldType_bool;
case 14: return FieldType_enum;
default: return FieldType_unknown;
}
}
......@@ -871,7 +951,7 @@ SaveWindowAttributes::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003
//
// Modifications:
//
......@@ -896,6 +976,7 @@ SaveWindowAttributes::GetFieldTypeName(int index) const
case 11: return "bool";
case 12: return "string";
case 13: return "bool";
case 14: return "enum";
default: return "invalid index";
}
}
......@@ -909,7 +990,7 @@ SaveWindowAttributes::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Oct 15 09:26:17 PDT 2003
// Creation: Thu Nov 13 10:42:17 PDT 2003