Commit 92c8c06e authored by hrchilds's avatar hrchilds
Browse files

Update from July 29, 2003

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@45 18c085ea-50e0-402c-830e-de6fd14e8384
parent 5230ce30
...@@ -427,9 +427,9 @@ More information about building VisIt follows after that. ...@@ -427,9 +427,9 @@ More information about building VisIt follows after that.
# #
# Build and install it in the visit directory. # Build and install it in the visit directory.
# #
gunzip visit030709.tar.gz gunzip visit030804.tar.gz
tar xf visit030709.tar tar xf visit030804.tar
cd visit030709/config-site cd visit030804/config-site
echo VISITHOME=`cat ../../visitpath` > `hostname`.conf echo VISITHOME=`cat ../../visitpath` > `hostname`.conf
cat Template.conf >> `hostname`.conf cat Template.conf >> `hostname`.conf
cd .. cd ..
...@@ -438,11 +438,11 @@ make ...@@ -438,11 +438,11 @@ make
clearcase_bin/visit-bin-dist clearcase_bin/visit-bin-dist
# Use the appropriate install command based on the operating system on # Use the appropriate install command based on the operating system on
# which you built VisIt. # which you built VisIt.
clearcase_bin/visit-install 1.1.6 aix `cat ../visitpath` clearcase_bin/visit-install 1.2 aix `cat ../visitpath`
clearcase_bin/visit-install 1.1.6 irix6 `cat ../visitpath` clearcase_bin/visit-install 1.2 irix6 `cat ../visitpath`
clearcase_bin/visit-install 1.1.6 linux `cat ../visitpath` clearcase_bin/visit-install 1.2 linux `cat ../visitpath`
clearcase_bin/visit-install 1.1.6 osf1 `cat ../visitpath` clearcase_bin/visit-install 1.2 osf1 `cat ../visitpath`
clearcase_bin/visit-install 1.1.6 sunos5 `cat ../visitpath` clearcase_bin/visit-install 1.2 sunos5 `cat ../visitpath`
When running the configure script you can enable or disable certain dependent When running the configure script you can enable or disable certain dependent
packages. All the configure options are listed at the beginning of the packages. All the configure options are listed at the beginning of the
......
...@@ -17,7 +17,7 @@ Unix: ...@@ -17,7 +17,7 @@ Unix:
where where
"version" will be 1.1.6 for the current distribution. "version" will be 1.2 for the current distribution.
"platform" will be one of the following: aix, irix6, linux, osf1, "platform" will be one of the following: aix, irix6, linux, osf1,
or sunos5 depending on the machine. The one you use should match or sunos5 depending on the machine. The one you use should match
...@@ -28,17 +28,17 @@ Unix: ...@@ -28,17 +28,17 @@ Unix:
For example For example
visit-install 1.1.6 irix6 /usr/local/visit visit-install 1.2 irix6 /usr/local/visit
will install the irix6, 1.1.6 version of visit in the directory will install the irix6, 1.2 version of visit in the directory
"/usr/local/visit". Note that you will need to have the file "/usr/local/visit". Note that you will need to have the file
"visit1_1_6.irix6.tar.gz" present in the current directory for this "visit1_2.irix6.tar.gz" present in the current directory for this
to function properly. You can install multiple binaries into the to function properly. You can install multiple binaries into the
same directory. For example, you could then execute same directory. For example, you could then execute
visit-install -a 1.1.6 linux /usr/local/visit visit-install -a 1.2 linux /usr/local/visit
to add a linux, 1.1.6 version of visit to the same directory. to add a linux, 1.2 version of visit to the same directory.
2. Add the bin directory below the installation directory 2. Add the bin directory below the installation directory
(/usr/local/visit/bin in our example) to each user's search path. (/usr/local/visit/bin in our example) to each user's search path.
...@@ -76,15 +76,15 @@ Unix: ...@@ -76,15 +76,15 @@ Unix:
Windows: Windows:
1. Copy the file visit1.1.6.exe to your desktop. 1. Copy the file visit1.2.exe to your desktop.
2. Right click on the visit1.1.6.exe icon using your mouse and selecting 2. Right click on the visit1.2.exe icon using your mouse and selecting
"Extract to folder C:\...\Desktop\visit1.1.6" from the popup menu. A "Extract to folder C:\...\Desktop\visit1.2" from the popup menu. A
window will popup as the file is extracted into the directory. Once window will popup as the file is extracted into the directory. Once
the process is complete a "visit1.1.6" directory icon should appear on the process is complete a "visit1.2" directory icon should appear on
your desktop. your desktop.
3. Double click on the "visit1.1.6" directory icon bringing up a file 3. Double click on the "visit1.2" directory icon bringing up a file
system browsing window. system browsing window.
4. Double click on the SETUP icon with the computer display icon to run 4. Double click on the SETUP icon with the computer display icon to run
......
...@@ -118,6 +118,9 @@ ...@@ -118,6 +118,9 @@
# Brad Whitlock, Thu Jun 19 13:16:57 PST 2003 # Brad Whitlock, Thu Jun 19 13:16:57 PST 2003
# Removed splashscreen from the distribution. # Removed splashscreen from the distribution.
# #
# Eric Brugger, Tue Jul 29 08:23:32 PDT 2003
# Added makemili to the distribution.
#
#----------------------------------------------------------------------- #-----------------------------------------------------------------------
set DataFiles = "TRUE" set DataFiles = "TRUE"
...@@ -221,7 +224,7 @@ endif ...@@ -221,7 +224,7 @@ endif
# Determine the operating system. # Determine the operating system.
# #
if("$OSGiven" == "FALSE") then if("$OSGiven" == "FALSE") then
set os = `/bin/uname -s | tr "[A-Z]" "[a-z]" | tr -d "[0-9]"` set os = `/bin/uname -s | tr "[A-Z]" "[a-z]" | tr -d "[0-9]"`
endif endif
# #
...@@ -345,7 +348,7 @@ endif ...@@ -345,7 +348,7 @@ endif
mkdir distribution/visit mkdir distribution/visit
mkdir distribution/visit/bin mkdir distribution/visit/bin
if ($DataFiles == "TRUE") then if ($DataFiles == "TRUE") then
mkdir distribution/visit/data mkdir distribution/visit/data
endif endif
mkdir distribution/visit/$Version mkdir distribution/visit/$Version
...@@ -464,7 +467,7 @@ cp $VisItDir/bin/visit distribution/visit/bin/visit ...@@ -464,7 +467,7 @@ cp $VisItDir/bin/visit distribution/visit/bin/visit
cp $VisItDir/bin/cli $bindir/cli cp $VisItDir/bin/cli $bindir/cli
cp $VisItDir/bin/engine_ser $bindir/engine_ser cp $VisItDir/bin/engine_ser $bindir/engine_ser
if(-e $VisItDir/bin/engine_par) then if(-e $VisItDir/bin/engine_par) then
cp $VisItDir/bin/engine_par $bindir/engine_par cp $VisItDir/bin/engine_par $bindir/engine_par
endif endif
cp $VisItDir/bin/gui $bindir/gui cp $VisItDir/bin/gui $bindir/gui
cp $VisItDir/bin/mdserver $bindir/mdserver cp $VisItDir/bin/mdserver $bindir/mdserver
...@@ -483,6 +486,9 @@ cp $VisItDir/bin/curv3dprep $bindir ...@@ -483,6 +486,9 @@ cp $VisItDir/bin/curv3dprep $bindir
# copy text2polys and time_annotation # copy text2polys and time_annotation
cp $VisItDir/bin/text2polys $bindir cp $VisItDir/bin/text2polys $bindir
cp $VisItDir/bin/time_annotation $bindir cp $VisItDir/bin/time_annotation $bindir
if(-e $VisItDir/bin/makemili_ser) then
cp $VisItDir/bin/makemili_ser $bindir/makemili_ser
endif
# #
# Copy the VisIt libraries to the distribution. # Copy the VisIt libraries to the distribution.
...@@ -596,17 +602,17 @@ cp $VisItDir/include/qt/*.h $incdir/qt ...@@ -596,17 +602,17 @@ cp $VisItDir/include/qt/*.h $incdir/qt
# #
cp $VisItDir/help/*.html $helpdir cp $VisItDir/help/*.html $helpdir
if (-e $VisItDir/help/visit.helpml) then if (-e $VisItDir/help/visit.helpml) then
cp $VisItDir/help/visit.helpml $helpdir cp $VisItDir/help/visit.helpml $helpdir
endif endif
# #
# Copy the Java class files to the distribution. # Copy the Java class files to the distribution.
# #
if (-e $VisItDir/java/llnl/visit/ViewerProxy.class) then if (-e $VisItDir/java/llnl/visit/ViewerProxy.class) then
cp -R $VisItDir/java/llnl $javadir cp -R $VisItDir/java/llnl $javadir
endif endif
if (-e $VisItDir/java/RunViewer.class) then if (-e $VisItDir/java/RunViewer.class) then
cp -R $VisItDir/java/RunViewer.class $javadir cp -R $VisItDir/java/RunViewer.class $javadir
endif endif
# #
......
...@@ -289,16 +289,16 @@ fi ...@@ -289,16 +289,16 @@ fi
rm -f gps rm -f gps
cat <<EOF > gps cat <<EOF > gps
#!/bin/sh #!/bin/sh
if test ! -e /nfs/tmp1/$user ; then if test ! -e /nfs/tmp3/$user ; then
mkdir /nfs/tmp1/$user mkdir /nfs/tmp3/$user
fi fi
if test ! -e /nfs/tmp1/$user/gps; then if test ! -e /nfs/tmp3/$user/gps; then
mkdir /nfs/tmp1/$user/gps mkdir /nfs/tmp3/$user/gps
fi fi
rm -rf /nfs/tmp1/$user/gps/visitbuild rm -rf /nfs/tmp3/$user/gps/visitbuild
mkdir /nfs/tmp1/$user/gps/visitbuild mkdir /nfs/tmp3/$user/gps/visitbuild
mv gps_$dist.tar.gz /nfs/tmp1/$user/gps/visitbuild/$dist.tar.gz mv gps_$dist.tar.gz /nfs/tmp3/$user/gps/visitbuild/$dist.tar.gz
cd /nfs/tmp1/$user/gps/visitbuild cd /nfs/tmp3/$user/gps/visitbuild
gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1 gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1
cd $dist cd $dist
ver=\`cat VERSION\` ver=\`cat VERSION\`
...@@ -375,16 +375,16 @@ fi ...@@ -375,16 +375,16 @@ fi
rm -f frost rm -f frost
cat <<EOF > frost cat <<EOF > frost
#!/bin/sh #!/bin/sh
if test ! -e /nfs/tmp1/$user ; then if test ! -e /p/gf1/$user ; then
mkdir /nfs/tmp1/$user mkdir /p/gf1/$user
fi fi
if test ! -e /nfs/tmp1/$user/frost ; then if test ! -e /p/gf1/$user/frost ; then
mkdir /nfs/tmp1/$user/frost mkdir /p/gf1/$user/frost
fi fi
rm -rf /nfs/tmp1/$user/frost/visitbuild rm -rf /p/gf1/$user/frost/visitbuild
mkdir /nfs/tmp1/$user/frost/visitbuild mkdir /p/gf1/$user/frost/visitbuild
mv frost_$dist.tar.gz /nfs/tmp1/$user/frost/visitbuild/$dist.tar.gz mv frost_$dist.tar.gz /p/gf1/$user/frost/visitbuild/$dist.tar.gz
cd /nfs/tmp1/$user/frost/visitbuild cd /p/gf1/$user/frost/visitbuild
gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1 gunzip -c $dist.tar.gz | tar xvf - > buildlog 2>&1
cd $dist cd $dist
ver=\`cat VERSION\` ver=\`cat VERSION\`
......
...@@ -294,7 +294,7 @@ if [ $gps = true ] ...@@ -294,7 +294,7 @@ if [ $gps = true ]
then then
if [ $test = no ] if [ $test = no ]
then then
scp gps15:/nfs/tmp1/$user/gps/visitbuild/visit$ver2.osf1.tar.gz . scp gps15:/nfs/tmp3/$user/gps/visitbuild/visit$ver2.osf1.tar.gz .
scp visit$ver2.osf1.tar.gz gps15: scp visit$ver2.osf1.tar.gz gps15:
scp visit-install gps15: scp visit-install gps15:
scp gps gps15:gps_install scp gps gps15:gps_install
...@@ -362,7 +362,7 @@ if [ $frost = true ] ...@@ -362,7 +362,7 @@ if [ $frost = true ]
then then
if [ $test = no ] if [ $test = no ]
then then
scp gps15:/nfs/tmp1/$user/frost/visitbuild/visit$ver2.aix.tar.gz . scp frost:/p/gf1/$user/frost/visitbuild/visit$ver2.aix.tar.gz .
scp visit$ver2.aix.tar.gz gps15: scp visit$ver2.aix.tar.gz gps15:
scp visit-install gps15: scp visit-install gps15:
scp frost gps15:frost_install scp frost gps15:frost_install
......
...@@ -196,11 +196,15 @@ ParentProcess::SetVersion(const std::string &ver) ...@@ -196,11 +196,15 @@ ParentProcess::SetVersion(const std::string &ver)
// Brad Whitlock, Fri Apr 18 15:13:34 PST 2003 // Brad Whitlock, Fri Apr 18 15:13:34 PST 2003
// I added the -noconnect flag to help debug certain components. // I added the -noconnect flag to help debug certain components.
// //
// Brad Whitlock, Tue Jul 29 10:56:34 PDT 2003
// I added numRead and numWrite so we don't have to get the number of
// connections to create from the command line anymore.
//
// **************************************************************************** // ****************************************************************************
void void
ParentProcess::Connect(int *argc, char **argv[], bool createSockets, ParentProcess::Connect(int numRead, int numWrite, int *argc, char **argv[],
int failCode) bool createSockets, int failCode)
{ {
char **argv2 = *argv; char **argv2 = *argv;
bool rhostSpecified = false; bool rhostSpecified = false;
...@@ -231,50 +235,6 @@ ParentProcess::Connect(int *argc, char **argv[], bool createSockets, ...@@ -231,50 +235,6 @@ ParentProcess::Connect(int *argc, char **argv[], bool createSockets,
deleteCount = 2; deleteCount = 2;
} }
} }
else if(std::string(argv2[i]) == std::string("-nread"))
{
if(rhostSpecified && (i + 1 < *argc))
{
int num = atoi(argv2[i + 1]);
if(createSockets && (num > 0) && !nReadSpecified)
{
nReadSpecified = true;
writeConnections = new Connection*[num];
for(int j = 0; j < num; ++j)
{
int desc = GetClientSocketDescriptor(port);
if(desc != -1)
{
writeConnections[nWriteConnections] = new SocketConnection(desc);
++nWriteConnections;
}
}
}
deleteCount = 2;
}
}
else if(std::string(argv2[i]) == std::string("-nwrite"))
{
if(rhostSpecified && (i + 1 < *argc))
{
int num = atoi(argv2[i + 1]);
if(createSockets && (num > 0) && !nWriteSpecified)
{
nWriteSpecified = true;
readConnections = new Connection*[num];
for(int j = 0; j < num; ++j)
{
int desc = GetClientSocketDescriptor(port);
if(desc != -1)
{
readConnections[nReadConnections] = new SocketConnection(desc);
++nReadConnections;
}
}
}
deleteCount = 2;
}
}
else if(std::string(argv2[i]) == std::string("-key")) else if(std::string(argv2[i]) == std::string("-key"))
{ {
if(i + 1 < *argc) if(i + 1 < *argc)
...@@ -304,18 +264,58 @@ ParentProcess::Connect(int *argc, char **argv[], bool createSockets, ...@@ -304,18 +264,58 @@ ParentProcess::Connect(int *argc, char **argv[], bool createSockets,
} }
} // end for i } // end for i
if(createSockets && (nReadConnections == 0 && nWriteConnections == 0)) //
{ // Now that we have connection information, create the connections.
// If we are supposed to create sockets but cannot, then we //
// throw a CouldNotConnectException so we know that we could not if(rhostSpecified && createSockets)
// connect back to the parent process.
EXCEPTION0(CouldNotConnectException);
}
else if(nWriteSpecified || nReadSpecified)
{ {
// Now that the sockets are open, exchange type representation info if(numRead > 0)
// and set that info in the socket connections. {
ExchangeTypeRepresentations(failCode); nReadSpecified = true;
writeConnections = new Connection*[numRead];
for(int j = 0; j < numRead; ++j)
{
int desc = GetClientSocketDescriptor(port);
if(desc != -1)
{
writeConnections[nWriteConnections] = new SocketConnection(desc);
++nWriteConnections;
}
}
}
if(numWrite > 0)
{
nWriteSpecified = true;
readConnections = new Connection*[numWrite];
for(int j = 0; j < numWrite; ++j)
{
int desc = GetClientSocketDescriptor(port);
if(desc != -1)
{
readConnections[nReadConnections] = new SocketConnection(desc);
++nReadConnections;
}
}
}
if(nReadConnections == 0 && nWriteConnections == 0)
{
//
// If we are supposed to create sockets but cannot, then we
// throw a CouldNotConnectException so we know that we could not
// connect back to the parent process.
//
EXCEPTION0(CouldNotConnectException);
}
else
{
//
// Now that the sockets are open, exchange type representation info
// and set that info in the socket connections.
//
ExchangeTypeRepresentations(failCode);
}
} }
} }
......
...@@ -38,6 +38,11 @@ class Connection; ...@@ -38,6 +38,11 @@ class Connection;
// Brad Whitlock, Mon Dec 16 14:27:22 PST 2002 // Brad Whitlock, Mon Dec 16 14:27:22 PST 2002
// Added a security key. // Added a security key.
// //
// Brad Whitlock, Tue Jul 29 10:54:29 PDT 2003
// Added numRead and numWrite to the Connect method so we know how many
// connections to create without having to pass the numbers on the command
// line.
//
// **************************************************************************** // ****************************************************************************
class COMM_API ParentProcess class COMM_API ParentProcess
...@@ -45,7 +50,8 @@ class COMM_API ParentProcess ...@@ -45,7 +50,8 @@ class COMM_API ParentProcess
public: public:
ParentProcess(); ParentProcess();
~ParentProcess(); ~ParentProcess();
void Connect(int *argc, char **argv[], bool createSockets, int failCode=0); void Connect(int numRead, int numWrite, int *argc, char **argv[],
bool createSockets, int failCode=0);
const std::string &GetHostName() const; const std::string &GetHostName() const;
std::string GetTheUserName() const; std::string GetTheUserName() const;
Connection *GetReadConnection(int i=0) const; Connection *GetReadConnection(int i=0) const;
......
...@@ -1406,7 +1406,9 @@ RemoteProcess::SecureShellArgs() const ...@@ -1406,7 +1406,9 @@ RemoteProcess::SecureShellArgs() const
// Creation: Mon May 5 13:05:24 PST 2003 // Creation: Mon May 5 13:05:24 PST 2003
// //
// Modifications: // Modifications:
// // Brad Whitlock, Tue Jul 29 10:51:42 PDT 2003
// I removed -nread and -nwrite from the command line.
//
// **************************************************************************** // ****************************************************************************
void void
...@@ -1480,14 +1482,6 @@ RemoteProcess::CreateCommandLine(stringVector &args, const std::string &rHost, ...@@ -1480,14 +1482,6 @@ RemoteProcess::CreateCommandLine(stringVector &args, const std::string &rHost,
sprintf(tmp, "%d", listenPortNum); sprintf(tmp, "%d", listenPortNum);
args.push_back(tmp); args.push_back(tmp);
args.push_back("-nread");
sprintf(tmp, "%d", numRead);
args.push_back(tmp);
args.push_back("-nwrite");
sprintf(tmp, "%d", numWrite);
args.push_back(tmp);
// //
// Add the security key // Add the security key
// //
......
...@@ -239,7 +239,7 @@ Init::SetComponentName(const char *cname) ...@@ -239,7 +239,7 @@ Init::SetComponentName(const char *cname)
{ {
int len; int len;
if (cname != 0 && (len = strlen(cname) > 0)) if (cname != 0 && (len = strlen(cname)) > 0)
{ {
len = len < sizeof(componentName) ? len : sizeof(componentName) - 1; len = len < sizeof(componentName) ? len : sizeof(componentName) - 1;
strncpy(componentName, cname, len); strncpy(componentName, cname, len);
......
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
#include <vtkUnstructuredGridBoundaryFilter.h> #include <vtkUnstructuredGridBoundaryFilter.h>
#include <vtkVisItUtility.h> #include <vtkVisItUtility.h>
#include <avtCallback.h>
#include <avtDatabaseMetaData.h> #include <avtDatabaseMetaData.h>
#include <avtDatasetCollection.h> #include <avtDatasetCollection.h>
#include <avtDomainBoundaries.h> #include <avtDomainBoundaries.h>
...@@ -1212,6 +1213,9 @@ avtGenericDatabase::GetVectorVariable(const char *varname, int ts, int domain, ...@@ -1212,6 +1213,9 @@ avtGenericDatabase::GetVectorVariable(const char *varname, int ts, int domain,
// Hank Childs, Fri Mar 14 20:56:40 PST 2003 // Hank Childs, Fri Mar 14 20:56:40 PST 2003
// Turned off caching in some instances. // Turned off caching in some instances.
// //
// Hank Childs, Tue Jul 29 16:48:28 PDT 2003
// Scale mesh when appropriate. Also cache bounds.
//
// **************************************************************************** // ****************************************************************************
vtkDataSet * vtkDataSet *
...@@ -1251,6 +1255,9 @@ avtGenericDatabase::GetMesh(const char *meshname, int ts, int domain, ...@@ -1251,6 +1255,9 @@ avtGenericDatabase::GetMesh(const char *meshname, int ts, int domain,
// //
mesh->Update(); mesh->Update();
AssociateBounds(mesh);
ScaleMesh(mesh);
cache.CacheVTKObject(meshname, avtVariableCache::DATASET_NAME, ts, cache.CacheVTKObject(meshname, avtVariableCache::DATASET_NAME, ts,
domain, material, mesh); domain, material, mesh);
...@@ -4226,3 +4233,207 @@ avtGenericDatabase::QueryZones(const string &varName, const int dom, ...@@ -4226,3 +4233,207 @@ avtGenericDatabase::QueryZones(const string &varName, const int dom,
return rv; return rv;
} }
// ****************************************************************************
// Method: avtGenericDatabase::AssociateBounds
//
// Purpose:
// Calls GetBounds on the dataset one time and associates the information
// with the dataset. This avoids having the routine called repeatedly.
//
// Programmer: Hank Childs
// Creation: July 29, 2003
//
// ****************************************************************************
void
avtGenericDatabase::AssociateBounds(vtkDataSet *ds)
{
float bounds[6];
ds->GetBounds(bounds);
vtkFloatArray *arr = vtkFloatArray::New();
arr->SetName("avtOriginalBounds");
arr->SetNumberOfTuples(6);
for (int i = 0 ; i < 6 ; i++)
arr->SetTuple1(i, bounds[i]);
ds->GetFieldData()->AddArray(arr);
arr->Delete();
}
// ****************************************************************************
// Method: avtGenericDatabase::ScaleMesh
//
// Purpose:
// Scales the mesh in if it is too big.
//
// Programmer: Hank Childs
// Creation: July 29, 2003
//
// ****************************************************************************
void