Commit 2975242b authored by hrchilds's avatar hrchilds

Update from March 14, 2006

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@636 18c085ea-50e0-402c-830e-de6fd14e8384
parent 63beaf00
......@@ -2309,6 +2309,10 @@ avtStructuredDomainBoundaries::RequiresCommunication(avtGhostDataType gtype)
// Programmer: Hank Childs
// Creation: March 27, 2002
//
// Modifications:
// Mark C. Miller, Thu Mar 9 11:15:29 PST 2006
// Protected deref of meshes[i] with test for non-0
//
// ****************************************************************************
bool
avtStructuredDomainBoundaries::ConfirmMesh(vector<int> domainNum,
......@@ -2326,6 +2330,9 @@ avtStructuredDomainBoundaries::ConfirmMesh(vector<int> domainNum,
}
Boundary &b = wholeBoundary[domainNum[i]];
if (meshes[i] == 0)
return false;
//
// Comparing points and cells is probably good enough.
//
......
......@@ -818,6 +818,11 @@ avtUnstructuredDomainBoundaries::RequiresCommunication(avtGhostDataType gtype)
// Programmer: Akira Haddox
// Creation: August 11, 2003
//
// Modifications:
//
// Mark C. Miller, Thu Mar 9 11:15:29 PST 2006
// Protected loop with checks for null mesh pointers
//
// ****************************************************************************
bool
......@@ -828,6 +833,9 @@ avtUnstructuredDomainBoundaries::ConfirmMesh(vector<int> domainNum,
int i;
for (i = 0; i < domainNum.size(); ++i)
{
if (meshes[i] == 0)
continue;
int d1 = domainNum[i];
int j;
for (j = i + 1; j < domainNum.size(); ++j)
......@@ -841,6 +849,9 @@ avtUnstructuredDomainBoundaries::ConfirmMesh(vector<int> domainNum,
if (smap.size() == 0)
continue;
if (meshes[j] == 0)
continue;
// Found a shared domain, let's take a look.
int d1ptId = smap.begin()->first;
int d2ptId = smap.begin()->second;
......
......@@ -36,6 +36,9 @@ avtView2D::avtView2D()
// Eric Brugger, Wed Oct 8 16:45:35 PDT 2003
// Replaced axisScaleFactor and axisScaleType with fullFrame.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
avtView2D &
......@@ -51,11 +54,17 @@ avtView2D::operator=(const avtView2D &vi)
window[3] = vi.window[3];
fullFrame = vi.fullFrame;
fullFrameActivationMode = vi.fullFrameActivationMode;
fullFrameAutoThreshold = vi.fullFrameAutoThreshold;
return *this;
}
// ****************************************************************************
// Method: avtView2D operator ==
// Method: EqualViews
//
// Purpose: Compare just view state for equality ignoring autoff stuff
//
// Arguments:
// vi The view info to compare to.
......@@ -64,16 +73,13 @@ avtView2D::operator=(const avtView2D &vi)
// Creation: August 17, 2001
//
// Modifications:
// Kathleen Bonnell, Thu May 15 09:46:46 PDT 2003
// Compare axisScaleFactor and axisScaleType.
//
// Eric Brugger, Wed Oct 8 16:45:35 PDT 2003
// Replaced axisScaleFactor and axisScaleType with fullFrame.
//
// Mark C. Miller, Tue Mar 14 10:04:56 PST 2006
// Renamed from operator==
// ****************************************************************************
bool
avtView2D::operator==(const avtView2D &vi)
avtView2D::EqualViews(const avtView2D &vi)
{
if (viewport[0] != vi.viewport[0] || viewport[1] != vi.viewport[1] ||
viewport[2] != vi.viewport[2] || viewport[3] != vi.viewport[3])
......@@ -94,6 +100,41 @@ avtView2D::operator==(const avtView2D &vi)
return true;
}
// ****************************************************************************
// Method: avtView2D operator ==
//
// Arguments:
// vi The view info to compare to.
//
// Programmer: Mark C. Miller
// Creation: Tue Mar 14 10:04:56 PST 2006
//
// Modifications:
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
bool
avtView2D::operator==(const avtView2D &vi)
{
if (!EqualViews(vi))
{
return false;
}
if (fullFrameActivationMode != vi.fullFrameActivationMode)
{
return false;
}
if (fullFrameAutoThreshold != vi.fullFrameAutoThreshold)
{
return false;
}
return true;
}
// ****************************************************************************
// Method: avtView2D::SetToDefault
......@@ -111,6 +152,9 @@ avtView2D::operator==(const avtView2D &vi)
// Eric Brugger, Wed Oct 8 16:45:35 PDT 2003
// Replaced axisScaleFactor and axisScaleType with fullFrame.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
void
......@@ -125,6 +169,11 @@ avtView2D::SetToDefault()
window[2] = 0.;
window[3] = 1.;
fullFrame = false;
View2DAttributes defaultView2DAtts;
fullFrameActivationMode = (int) defaultView2DAtts.GetFullFrameActivationMode();
fullFrameAutoThreshold = defaultView2DAtts.GetFullFrameAutoThreshold();
}
// ****************************************************************************
......@@ -385,6 +434,9 @@ avtView2D::GetScaleFactor(int *size)
// Eric Brugger, Thu Oct 16 14:49:23 PDT 2003
// I added fullFrame.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
void
......@@ -395,6 +447,8 @@ avtView2D::SetFromView2DAttributes(const View2DAttributes *view2DAtts)
viewport[i] = view2DAtts->GetViewportCoords()[i];
window[i] = view2DAtts->GetWindowCoords()[i];
}
fullFrameActivationMode = view2DAtts->GetFullFrameActivationMode();
fullFrameAutoThreshold = view2DAtts->GetFullFrameAutoThreshold();
fullFrame = view2DAtts->GetUseFullFrame();
}
......@@ -417,6 +471,9 @@ avtView2D::SetFromView2DAttributes(const View2DAttributes *view2DAtts)
// Eric Brugger, Thu Oct 16 14:49:23 PDT 2003
// I added fullFrame.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
void
......@@ -424,6 +481,9 @@ avtView2D::SetToView2DAttributes(View2DAttributes *view2DAtts) const
{
view2DAtts->SetWindowCoords(window);
view2DAtts->SetViewportCoords(viewport);
view2DAtts->SetFullFrameActivationMode((View2DAttributes::TriStateMode)
fullFrameActivationMode);
view2DAtts->SetFullFrameAutoThreshold(fullFrameAutoThreshold);
view2DAtts->SetUseFullFrame(fullFrame);
}
......
......@@ -38,6 +38,9 @@ class View2DAttributes;
// Eric Brugger, Tue Nov 18 08:17:28 PST 2003
// Replaced GetValidWindow with CheckAndCorrectWindow.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Added stuff to support auto full frame
//
// ****************************************************************************
struct AVTVIEW_API avtView2D
......@@ -46,10 +49,17 @@ struct AVTVIEW_API avtView2D
double window[4];
bool fullFrame;
int fullFrameActivationMode;
float fullFrameAutoThreshold;
public:
avtView2D();
avtView2D & operator=(const avtView2D &);
bool operator==(const avtView2D &);
// alternative to == that ignores autoff state
bool EqualViews(const avtView2D &);
void SetToDefault(void);
void SetViewInfoFromView(avtViewInfo &, int *);
......
......@@ -1783,6 +1783,10 @@ NetworkManager::HasNonMeshPlots(const intVector plotIds)
// Hank Childs, Fri Mar 3 08:32:02 PST 2006
// Do not do shadowing in 2D.
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Fixed bug in selecting which cellCounts entries to store as global
// cell counts for the whole network
//
// ****************************************************************************
avtDataObjectWriter_p
......@@ -1920,7 +1924,7 @@ NetworkManager::Render(intVector plotIds, bool getZBuffer, int annotMode,
// update the global cell counts for each network
for (i = 0; i < plotIds.size(); i++)
SetGlobalCellCount(plotIds[i], cellCounts[i+plotIds.size()]);
SetGlobalCellCount(plotIds[i], cellCounts[i]);
plotsCurrentlyInWindow = plotIds;
visitTimer->StopTimer(t2, "Setting up window contents");
......
......@@ -136,5 +136,7 @@ This problem caused the Volume plot to sample data in the wrong regions of a mes
</ul>
<p>Click the following link to view the release notes for the previous version
of VisIt: <a href="relnotes1.5.html">VisIt 1.5 Release Notes</a>.</p>
<p>Click the following link to view the release notes for the next version
of VisIt: <a href="relnotes1.5.2.html">VisIt 1.5.2 Release Notes</a>.</p>
</body>
</html>
<!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.5.2 Release Notes</title>
</head>
<body>
<center><b><font size="6">VisIt 1.5.2 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.5.2</font></b></p>
<ul>
<li>VisIt now provides functions in the CLI that allow you to create <i>Derived Data Functions</i>, or new databases that contain data derived from sophisticated queries on an existing database.</li>
<li>VisIt's <i>Weighted variable sum</i> query now has an option to weight by the revolved volume for 2D datasets that are revolved into 3D.</li>
<li>VisIt now intermittently saves the components of your settings that are related to the paths that you've visited so they can be recalled more easily in future VisIt sessions without requiring all settings to be saved.</li>
<li>Visit's Silo database reader plugin now supports Silo's Curve objects.</li>
<li>VisIt now supports 1-button mice, which are common on MacOS X systems. The default clicking behavior is still mapped to the left mouse button. Right mouse button is simualted by holding down the <i>Alt-key</i> while you click the mouse. Middle mouse button is simulated by holding down <i>Shift+Alt</i> while you click the mouse.</li>
<li>VisIt now supports <i>redo view</i> in addition to <i>undo view</i>. Redo view is used to re-apply views that have been undone using <i>undo view</i>.</li>
<li>VisIt has a new <i>ijk_gradient</i> expression that can be used for more efficiently creating the gradient for structured meshes. The new expression also does not suffer from any potential sampling errors that can happen when sampling the gradient spatially.</li>
<li>VisIt's Resample operator can now resample variables defined on a point mesh onto a rectilinear mesh.</li>
<li>VisIt's automatic fullframe detection mode has been made the default so no user intervention is required to stretch long, skinny 2D plots so they use most of the vis window's available space. </li>
<li>VisIt's IndexSelect operator can now be used to limit the number of points drawn for point meshes.</li>
<li>VisIt now supports ZR meshes in addition to RZ meshes.</li>
<li>The <i>visit -movie</i> script now does a better job of using the actual window size stored in a session file when the <i>-geometry</i> option is not specified.</li>
<li>The <b>Color table window</b> now ensures that the color table you were editing when you saved your settings is the color table that VisIt displays in the <b>Color table window</b> when you next run VisIt.</li>
<li>VisIt now resets the counter used to create file names for families of saved images and geometry.</li>
<li>VisIt now uses the <i>Ctrl+P</i> hotkey for printing the active vis window. The
<b>Pick window</b> is now activated using <i>Shift+Ctrl+P</i>.</li>
<li>VisIt's Curve2D database reader plugin now recognizes Ultra files that end in the ".u" file extension.</li>
<li>The <i>visit-install</i> script now permits you to choose the bank from which your parallel jobs will draw their processors. Note that if you have previously saved settings then you may still have to edit your host profiles to change the bank. This option is mostly for new VisIt installations.</li>
<li>VisIt's launch script now supports IPV6 host addresses.</li>
<li>The <i>visit-install</i> script now allows you to pick from ORNL and NERSC network configurations in addition to the supported LLNL configurations.</li>
</ul>
<p><b><font size="4">Bugs fixed in version 1.5.2</font></b></p>
<ul>
<li>Turning off the last light hangs the X-server when VisIt is displayed via X11 on a diskless Linux computer.</li>
<li>Saved images were all of the first database time state when saving images
off-screen and advancing through time.</li>
<li>VisIt's viewer crashes when saving a vis window off-screen when the compute engine has timed out.</li>
<li>Uncaught exceptions thrown from a new plot plugin's custom rendering class can cause VisIt's viewer to crash. VisIt's viewer has been improved so that uncaught VisIt exceptions are now all caught at the top level of the viewer's event loop and are much less likely to cause problems.</li>
<li>VisIt leaked memory under certain circumstances when compositing z-buffers in the parallel compute engine.</li>
<li>VisIt's <i>Variable sum</i> query returns the wrong results if material interface reconstruction has occurred.</li>
<li>VisIt's GUI crashes when you manipulate a color table's color control points when you have saved color tables in your <i>.visit</i> directory that have the same names as built-in color tables.</li>
<li>Opening files that have enough variables to make automatic variable menu grouping kick in causes VisIt's GUI to crash if there are mesh quality expressions in the variable list.</li>
<li>VisIt's compute engine crashes when processing a 2D unstructured CGNS file.</li>
<li>VisIt's compute engine experienced an out of memory error when reading Boxlib data files. The problem was caused by a namespace collision in VisIt's source code.</li>
<li>Using the log10 scaling option for scalars in the Volume plot when there are negative values causes an uncaught exception in VisIt's viewer, leading VisIt to crash.</li>
<li>When VisIt draws Volume plots in multiple windows using the Raycasting method, VisIt can become confused and use the plots from one vis window in another vis window, thus producing incorrect pictures.</li>
<li>VisIt's Volume plot does not correctly resample datasets that have ghost zones.</li>
<li>Using shadows during scalable rendering for 2D plots causes the compute engine to crash.</li>
<li>VisIt's viewer hangs when deleting a plot after doing some picks while in scalable rendering mode.</li>
<li>VisIt crashes when opening LEOS data files with many variables.</li>
<li>The InverseGhostZone operator does not work with SIL selections.</li>
<li>The <i>Spatial extents</i> query does not return the original extents when required. </li>
<li>If scalable rendering fails when generating a movie in the CLI, the CLI will halt with a Python error instead of fixing the problem and continuing.</li>
<li>VisIt's viewer crashes when cancelling a connection to a computer where the mdserver and compute engine will share the same batch job.</li>
<li>Numbers are lost from various controls for annotation objects in VisIt's <b>Annotations window</b> if you don't click the <b>Apply</b> button.</li>
<li>VisIt's viewer issues a strange warning message about compute engines when scalable rendering mode is set to <i>always</i>.</li>
<li>When VisIt is forced to perform material interface reconstruction, there can be an erroneous error message: <i>Material selection must be performed on all domains. Please see a VisIt developer.</i></li>
<li>Shadow strength is not restored correctly from a session file.</li>
<li>VisIt 1.5.1 does not honor saved settings with multiple vis windows.</li>
<li>VisIt's load balancer becomes confused when looking at multiple datasets where one dataset is stored in a format that can do its own domain decomposition and another format that cannot.</li>
<li>The determinant expression does not work for 2D expressions.</li>
<li>VisIt's <i>Choose center</i> feature does not work in scalable rendering mode again.</li>
<li>Middle mouse interaction with 3D interactors does not work using the SGI executable built on that <i>quad</i> machine.</li>
<li>The OnionPeel operator does not work properly when there are multiple "domain" collections in a dataset's SIL.</li>
<li>Rubber band lines and boxes for the zoom interactors are not drawn in the MacOS X version of VisIt</li>
<li>The option for determining how VisIt picks a vis window for curves created from queries over time has been clarified in the <b>Global Lineout window</b>.</li>
<li>Various debugging error messages are printed to the terminal where VisIt was launched when zooming in on plots using the MacOS X version of VisIt.</li>
<li>The screen position control used in the <b>Annotation window</b> to control the position of annotation objects is missing its down arrow.</li>
<li>Animation toolbar icons are often out of order.</li>
<li>VisIt's BUILD_NOTES contain a few errors.</li>
</ul>
<p>Click the following link to view the release notes for the previous version
of VisIt: <a href="relnotes1.5.1.html">VisIt 1.5.1 Release Notes</a>.</p>
</body>
</html>
\ No newline at end of file
......@@ -4655,18 +4655,22 @@ ViewerWindow::UpdateViewCurve(const double *limits)
// Mark C. Miller, Thu Jul 21 12:52:42 PDT 2005
// Added logic to support auto full frame mode. Made call to
// vwm->UpdateViewAtts use appropriate bool flags
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Retrieved full frame activation mode from avtView class, not atts
// ****************************************************************************
void
ViewerWindow::UpdateView2d(const double *limits)
{
const View2DAttributes *view2dAtts = ViewerWindowManager::Instance()->
GetView2DClientAtts();
const avtView2D &view2d = GetView2D();
View2DAttributes view2dAtts;
view2d.SetToView2DAttributes(&view2dAtts);
if (view2dAtts->GetFullFrameActivationMode() == View2DAttributes::Auto)
if (view2d.fullFrameActivationMode == (int) View2DAttributes::Auto)
{
const bool currentFullFrameMode = GetFullFrameMode();
bool newFullFrameMode = view2dAtts->GetUseFullFrame(limits);
bool newFullFrameMode = view2dAtts.GetUseFullFrame(limits);
// if plot's units are different, that overrides other considerations
if (plotList)
......
......@@ -2292,6 +2292,9 @@ ViewerWindowManager::SetViewCurveFromClient()
// Mark C. Miller, Thu Jul 21 12:52:42 PDT 2005
// Added logic to manage auto full frame mode
//
// Mark C. Miller, Tue Mar 14 17:49:26 PST 2006
// Moved some parameters dealing with full frame to avtView2D
//
// ****************************************************************************
void
......@@ -2299,14 +2302,7 @@ ViewerWindowManager::SetView2DFromClient()
{
avtView2D view2d = windows[activeWindow]->GetView2D();
const double *viewport=view2DClientAtts->GetViewportCoords();
const double *window=view2DClientAtts->GetWindowCoords();
for (int i = 0; i < 4; i++)
{
view2d.viewport[i] = viewport[i];
view2d.window[i] = window[i];
}
view2d.SetFromView2DAttributes(view2DClientAtts);
if (view2DClientAtts->GetFullFrameActivationMode() ==
View2DAttributes::Auto)
......@@ -2319,10 +2315,6 @@ ViewerWindowManager::SetView2DFromClient()
newFullFrameMode = true;
view2d.fullFrame = newFullFrameMode;
}
else
{
view2d.fullFrame = view2DClientAtts->GetUseFullFrame();
}
//
// Set the 2D view for the active viewer window.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment