Commit c9de0ee2 authored by hrchilds's avatar hrchilds

Update from August 30, 2005

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@532 18c085ea-50e0-402c-830e-de6fd14e8384
parent d31bc7f1
......@@ -88,6 +88,11 @@ $0 = shift @ARGV;
# Hank Childs, Wed Aug 24 16:48:02 PDT 2005
# Added text to -config for absolute paths.
#
# Jeremy Meredith, Tue Aug 30 10:00:17 PDT 2005
# Keep track of original environment variables like library paths and
# plugin dirs explicitly. In some cases, the engine may try to set them
# differently from the other components, and the existing logic would fail.
#
###############################################################################
......@@ -844,11 +849,32 @@ if (defined($ENV{HOME}))
}
# Set up stuff for shared libraries for various platforms
$ENV{LD_LIBRARY_PATH} = "$visitlibdir:$ENV{LD_LIBRARY_PATH}";
$ENV{LD_LIBRARY32_PATH} = "$visitlibdir:$ENV{LD_LIBRARY32_PATH}";
$ENV{LD_LIBRARYN32_PATH} = "$visitlibdir:$ENV{LD_LIBRARYN32_PATH}";
$ENV{LD_LIBRARY64_PATH} = "$visitlibdir:$ENV{LD_LIBRARY64_PATH}";
$ENV{LIBPATH} = "$visitlibdir:$ENV{LIBPATH}";
if (! defined($ENV{LD_LIBRARY_PATH_VISITORIG}))
{
$ENV{LD_LIBRARY_PATH_VISITORIG} = "$ENV{LD_LIBRARY_PATH}";
}
if (! defined($ENV{LD_LIBRARY32_PATH_VISITORIG}))
{
$ENV{LD_LIBRARY32_PATH_VISITORIG} = "$ENV{LD_LIBRARY32_PATH}";
}
if (! defined($ENV{LD_LIBRARYN32_PATH_VISITORIG}))
{
$ENV{LD_LIBRARYN32_PATH_VISITORIG} = "$ENV{LD_LIBRARYN32_PATH}";
}
if (! defined($ENV{LD_LIBRARY64_PATH_VISITORIG}))
{
$ENV{LD_LIBRARY64_PATH_VISITORIG} = "$ENV{LD_LIBRARY64_PATH}";
}
if (! defined($ENV{LIBPATH_VISITORIG}))
{
$ENV{LIBPATH_VISITORIG} = "$ENV{LIBPATH}";
}
$ENV{LD_LIBRARY_PATH} = "$visitlibdir:$ENV{LD_LIBRARY_PATH_VISITORIG}";
$ENV{LD_LIBRARY32_PATH} = "$visitlibdir:$ENV{LD_LIBRARY32_PATH_VISITORIG}";
$ENV{LD_LIBRARYN32_PATH} = "$visitlibdir:$ENV{LD_LIBRARYN32_PATH_VISITORIG}";
$ENV{LD_LIBRARY64_PATH} = "$visitlibdir:$ENV{LD_LIBRARY64_PATH_VISITORIG}";
$ENV{LIBPATH} = "$visitlibdir:$ENV{LIBPATH_VISITORIG}";
# Add /usr/local/lib to the shared library path. This was added for the
# c++ library on some sun systems, but it may have broader applicability.
......@@ -867,10 +893,13 @@ if ($publiconly)
# Forget the private and user-specified paths, and only use the public one
$ENV{VISITPLUGINDIR}="$visitplugins";
}
elsif (!grep /$visitprivateplugins/, $ENV{VISITPLUGINDIR})
else
{
# Don't keep adding the same paths over and over again (avoid duplicates)
$ENV{VISITPLUGINDIR}="$ENV{VISITPLUGINDIR}:$visitprivateplugins:$visitplugins";
if (! defined($ENV{VISITPLUGINDIRORIG}))
{
$ENV{VISITPLUGINDIRORIG} = $ENV{VISITPLUGINDIR};
}
$ENV{VISITPLUGINDIR}="$ENV{VISITPLUGINDIRORIG}:$visitprivateplugins:$visitplugins";
}
......
......@@ -476,9 +476,9 @@ fi
#
if [ $test = no ]
then
scp -P 22 visit-install sc1:
scp -P 22 lc sc1:lc_install
ssh -p 22 sc1 "chmod 750 lc_install;./lc_install"
scp visit-install sc1:
scp lc sc1:lc_install
ssh sc1 "chmod 750 lc_install;./lc_install"
fi
#
......
......@@ -65,3 +65,17 @@ InvalidMergeException::InvalidMergeException()
}
// ****************************************************************************
// Method: InvalidMergeException constructor
//
// Programmer: Hank Childs
// Creation: August 29, 2005
//
// ****************************************************************************
InvalidMergeException::InvalidMergeException(const char *m)
{
msg = m;
}
......@@ -25,6 +25,9 @@
// Hank Childs, Thu Aug 4 11:06:21 PDT 2005
// Added new constructor that takes doubles.
//
// Hank Childs, Mon Aug 29 15:49:32 PDT 2005
// Added new constructor with a warning message.
//
// ****************************************************************************
class AVTEXCEPTION_API InvalidMergeException : public PipelineException
......@@ -32,6 +35,7 @@ class AVTEXCEPTION_API InvalidMergeException : public PipelineException
public:
InvalidMergeException(int, int);
InvalidMergeException(double, double);
InvalidMergeException(const char *);
InvalidMergeException();
virtual ~InvalidMergeException() VISIT_THROW_NOTHING {;};
};
......
......@@ -351,12 +351,22 @@ VarExpr::PrintNode(ostream &o)
var->Print(o, "Var");
}
// ****************************************************************************
// Modifications:
//
// Hank Childs, Tue Aug 30 13:11:51 PDT 2005
// Only consider variables that are for the currently active database.
// Other variables (for CMFE) are handled differently.
//
// ****************************************************************************
std::set<std::string>
VarExpr::GetVarLeaves()
{
std::set<std::string> ret;
ret.insert(var->GetFullpath());
if (db == NULL)
ret.insert(var->GetFullpath());
return ret;
}
......@@ -47,6 +47,9 @@ class Pos;
// remove Token references from the parse tree node classes.
// Also added some destructors.
//
// Hank Childs, Tue Aug 30 13:20:47 PDT 2005
// Added access to variable and database names.
//
// ****************************************************************************
class EXPR_API ExprNode : public ExprParseTreeNode
{
......@@ -320,6 +323,7 @@ class EXPR_API DBExpr : public ExprParseTreeNode
virtual ~DBExpr() { delete file; delete mach; delete time; }
virtual void PrintNode(ostream &o);
virtual const std::string GetTypeName() { return "DBExpr"; }
PathExpr *GetFile(void) { return file; };
protected:
PathExpr *file;
MachExpr *mach;
......@@ -335,6 +339,8 @@ class EXPR_API VarExpr : public virtual ExprNode
virtual void PrintNode(ostream &o);
virtual std::set<std::string> GetVarLeaves();
virtual const std::string GetTypeName() { return "Var"; }
PathExpr *GetVar(void) { return var; };
DBExpr *GetDB(void) { return db; };
protected:
DBExpr *db;
PathExpr *var;
......
......@@ -49,7 +49,7 @@ PickVarInfo::Centering_FromString(const std::string &s, PickVarInfo::Centering &
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -71,7 +71,7 @@ PickVarInfo::PickVarInfo() : AttributeSubject("sss*d*s*d*bisi*s*i*b")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -105,7 +105,7 @@ PickVarInfo::PickVarInfo(const PickVarInfo &obj) : AttributeSubject("sss*d*s*d*b
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -125,15 +125,16 @@ PickVarInfo::~PickVarInfo()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
// ****************************************************************************
void
PickVarInfo&
PickVarInfo::operator = (const PickVarInfo &obj)
{
if (this == &obj) return *this;
variableName = obj.variableName;
variableType = obj.variableType;
names = obj.names;
......@@ -149,6 +150,7 @@ PickVarInfo::operator = (const PickVarInfo &obj)
treatAsASCII = obj.treatAsASCII;
SelectAll();
return *this;
}
// ****************************************************************************
......@@ -160,7 +162,7 @@ PickVarInfo::operator = (const PickVarInfo &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -194,7 +196,7 @@ PickVarInfo::operator == (const PickVarInfo &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -215,7 +217,7 @@ PickVarInfo::operator != (const PickVarInfo &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -236,7 +238,7 @@ PickVarInfo::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -264,7 +266,7 @@ PickVarInfo::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -290,7 +292,7 @@ PickVarInfo::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -317,7 +319,7 @@ PickVarInfo::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -655,7 +657,7 @@ PickVarInfo::SelectNumSpecsPerMat()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -692,7 +694,7 @@ PickVarInfo::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -729,7 +731,7 @@ PickVarInfo::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -766,7 +768,7 @@ PickVarInfo::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -1007,6 +1009,9 @@ PickVarInfo::PrintSelf(ostream &os)
// Brad Whitlock, Mon Apr 4 12:12:19 PDT 2005
// Added support for printing label variables.
//
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Change how ncomps is computed for tensor vars.
//
// ****************************************************************************
void
PickVarInfo::CreateOutputString(std::string &os, const std::string &type)
......@@ -1181,14 +1186,16 @@ PickVarInfo::CreateOutputString(std::string &os, const std::string &type)
}
else if (variableType == "tensor")
{
os += "\n";
int buf_len = strlen(buff);
int ncomps = values.size() / names.size();
int ncomps = (values.size()-names.size()) / names.size();
PrintTensor(os, values, i, ncomps, buf_len);
}
else if (variableType == "symm_tensor")
{
os += "\n";
int buf_len = strlen(buff);
int ncomps = values.size() / names.size();
int ncomps = (values.size()-names.size()) / names.size();
PrintSymmetricTensor(os, values, i, ncomps, buf_len);
}
else if (variableType == "label")
......@@ -1243,6 +1250,11 @@ PickVarInfo::CreateOutputString(std::string &os, const std::string &type)
//
// Programmer: Hank Childs
// Creation: September 22, 2003
//
// Modifications:
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Print major eigenvalue. Change how offset is computed.
//
// ****************************************************************************
void
......@@ -1251,20 +1263,34 @@ PickVarInfo::PrintTensor(std::string &os, const std::vector<double> &values,
{
int j;
int offset = tuple*ncomps;
int offset = tuple*(ncomps+1);
if (ncomps == 2) // 2D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset], values[offset+1]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset+2], values[offset+3]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+4]);
os += line;
}
else if (ncomps == 9) // 3D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g, %g)\n", values[offset], values[offset+1],
values[offset+2]);
os += line;
......@@ -1280,6 +1306,11 @@ PickVarInfo::PrintTensor(std::string &os, const std::vector<double> &values,
sprintf(line, "(%g, %g, %g)\n", values[offset+6], values[offset+7],
values[offset+8]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+9]);
os += line;
}
}
......@@ -1292,6 +1323,11 @@ PickVarInfo::PrintTensor(std::string &os, const std::vector<double> &values,
//
// Programmer: Hank Childs
// Creation: September 22, 2003
//
// Modifications:
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Print major eigenvalue. Change how offset is computed.
//
// ****************************************************************************
void
......@@ -1304,16 +1340,30 @@ PickVarInfo::PrintSymmetricTensor(std::string &os,
if (ncomps == 2) // 2D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset], values[offset+1]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset+2], values[offset+3]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+4]);
os += line;
}
else if (ncomps == 9) // 3D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g, %g)\n", values[offset], values[offset+1],
values[offset+2]);
os += line;
......@@ -1329,6 +1379,11 @@ PickVarInfo::PrintSymmetricTensor(std::string &os,
sprintf(line, "(%g, %g, %g)\n", values[offset+6], values[offset+7],
values[offset+8]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+9]);
os += line;
}
}
......
......@@ -157,6 +157,9 @@ Definition:
// Brad Whitlock, Mon Apr 4 12:12:19 PDT 2005
// Added support for printing label variables.
//
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Change how ncomps is computed for tensor vars.
//
// ****************************************************************************
void
PickVarInfo::CreateOutputString(std::string &os, const std::string &type)
......@@ -331,14 +334,16 @@ PickVarInfo::CreateOutputString(std::string &os, const std::string &type)
}
else if (variableType == "tensor")
{
os += "\n";
int buf_len = strlen(buff);
int ncomps = values.size() / names.size();
int ncomps = (values.size()-names.size()) / names.size();
PrintTensor(os, values, i, ncomps, buf_len);
}
else if (variableType == "symm_tensor")
{
os += "\n";
int buf_len = strlen(buff);
int ncomps = values.size() / names.size();
int ncomps = (values.size()-names.size()) / names.size();
PrintSymmetricTensor(os, values, i, ncomps, buf_len);
}
else if (variableType == "label")
......@@ -397,6 +402,11 @@ Definition:
//
// Programmer: Hank Childs
// Creation: September 22, 2003
//
// Modifications:
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Print major eigenvalue. Change how offset is computed.
//
// ****************************************************************************
void
......@@ -405,20 +415,34 @@ PickVarInfo::PrintTensor(std::string &os, const std::vector<double> &values,
{
int j;
int offset = tuple*ncomps;
int offset = tuple*(ncomps+1);
if (ncomps == 2) // 2D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset], values[offset+1]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset+2], values[offset+3]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+4]);
os += line;
}
else if (ncomps == 9) // 3D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g, %g)\n", values[offset], values[offset+1],
values[offset+2]);
os += line;
......@@ -434,6 +458,11 @@ PickVarInfo::PrintTensor(std::string &os, const std::vector<double> &values,
sprintf(line, "(%g, %g, %g)\n", values[offset+6], values[offset+7],
values[offset+8]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+9]);
os += line;
}
}
......@@ -449,6 +478,11 @@ Definition:
//
// Programmer: Hank Childs
// Creation: September 22, 2003
//
// Modifications:
// Kathleen Bonnell, Tue Aug 30 09:35:44 PDT 2005
// Print major eigenvalue. Change how offset is computed.
//
// ****************************************************************************
void
......@@ -461,16 +495,30 @@ PickVarInfo::PrintSymmetricTensor(std::string &os,
if (ncomps == 2) // 2D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset], values[offset+1]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g)\n", values[offset+2], values[offset+3]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+4]);
os += line;
}
else if (ncomps == 9) // 3D tensor
{
char line[256];
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "(%g, %g, %g)\n", values[offset], values[offset+1],
values[offset+2]);
os += line;
......@@ -486,6 +534,11 @@ PickVarInfo::PrintSymmetricTensor(std::string &os,
sprintf(line, "(%g, %g, %g)\n", values[offset+6], values[offset+7],
values[offset+8]);
os += line;
for (j = 0 ; j < buff_len ; j++)
os += " ";
sprintf(line, "Major Eigenvalue: %g\n", values[offset+9]);
os += line;
}
}
......
......@@ -14,7 +14,7 @@
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jul 22 12:07:34 PDT 2004
// Creation: Tue Aug 30 15:08:45 PST 2005
//
// Modifications:
//
......@@ -34,7 +34,7 @@ public:
PickVarInfo(const PickVarInfo &obj);
virtual ~PickVarInfo();
virtual void operator = (const PickVarInfo &obj);
virtual PickVarInfo& operator = (const PickVarInfo &obj);
virtual bool operator == (const PickVarInfo &obj) const;
virtual bool operator != (const PickVarInfo &obj) const;
......
......@@ -34,6 +34,7 @@
#include <snprintf.h>
#include <avtCallback.h>
#include <avtCommonDataFunctions.h>
#include <avtDatabaseMetaData.h>
#include <avtDatasetCollection.h>
#include <avtDatasetVerifier.h>
......@@ -8066,6 +8067,9 @@ avtGenericDatabase::QueryVectors(const string &varName, const int dom,
// Mark C. Miller, Tue Apr 5 10:30:16 PDT 2005