Commit 4166e95d authored by whitlocb's avatar whitlocb

1. 3D text annotations are now drawn when SR mode is used

2. The mdserver will now group files ending in ".h5"



git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@7832 18c085ea-50e0-402c-830e-de6fd14e8384
parent f42fc8ce
......@@ -63,6 +63,7 @@
#include <avtPluginFilter.h>
#include <OperatorPluginManager.h>
#include <OperatorPluginInfo.h>
#include <AnnotationObject.h>
#include <AnnotationObjectList.h>
#include <AnnotationAttributes.h>
#include <PickAttributes.h>
......@@ -2871,6 +2872,10 @@ NetworkManager::UpdateVisualCues(int windowID)
// Brad Whitlock, Mon Jan 28 10:46:25 PDT 2008
// Changed for new AnnotationAttributes.
//
// Brad Whitlock, Fri Jul 17 10:10:44 PDT 2009
// Added code to make sure that 3D text annotations are drawn when we
// want 3D annotations to be drawn.
//
// ****************************************************************************
void
......@@ -2922,6 +2927,15 @@ NetworkManager::SetAnnotationAttributes(const AnnotationAttributes &atts,
newAtts.GetAxes3D().SetTriadFlag(false);
newAtts.GetAxes2D().SetVisible(false);
viswin->DeleteAllAnnotationObjects();
{ // Add back in the 3D annotation objects.
AnnotationObjectList aolist2;
for(int aIndex = 0; aIndex < aolist.GetNumAnnotations(); ++aIndex)
{
if(aolist[aIndex].GetObjectType() == AnnotationObject::Text3D)
aolist2.AddAnnotation(aolist[aIndex]);
}
viswin->CreateAnnotationObjectsFromList(aolist2);
}
break;
case 2: // all annotations
......
......@@ -178,6 +178,8 @@ enhancements and bug-fixes that were added to this release.</p>
<li>VisIt's component launcher program was fixed so users can use "Parse from SSH_CLIENT" in their host profiles when connecting to libsim-instrumented simulations that run on remote computers. That setting would previously cause simulations to crash when VisIt connected to them.</li>
<li>Fixed log-view scaling so that it works correctly with 2d Contour plots.</li>
<li>VisIt's Spreadsheet plot now highlights the correct cell for node picks.</li>
<li>VisIt's can now group files ending in <i>.h5</i> when smart file grouping is used.</li>
<li>3D Text annotations now are drawn when scalable rendering is used.</li>
</ul>
<a name="Config_changes"></a>
......
......@@ -1742,6 +1742,10 @@ MDServerConnection::FileMatchesFilterList(const std::string &fileName) const
// Flash file dumps ending in Z be considered for automatic grouping. Finally,
// I made it return the length of the digit string.
//
// Brad Whitlock, Fri Jul 17 13:33:52 PDT 2009
// I made the routine exclude the .h5 file extension from the pattern search
// so we can group HDF5 files via automatic file grouping.
//
// ****************************************************************************
bool
......@@ -1749,28 +1753,45 @@ MDServerConnection::GetPattern(const std::string &file, std::string &p,
int &digitLength) const
{
int i, isave = 0, ipat = 0;
const char *H5_ext = ".h5";
char pattern[256];
for(i = 0; i < 256; ++i) pattern[i] = '\0';
std::string searchstring;
bool excludedH5 = false;
if(extraSmartFileGrouping)
{
// Exclude the .h5 file extension from the numeric pattern search.
if(file.size() > 3 && file.substr(file.size()-3, file.size()-1) == H5_ext)
{
searchstring = file.substr(0, file.size()-3);
excludedH5 = true;
}
else
searchstring = file;
}
else
searchstring = file;
/* Go up to the beginning of the digit string. */
for (i = 0; i < file.size();)
for (i = 0; i < searchstring.size();)
{
for (; i < file.size() &&
(file[i] < '0' || file[i] > '9'); i++)
for (; i < searchstring.size() &&
(searchstring[i] < '0' || searchstring[i] > '9'); i++)
{
pattern[i] = file[i];
pattern[i] = searchstring[i];
}
if (i < file.size())
if (i < searchstring.size())
isave = i;
for (; file[i] >= '0' && file[i] <= '9'; i++)
pattern[i] = file[i];
for (; searchstring[i] >= '0' && searchstring[i] <= '9'; i++)
pattern[i] = searchstring[i];
}
/* Skip over the digit string. */
digitLength = 0;
for (i = isave; file[i] >= '0' && file[i] <= '9'; i++)
for (i = isave; searchstring[i] >= '0' && searchstring[i] <= '9'; i++)
++digitLength;
char charAfterDigit = file[i];
char charAfterDigit = searchstring[i];
// If we're doing extra smart file grouping then be a little more lenient
// when considering patterns.
......@@ -1778,23 +1799,27 @@ MDServerConnection::GetPattern(const std::string &file, std::string &p,
if(extraSmartFileGrouping)
{
specialMatch = (charAfterDigit == '_') ||
(charAfterDigit == 'z' && (i == file.size()-1));
(charAfterDigit == 'z' && (i == searchstring.size()-1));
}
/* We have a match on *[0-9]?. Now let's determine the full pattern. */
if (file[isave] >= '0' && file[isave] <= '9' &&
if (searchstring[isave] >= '0' && searchstring[isave] <= '9' &&
(charAfterDigit == '\0' || charAfterDigit == '.' || specialMatch)
)
{
ipat = isave;
pattern[ipat++] = '*';
for (; i < file.size(); i++)
pattern[ipat++] = file[i];
for (; i < searchstring.size(); i++)
pattern[ipat++] = searchstring[i];
pattern[ipat++] = '\0';
}
p = std::string(pattern);
if(excludedH5)
p += H5_ext;
return (ipat > 0);
}
......
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