Commit 81700f06 authored by hrchilds's avatar hrchilds
Browse files

Update from December 20, 2004

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@383 18c085ea-50e0-402c-830e-de6fd14e8384
parent 2c8ec6be
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -52,7 +52,7 @@ PickAttributes::PickType_FromString(const std::string &s, PickAttributes::PickTy
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -124,7 +124,7 @@ PickAttributes::PickAttributes() : AttributeSubject("s*bbbbbbbbbsbiiii*iissFFFFF
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -235,7 +235,7 @@ PickAttributes::PickAttributes(const PickAttributes &obj) : AttributeSubject("s*
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -259,7 +259,7 @@ PickAttributes::~PickAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -373,7 +373,7 @@ PickAttributes::operator = (const PickAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -491,7 +491,7 @@ PickAttributes::operator == (const PickAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -512,7 +512,7 @@ PickAttributes::operator != (const PickAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -533,7 +533,7 @@ PickAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -561,7 +561,7 @@ PickAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -587,7 +587,7 @@ PickAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -614,7 +614,7 @@ PickAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -690,7 +690,7 @@ PickAttributes::SelectAll()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -1949,7 +1949,7 @@ PickAttributes::SelectGlobalIncidentElements()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -1974,7 +1974,7 @@ PickAttributes::AddPickVarInfo(const PickVarInfo &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2002,7 +2002,7 @@ PickAttributes::ClearPickVarInfos()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2037,7 +2037,7 @@ PickAttributes::RemovePickVarInfo(int index)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2058,7 +2058,7 @@ PickAttributes::GetNumPickVarInfos() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2079,7 +2079,7 @@ PickAttributes::GetPickVarInfo(int i)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2100,7 +2100,7 @@ PickAttributes::GetPickVarInfo(int i) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2121,7 +2121,7 @@ PickAttributes::operator [] (int i)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2146,7 +2146,7 @@ PickAttributes::operator [] (int i) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2226,7 +2226,7 @@ PickAttributes::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2306,7 +2306,7 @@ PickAttributes::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -2386,7 +2386,7 @@ PickAttributes::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Wed Dec 15 16:57:57 PST 2004
// Creation: Mon Dec 20 13:34:27 PST 2004
//
// Modifications:
//
......@@ -3080,7 +3080,7 @@ PickAttributes::CreateOutputString(std::string &os, bool withLetter)
{
if (!elementIsGhost)
{
if (globalElement == -1)
if (!displayGlobalIds || globalElement == -1)
SNPRINTF(buff, 512, "%d", elementNumber);
else
SNPRINTF(buff, 512, "%d (global)", globalElement);
......@@ -3110,7 +3110,7 @@ PickAttributes::CreateOutputString(std::string &os, bool withLetter)
{
if (!elementIsGhost)
{
if (globalElement == -1)
if (!displayGlobalIds || globalElement == -1)
SNPRINTF(buff, 512, "%d", elementNumber);
else
SNPRINTF(buff, 512, "%d (global)", globalElement);
......
......@@ -354,7 +354,7 @@ PickAttributes::CreateOutputString(std::string &os, bool withLetter)
{
if (!elementIsGhost)
{
if (globalElement == -1)
if (!displayGlobalIds || globalElement == -1)
SNPRINTF(buff, 512, "%d", elementNumber);
else
SNPRINTF(buff, 512, "%d (global)", globalElement);
......@@ -384,7 +384,7 @@ PickAttributes::CreateOutputString(std::string &os, bool withLetter)
{
if (!elementIsGhost)
{
if (globalElement == -1)
if (!displayGlobalIds || globalElement == -1)
SNPRINTF(buff, 512, "%d", elementNumber);
else
SNPRINTF(buff, 512, "%d (global)", globalElement);
......
......@@ -72,6 +72,10 @@ avtPickByNodeQuery::~avtPickByNodeQuery()
// Kathleen Bonnell, Wed Dec 15 17:24:27 PST 2004
// Added logic to handle case when chosen node is to be considered global.
//
// Kathleen Bonnell, Mon Dec 20 08:33:16 PST 2004
// Added early return when DB should determine local id from global, and
// pickAtts not fulfilled when returned from the query.
//
// ****************************************************************************
void
......@@ -105,6 +109,8 @@ avtPickByNodeQuery::Execute(vtkDataSet *ds, const int dom)
nodeid = vtkVisItUtility::GetLocalElementForGlobal(ds, nodeid, false);
if (nodeid == -1)
return;
pickAtts.SetGlobalElement(pickAtts.GetElementNumber());
pickAtts.SetElementNumber(nodeid);
DBsuppliedNodeId = false;
}
GetNodeCoords(ds, nodeid);
......@@ -137,6 +143,8 @@ avtPickByNodeQuery::Execute(vtkDataSet *ds, const int dom)
if (pickAtts.GetElementIsGlobal() && DBsuppliedNodeId)
{
if (!pickAtts.GetFulfilled())
return;
nodeid = GetCurrentNodeForOriginal(ds, pickAtts.GetElementNumber());
}
......
......@@ -270,6 +270,9 @@ avtPickQuery::PostExecute(void)
// Kathleen Bonnell, Wed Dec 15 09:19:39 PST 2004
// Turn on GlobalZone/Node numbers when appropriate.
//
// Kathleen Bonnell, Mon Dec 20 14:09:21 PST 2004
// Turn on OriginalZone/Node numbers when turning on Global versions.
//
// ****************************************************************************
avtDataObject_p
......@@ -347,10 +350,12 @@ avtPickQuery::ApplyFilters(avtDataObject_p inData)
dspec->TurnZoneNumbersOn();
dspec->TurnNodeNumbersOn();
}
if (pickAtts.GetDisplayGlobalIds())
if (pickAtts.GetDisplayGlobalIds() || pickAtts.GetElementIsGlobal())
{
dspec->TurnGlobalZoneNumbersOn();
dspec->TurnGlobalNodeNumbersOn();
dspec->TurnZoneNumbersOn();
dspec->TurnNodeNumbersOn();
}
}
......
......@@ -21,6 +21,8 @@
#include <GlobalAttributes.h>
#include <KeyframeAttributes.h>
#include <NameSimplifier.h>
#include <Plot.h>
#include <PlotList.h>
#include <WindowInformation.h>
#include <Utility.h>
#include <ViewerProxy.h>
......@@ -1562,6 +1564,9 @@ QvisFilePanel::DisplayVirtualDBInformation(const QualifiedFilename &file) const
// I changed it so it returns early if we're not allowing file
// selection changes.
//
// Brad Whitlock, Mon Dec 20 16:19:23 PST 2004
// Added code to update the state of the Replace button.
//
// ****************************************************************************
void
......@@ -1710,6 +1715,9 @@ QvisFilePanel::UpdateFileSelection()
// Restore signals.
fileListView->blockSignals(false);
blockSignals(false);
// Update the state of the Replace button.
UpdateReplaceButtonEnabledState();
}
// ****************************************************************************
......@@ -1765,6 +1773,83 @@ QvisFilePanel::HighlightedItemIsInvalid() const
return currentItemInvalid;
}
// ****************************************************************************
// Method: QvisFilePanel::UpdateReplaceButtonEnabledState
//
// Purpose:
// This method updates the enabled state of the Replace button.
//
// Arguments:
//
// Returns: True if the button was enabled; False otherwise.
//
// Note:
//
// Programmer: Brad Whitlock
// Creation: Mon Dec 20 16:17:55 PST 2004
//
// Modifications:
//
// ****************************************************************************
bool
QvisFilePanel::UpdateReplaceButtonEnabledState()
{
bool enabled = false;
if(!fileServer->GetOpenFile().Empty())
{
QListViewItem *item = fileListView->currentItem();
if(item != 0)
{
QvisListViewFileItem *ci = (QvisListViewFileItem *)item;
bool differentFiles = fileServer->GetOpenFile() != ci->file;
stringVector defs(fileServer->GetVirtualFileDefinition(ci->file));
if(defs.size() > 1)
{
// Only allow the user to replace if they click on one of
// the real time states.
enabled = ci->timeState >= 0;
}
else
{
const avtDatabaseMetaData *md = fileServer->GetMetaData(ci->file);
if(md != 0)
{
if(md->GetNumStates() > 1)
{
// Only allow the user to replace if they click on
// one of the real time states.
enabled = ci->timeState >= 0;
}
else
enabled = differentFiles;
}
else
enabled = differentFiles;
}
if(!enabled)
{
std::string highlightFile(ci->file.FullName());
PlotList *pl = viewer->GetPlotList();
for(int i = 0; i < pl->GetNumPlots(); ++i)
{
const Plot &current = pl->operator[](i);
if(highlightFile != current.GetDatabaseName())
{
enabled = true;
break;
}
}
}
}
}
replaceButton->setEnabled(enabled);
return enabled;
}
// ****************************************************************************
// Method: QvisFilePanel::SubjectRemoved
//
......@@ -1862,6 +1947,9 @@ QvisFilePanel::ConnectWindowInformation(WindowInformation *wi)
// told the viewer to open the data file to here so file replacement would
// no longer do more work than is required.
//
// Brad Whitlock, Mon Dec 20 16:20:49 PST 2004
// Changed how the Replace button is updated.
//
// ****************************************************************************
bool
......@@ -1882,11 +1970,8 @@ QvisFilePanel::OpenFile(const QualifiedFilename &qf, int timeState, bool reOpen)
viewer->OpenDatabase(qf.FullName().c_str(), timeState, true);
}
// Get a pointer to the file's metadata.
const avtDatabaseMetaData *md = fileServer->GetMetaData(qf);
int nTimeStates = md ? md->GetNumStates() : 1;
replaceButton->setEnabled(nTimeStates > 1);
// Update the Replace and Overlay buttons.
UpdateReplaceButtonEnabledState();
overlayButton->setEnabled(false);
return retval;
......@@ -1921,6 +2006,9 @@ QvisFilePanel::OpenFile(const QualifiedFilename &qf, int timeState, bool reOpen)
// Brad Whitlock, Mon Nov 3 10:46:18 PDT 2003
// Rewrote so replace does not first tell the viewer to open the database.
//
// Brad Whitlock, Mon Dec 20 16:21:30 PST 2004
// Changed how the Replace button's enabled state is set.
//
// ****************************************************************************
void
......@@ -1932,11 +2020,8 @@ QvisFilePanel::ReplaceFile(const QualifiedFilename &filename, int timeState)
// Tell the viewer to replace the database.
viewer->ReplaceDatabase(filename.FullName().c_str(), timeState);
// Get a pointer to the file's metadata.
const avtDatabaseMetaData *md = fileServer->GetMetaData(filename);
int nTimeStates = md ? md->GetNumStates() : 1;
replaceButton->setEnabled(nTimeStates > 1);
// Update the Replace and Overlay buttons.
UpdateReplaceButtonEnabledState();
overlayButton->setEnabled(false);
}
......@@ -1967,6 +2052,9 @@ QvisFilePanel::ReplaceFile(const QualifiedFilename &filename, int timeState)
// I rewrote the routine so it no longer ends up telling the viewer to
// open the database before overlaying.
//
// Brad Whitlock, Mon Dec 20 16:22:19 PST 2004
// Changed how the enabled state for the Replace button is set.
//
// ****************************************************************************
void
......@@ -1978,11 +2066,8 @@ QvisFilePanel::OverlayFile(const QualifiedFilename &filename)
// Tell the viewer to replace the database.
viewer->OverlayDatabase(filename.FullName().c_str());
// Get a pointer to the file's metadata.
const avtDatabaseMetaData *md = fileServer->GetMetaData(filename);
int nTimeStates = md ? md->GetNumStates() : 1;
replaceButton->setEnabled(nTimeStates > 1);
// Set the enabled state for the Replace and Overlay buttons.
UpdateReplaceButtonEnabledState();
overlayButton->setEnabled(false);
}
......@@ -2612,6 +2697,10 @@ QvisFilePanel::fileExpanded(QListViewItem *item)
// I made the open button turn into the activate button if we highlighted
// a file that we've opened before that is not the currently open file.
//
// Brad Whitlock, Mon Dec 20 12:13:42 PDT 2004
// I moved the code to update the enabled state of the replace button into
// its own method.
//
// ****************************************************************************
void
......@@ -2643,10 +2732,11 @@ QvisFilePanel::highlightFile(QListViewItem *item)
openButton->setText("Open");
openButton->setEnabled(true);
//
// If the highlighted file is not the active file, then
// enable the open, replace, overlay buttons.
bool enable = (fileServer->GetOpenFile() != fileItem->file);
replaceButton->setEnabled(enable || (fileItem->timeState >= 0));
//
bool enable = UpdateReplaceButtonEnabledState();
overlayButton->setEnabled(enable);
}
......
......@@ -99,6 +99,9 @@ class ViewerProxy;
// Brad Whitlock, Fri Aug 6 12:19:22 PDT 2004
// I added updateHeaderForLongName.
//
// Brad Whitlock, Mon Dec 20 12:18:36 PDT 2004
// I added UpdateReplaceButtonEnabledState
//
// ****************************************************************************
class GUI_API QvisFilePanel : public QWidget, public SimpleObserver, public GUIBase
......@@ -156,6 +159,7 @@ private:
void UpdateFileSelection();
void UpdateTimeFieldText(int timeState);
void UpdateAnimationControlsEnabledState();
bool UpdateReplaceButtonEnabledState();
bool OpenFile(const QualifiedFilename &filename, int timeState,
bool reOpen);
......
No preview for this file type
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
No preview for this file type
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>VisIt 1.4.1 Release Notes</title>
</head>
<body>
<center><b><font size="6">VisIt 1.4.1 Release Notes</font></b></center>
<p>Welcome to VisIt's release notes page. This page describes the important
enhancements and bug-fixes that were added to this release.</p>
<p><b><font size="4">Features added in version 1.4.1</font></b></p>
<ul>
<li>VisIt now has a Scatter plot, which allows you to visualize multivariate data as a point mesh. The new plot allows you to use up to 4 input variables. Up to three of the input variables can be used for coordinates and one of the input variables can be used for colors. Each of the dimensions can be scaled independently or they can all be mapped into a unit cube. The Scatter plot provides a plot wizard to help you initialize the many input variables to the plot so it is easier to create and use the plot.</li>
<li>VisIt can now read files written in the ASCII form of the TecPlot file format.</li>
<li>Zooming in on 2D datasets now increases the size of the viewport, making ir more square, until the zoomed rectangle takes up most of the vis window. This allows you to see more of the dataset as you zoom using the middle mouse button.</li>
<li>VisIt's Volume plot now has a 3rd rendering mode that lets you do raycasting volume-rendering. The new raycasting volume-renderer even accepts geometry from other plots allowing you to show both surfaces and volume-rendered data.</li>
<li>VisIt's Expressions window now has a new <i>Insert variables</i> button that lets you choose to insert variables from a list of available variables and expressions.</li>
<li>VisIt's Pick window now has a <i>Variables</i> button that lets you select secondary variables from a list of variables for the current plot.</li>
<li>Many of VisIt's plot and operator attributes windows that used a line edit control for entering a variable name have been improved so they use a variable menu. The variable menu allows you to select a variable from a list of variables for the active plot or the active source.</li>
<li>VisIt's 3D navigation mode now has a <i>Dolly interaction mode</i> that lets you move the camera through the dataset for genuine fly-throughs.</li>
<li>Point mesh rendering has been improved so that it is much faster.</li>
<li>VisIt can now read mixed variables from Flash files.</li>
<li>VisIt now supports data from the CMAT file format.</li>
<li>Changing the point size on a Mesh plot no longer causes a recalculation.</li>
<li>Replacing a file now works harder to preserve the old SIL selection, if possible.</li>
<li>The Replace button in VisIt's Main window is sometimes grayed out when it should remain active.</li>
<li>Opening Silo files is somewhat faster.</li>
<li>VisIt's <i>Save options</i> window works better when clicking the <i>Save</i> button.</li>
<li>VisIt now has the ability to pick on point meshes that have had glyphs applied.</li>
<li>VisIt has a new SubdivideQuads operator that helps VisIt render quadrilateral cells while minimizing rendering artifacts introduced by interpolating data in color space.</li>
<li>VisIt's Revolve operator is now built by default.</li>
<li>Planes in the Clip operator attributes window are now grayed out if they are turned off.</li>
<li>VisIt's <i>visit -movie</i> script can now save PNG image files.</li>
<li>The Volume plot's opacities are now scaled so as to highlight high opacities and reduce the contribution of lower opacities.</li>
<li>VisIt can now be built with xlC on AIX platforms.</li>
<li>You can now run many of VisIt's tools using their name on the command line instead of typing: <i>visit -command</i></li>
<li>VisIt now provides version-specific VisIt scripts, which allow for better error checking and prevent the mixing of public and private versions.</li>
</ul>
<p><b><font size="4">Bugs fixed in version 1.4.1</font></b></p>
<ul>
<li>Contour plot fails with a new type of Silo file.</li>
<li>Node pick returns the wrong node with a slide mesh.</li>
<li>VisIt's metadata server crashes in combination with a Lustre file system bug.</li>
<li>VisIt sometimes crashes during transitions to scalable rendering mode.</li>
<li>VisIt's compute engine crashes when generating a Surface plot of rect2d.silo</li>
<li>Pick returns totally wrong values for multi-block MRI dataset with percent slice.</li>
<li>VisIt's compute engine crashes when the IsoVolume operator is applied after the Slice operator.</li>
<li>VisIt's viewer crashes when given a bad expression.</li>
<li>VisIt's viewer crashes during re-open when there are bad expressions.</li>
<li>VisIt's metadata server crashes when reading certain Flash files.</li>
<li>VisIt's <i>visit -movie</i> movie generation script does not gracefully handle situations where VisIt cannot render an image in scalable rendering mode.</li>
<li>A recursive expression can cause VisIt's viewer to hang.</li>
<li>VisIt does not exit correctly when the <i>Engine chooser window</i> is open.</li>
<li>VisIt has a picking problem with the 2D Boundary plot.</li>
<li>The UV debug host profile should be interactive (poe) -- not psub.</li>
<li>The Subset window does not represent the current plot in rare cases.</li>
<li>Views based on actual data extents are not copied to new windows on first reference.</li>
<li>Mesh line offsets malfunction with the near clipping plane.</li>
<li>The Truecolor plot leaks resources.</li>
<li>The SAMRAI database reader plugin should return NULL for invalid variables in the spatial/data extents queries.</li>
<li>The IndexSelect operator using <i>block</i> can crash the compute engine or yield no data even when it should.</li>
<li>The facelist filter causes the compute engine to crash on degenerate hex cells.</li>
<li>The Volume plot can cause an exception on the viewer.</li>
<li>Picks on sliced Vector plots are not correct.</li>
<li>The avtOriginalNodes array is interpolated when sliced by the Slice operator.</li>
<li>Specular lighting affects unlit plots.</li>
<li>The Label plot option to draw both front and back facing cells in 3D does not work.</li>
<li>Code to release data for the Label plot's Normals filter is disabled.</li>
<li>No lighting for plot of Ensight data containing line elements.</li>
<li>Volume plot gets confused in software mode.</li>
<li>If you exit during a scalable render, the viewer does not exit.</li>
<li>Some plot and operator windows add unwanted floating point precision.</li>
<li>Cannot tighten clipping ranges when volume rendering with surfaces.</li>
<li>The Volume plot's legend can get confused.</li>
<li>Reference lines were not being drawn with labels.</li>
<li>There are rendering artifacts when using pan or zoom with images that have shadows.</li>
<li>Window resizing is not recognized by the software volume renderer.</li>
<li>The Slice operator's percent field incremented by 0.0001 unexpectedly.</li>
<li>VisIt's xml2window code generation program does not handle ucharVector.</li>
<li>Some databases do not display as ASCII characters in the Label plot even though they should.</li>
</ul>
<p>Click the following link to view the release notes for the previous version
of VisIt: <a href="relnotes1.4.html">VisIt 1.4 Release Notes</a>.</p>
</body>
</html>