Commit 96cf3829 authored by hrchilds's avatar hrchilds
Browse files

Update from October 26, 2004

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@348 18c085ea-50e0-402c-830e-de6fd14e8384
parent cbe51a83
......@@ -793,9 +793,9 @@ env command for configure.
#
# Build and install it in the visit directory.
#
gunzip visit040913.tar.gz
tar xf visit040913.tar
cd visit040913/config-site
gunzip visit041108.tar.gz
tar xf visit041108.tar
cd visit041108/config-site
echo VISITHOME=$VISITDIR > `hostname`.conf
sed "s/ARCH/$VISITARCH/" Template.conf >> `hostname`.conf
cd ..
......@@ -804,12 +804,12 @@ make
clearcase_bin/visit-bin-dist
# Use the appropriate install command based on the operating system on
# which you built VisIt.
clearcase_bin/visit-install 1.3.5 aix $VISITDIR
clearcase_bin/visit-install 1.3.5 irix6 $VISITDIR
clearcase_bin/visit-install 1.3.5 linux $VISITDIR
clearcase_bin/visit-install 1.3.5 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.3.5 osf1 $VISITDIR
clearcase_bin/visit-install 1.3.5 sunos5 $VISITDIR
clearcase_bin/visit-install 1.4 aix $VISITDIR
clearcase_bin/visit-install 1.4 irix6 $VISITDIR
clearcase_bin/visit-install 1.4 linux $VISITDIR
clearcase_bin/visit-install 1.4 linux-ia64 $VISITDIR
clearcase_bin/visit-install 1.4 osf1 $VISITDIR
clearcase_bin/visit-install 1.4 sunos5 $VISITDIR
When running the configure script you can enable or disable certain dependent
packages. All the configure options are listed at the beginning of the
......
......@@ -17,7 +17,7 @@ Unix and Mac OS X:
where
"version" will be 1.3.5 for the current distribution.
"version" will be 1.4 for the current distribution.
"platform" will be one of the following: aix, darwin, irix6, linux,
osf1, or sunos5 depending on the machine. The one you use should
......@@ -28,17 +28,17 @@ Unix and Mac OS X:
For example
visit-install 1.3.5 irix6 /usr/local/visit
visit-install 1.4 irix6 /usr/local/visit
will install the irix6, 1.3.5 version of visit in the directory
will install the irix6, 1.4 version of visit in the directory
"/usr/local/visit". Note that you will need to have the file
"visit1_3_5.irix6.tar.gz" present in the current directory for this
"visit1_4.irix6.tar.gz" present in the current directory for this
to function properly. You can install multiple binaries into the
same directory. For example, you could then execute
visit-install 1.3.5 linux /usr/local/visit
visit-install 1.4 linux /usr/local/visit
to add a linux, 1.3.5 version of visit to the same directory.
to add a linux, 1.4 version of visit to the same directory.
2. Add the bin directory below the installation directory
(/usr/local/visit/bin in our example) to each user's search path.
......@@ -76,8 +76,8 @@ Unix and Mac OS X:
Windows:
1. Copy the file visit1.3.5.exe to your desktop.
1. Copy the file visit1.4.exe to your desktop.
2. Double click on the visit1.3.5.exe icon to run the installer.
2. Double click on the visit1.4.exe icon to run the installer.
3. Follow the directions provided by the installer.
......@@ -340,6 +340,10 @@ $0 = shift @ARGV;
# Fixed security key for totalview. Made "visit -env" print to
# stdout instead of stderr so it is easier to capture/redirect.
#
# Jeremy Meredith, Tue Oct 26 22:11:23 PDT 2004
# Added parallel sublauncher arguments. Specifically needed for srun in
# psub/srun because srun can't figure out the right number of processors.
#
###############################################################################
......@@ -1325,6 +1329,11 @@ if ($procs_set or ($parallel and $parlaunch_set))
{
($psubcmd, $sublauncher) = split /\W+/, substr($launch,4);
$sublauncher = "" if (!defined $sublauncher);
if ($sublauncher eq "srun" and $procs_set)
{
$sublauncherargs = "-n $procs";
}
if (grep(/csh/, "$ENV{SHELL}"))
{
$libpathcmd="setenv LIBPATH $ENV{LIBPATH} ; setenv LD_LIBRARY_PATH $ENV{LIBPATH}";
......@@ -1344,7 +1353,8 @@ if ($procs_set or ($parallel and $parlaunch_set))
push @parcmd, "-b", $bank if $bank_set;
push @parcmd, "-tM", $time if $time_set;
push @parcmd, "-expedite" if $expedite_engine;
push @parcmd, "-i", "cd $cwd ; $libpathcmd ; $sublauncher @visitcmd";
push @parcmd, "-i", "cd $cwd ; $libpathcmd ; ".
" $sublauncher $sublauncherargs @visitcmd";
@printcmd = @parcmd;
push @printcmd, ("\"".(pop @printcmd)."\"");
}
......
......@@ -11,7 +11,7 @@
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -30,7 +30,7 @@ VisualCueList::VisualCueList() : AttributeSubject("a*")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -68,7 +68,7 @@ VisualCueList::VisualCueList(const VisualCueList &obj) : AttributeSubject("a*")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -92,15 +92,16 @@ VisualCueList::~VisualCueList()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
// ****************************************************************************
void
VisualCueList&
VisualCueList::operator = (const VisualCueList &obj)
{
if (this == &obj) return *this;
AttributeGroupVector::const_iterator pos;
// *** Copy the cues field ***
......@@ -120,6 +121,7 @@ VisualCueList::operator = (const VisualCueList &obj)
SelectAll();
return *this;
}
// ****************************************************************************
......@@ -131,7 +133,7 @@ VisualCueList::operator = (const VisualCueList &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -164,7 +166,7 @@ VisualCueList::operator == (const VisualCueList &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -185,7 +187,7 @@ VisualCueList::operator != (const VisualCueList &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -206,7 +208,7 @@ VisualCueList::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -234,7 +236,7 @@ VisualCueList::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -260,7 +262,7 @@ VisualCueList::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -287,7 +289,7 @@ VisualCueList::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -308,7 +310,7 @@ VisualCueList::SelectAll()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -353,7 +355,7 @@ VisualCueList::GetCues()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -378,7 +380,7 @@ VisualCueList::AddVisualCueInfo(const VisualCueInfo &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -406,7 +408,7 @@ VisualCueList::ClearVisualCueInfos()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -441,7 +443,7 @@ VisualCueList::RemoveVisualCueInfo(int index)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -462,7 +464,7 @@ VisualCueList::GetNumVisualCueInfos() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -483,7 +485,7 @@ VisualCueList::GetVisualCueInfo(int i)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -504,7 +506,7 @@ VisualCueList::GetVisualCueInfo(int i) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -525,7 +527,7 @@ VisualCueList::operator [] (int i)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -550,7 +552,7 @@ VisualCueList::operator [] (int i) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -575,7 +577,7 @@ VisualCueList::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -600,7 +602,7 @@ VisualCueList::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -625,7 +627,7 @@ VisualCueList::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:12 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......
......@@ -13,7 +13,7 @@ class VisualCueInfo;
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Jun 10 14:34:11 PST 2004
// Creation: Tue Oct 26 15:21:29 PST 2004
//
// Modifications:
//
......@@ -26,7 +26,7 @@ public:
VisualCueList(const VisualCueList &obj);
virtual ~VisualCueList();
virtual void operator = (const VisualCueList &obj);
virtual VisualCueList& operator = (const VisualCueList &obj);
virtual bool operator == (const VisualCueList &obj) const;
virtual bool operator != (const VisualCueList &obj) const;
......@@ -40,7 +40,6 @@ public:
void SelectCues();
// Property setting methods
void SetCues(const AttributeGroupVector &cues_);
// Property getting methods
const AttributeGroupVector &GetCues() const;
......
......@@ -78,48 +78,25 @@ VisWinLighting::~VisWinLighting()
// Modify the routine to set the light position so that the light source
// direction vtk passes to OpenGL is normalized.
//
// Kathleen Bonnell, Tue Oct 26 15:58:06 PDT 2004
// Camera lights should be defined defined in a coordinate space where
// the camera is located at (0, 0, 1), looking towards (0, 0, 0). Thus the
// focal point should always be (0, 0, 0), and the position is the negative
// of the avtLight's direction.
//
// ****************************************************************************
void
VisWinLighting::InitDefaultLight()
{
//
// Get the camera's distance from the focal point.
//
vtkCamera *cam = mediator.GetCanvas()->GetActiveCamera();
float cpos[3], cfoc[3], proj[3], projLen = 0.;
cam->GetPosition(cpos);
cam->GetFocalPoint(cfoc);
proj[0] = cpos[0] - cfoc[0];
proj[1] = cpos[1] - cfoc[1];
proj[2] = cpos[2] - cfoc[2];
int i;
for (i = 0; i < 3; i++)
{
projLen += (proj[i] * proj[i]);
}
//
// Position the light so that vtk passes a unit vector for
// the light direction to OpenGL. The projected length is
// actually the square of the distance, but that is what we
// want, so there is no use taking the square root, only to
// to square it again.
//
float pos[3];
pos[0] = cfoc[0] + proj[0] / projLen;
pos[1] = cfoc[0] + proj[1] / projLen;
pos[2] = cfoc[0] + proj[2] / projLen;
lights[0]->SetLightTypeToCameraLight();
lights[0]->SetFocalPoint(cfoc);
lights[0]->SetPosition(pos);
lights[0]->SetFocalPoint(0, 0, 0);
lights[0]->SetPosition(0, 0, 1);
lights[0]->SetColor(1., 1., 1.);
lights[0]->SetIntensity(1.);
lights[0]->SwitchOn();
for (i = 1 ; i < MAX_LIGHTS ; i++)
for (int i = 1 ; i < MAX_LIGHTS ; i++)
{
lights[i]->SwitchOff();
}
......@@ -386,6 +363,12 @@ VisWinLighting::GetNumLightsEnabled()
// Modify the routine to set the light position so that the light source
// direction vtk passes to OpenGL is normalized.
//
// Kathleen Bonnell, Tue Oct 26 15:58:06 PDT 2004
// Camera lights should be defined defined in a coordinate space where
// the camera is located at (0, 0, 1), looking towards (0, 0, 0). Thus the
// focal point should always be (0, 0, 0), and the position is the negative
// of the avtLight's direction.
//
// ****************************************************************************
void
......@@ -424,11 +407,21 @@ VisWinLighting::UpdateLightPositions()
for (i = 0; i < MAX_LIGHTS ; i++)
{
aLight = avtlights.Light(i);
pos[0] = cfoc[0] - aLight.direction[0] / projLen;
pos[1] = cfoc[1] - aLight.direction[1] / projLen;
pos[2] = cfoc[2] - aLight.direction[2] / projLen;
lights[i]->SetPosition(pos);
lights[i]->SetFocalPoint(cfoc);
if (aLight.type == CAMERA)
{
lights[i]->SetPosition(-aLight.direction[0],
-aLight.direction[1],
-aLight.direction[2]);
lights[i]->SetFocalPoint(0, 0, 0);
}
else
{
pos[0] = cfoc[0] - aLight.direction[0] / projLen;
pos[1] = cfoc[1] - aLight.direction[1] / projLen;
pos[2] = cfoc[2] - aLight.direction[2] / projLen;
lights[i]->SetPosition(pos);
lights[i]->SetFocalPoint(cfoc);
}
}
}
else
......
......@@ -3349,6 +3349,9 @@ VisWindow::GetFrameAndState(int &nFrames,
// Kathleen Bonnell, Tue Nov 5 08:32:59 PST 2002
// Allow tools to update lighting conditions.
//
// Kathleen Bonnell, Tue Oct 26 15:58:06 PDT 2004
// Call UpdateView so that CameraLights' transform matrix gets recomputed.
//
// ****************************************************************************
void
......@@ -3381,6 +3384,7 @@ VisWindow::SetLightList(const LightList *ll)
//
plots->SetAmbientCoefficient(lighting->GetAmbientCoefficient());
}
UpdateView();
Render();
}
}
......
This diff is collapsed.
......@@ -28,6 +28,15 @@
// Rewrote some aspects of support for meshes with coordinates so the
// "coords" attributes are used.
//
// Eric Brugger, Tue Oct 26 08:12:40 PDT 2004
// The pixie format was modified so that values defined on the curvilinear
// mesh were nodal instead of zonal. One artifact of this change was that
// now those arrays are 2*nx*ny instead of 1*nx*ny in the case of 2d
// variables. In addition to modifying the interpretation of those values
// I modified the reader to the read the appropriate hyperslab in the 2d
// case and modified a number of methods to pass around the hyperslab
// information.
//
// ****************************************************************************
class avtPixieFileFormat : public avtMTSDFileFormat
......@@ -75,20 +84,26 @@ public:
protected:
void Initialize();
void DetermineVarDimensions(const VarInfo &info,
int *dims,
int &nSpatialDims) const;
hsize_t *hyperslabDims,
int *varDims,
int &nVarDims) const;
bool MeshIsCurvilinear(const std::string &) const;
vtkDataSet *CreatePointMesh(int timestate, const VarInfo &,
int nDims) const;
const hsize_t *hyperslabDims,
const int *varDims,
int nVarDims) const;
vtkDataSet *CreateCurvilinearMesh(int timestate, const VarInfo &,
int nnodes[3],
int nDims);
const hsize_t *hyperslabDims,
const int *varDims,
int nVarDims);
bool ReadCoordinateFields(int timestate, const VarInfo &,
float *coords[3], int dims[3],
float *coords[3],
const hsize_t *dims,
int nDims) const;
bool ReadVariableFromFile(int timestate,
const std::string &,
const VarInfo &it,
const hsize_t *dims,
void *dest) const;
......
......@@ -178,7 +178,7 @@ avtVistaAle3dFileFormat::CreateInterface(avtVistaFileFormat *vff,
// ****************************************************************************
avtVistaAle3dFileFormat::avtVistaAle3dFileFormat(const char *filename)
: avtVistaFileFormat(filename)
: avtVistaFileFormat(filename, FTYPE_ALE3D)
{
spatialDim = 0;
numPieces = 0;
......@@ -271,12 +271,10 @@ avtVistaAle3dFileFormat::FreeUpResources(void)
// Creation: Tue Feb 17 19:19:07 PST 2004
//
// Modifications:
//
// Mark C. Miller, Wed May 19 10:56:11 PDT 2004
// Added support for 2D meshes
//
// Brad Whitlock, Mon Sep 20 09:58:27 PDT 2004
// Fixed so it builds on Windows.
//
// ****************************************************************************
void
......@@ -309,7 +307,7 @@ avtVistaAle3dFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
if (pieceGroups.size() > 1)
{
cerr << "WARNING!!! Found more than one candidate group of domains" << endl;
cerr << " Using group named \"" << groupNames[0].c_str() << "\"" << endl;
cerr << " Using group named \"" << groupNames[0] << "\"" << endl;
// rebuild the list of pieceNodes using only the group we've chosen
numPieces = 0;
......@@ -448,7 +446,7 @@ avtVistaAle3dFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
// Ok, now run through the map and find which fields were counted exactly
// numPieces time and which were less (there should not be any that occured
// more than numPieces times)
std::map<string, IMVal<int,0> >::const_iterator mi;
map<string, IMVal<int,0> >::const_iterator mi;
for (mi = fieldMap.begin(); mi != fieldMap.end(); mi++)
{
if (mi->second.val == numPieces)
......@@ -790,12 +788,10 @@ avtVistaAle3dFileFormat::GetMaterial(int domain, const char *var)
// Creation: Tue Feb 17 19:19:07 PST 2004
//
// Modifications:
//
// Mark C. Miller, Wed May 19 10:56:11 PDT 2004
// Added support for 2D meshes
//
// Brad Whitlock, Mon Sep 20 09:59:39 PDT 2004
// Fixed so it builds on Windows.
//
// ****************************************************************************
vtkDataSet *
......@@ -889,7 +885,7 @@ avtVistaAle3dFileFormat::GetMesh(int domain, const char *meshname)
const double *coords0 = coords[0];
const double *coords1 = coords[1];
const double *coords2 = coords[2];
for (i = 0 ; i < numNodes; i++)
for (int i = 0 ; i < numNodes; i++)
{
*tmp++ = *coords0++;
*tmp++ = *coords1++;
......
......@@ -159,7 +159,7 @@ avtVistaDiabloFileFormat::CreateInterface(avtVistaFileFormat *vff,
// ****************************************************************************
avtVistaDiabloFileFormat::avtVistaDiabloFileFormat(const char *filename)
: avtVistaFileFormat(filename)
: avtVistaFileFormat(filename, FTYPE_DIABLO)
{
spatialDim = 0;
numPieces = 0;
......@@ -243,12 +243,15 @@ avtVistaDiabloFileFormat::FreeUpResources(void)
// Mark C. Miller, Wed May 19 10:56:11 PDT 2004
// Added support for 2D meshes
//
// Mark C. Miller, Tue Oct 26 10:28:36 PDT 2004
// Filtered out BCs from relations. Added node-centered fields
//
// ****************************************************************************
void
avtVistaDiabloFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
{
int i, j;
int i, j, n;
const Node *top = vTree->GetTop();
......@@ -262,6 +265,23 @@ avtVistaDiabloFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
return;
}
//
// Strip out anything that looks like a boundary condition relation.
// They should really be fields, but thats not how Diablo is writing them
//
vector<Node*> tmpPieceNodes;
for (i = 0; i < numPieces; i++)
{
if (StringHelpers::FindRE(pieceNodes[i]->parent->text,"BC") < 0)
tmpPieceNodes.push_back(pieceNodes[i]);
}
if (tmpPieceNodes.size() < numPieces)
{
numPieces = tmpPieceNodes.size();