Commit 186d982d authored by Ben Boeckel's avatar Ben Boeckel

Merge branch 'upstream-visit' into update-visit-20190320

* upstream-visit:
  visit 2019-03-20 (6cdae7fd)
parents a892c812 a2c2cf8f
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
Copyright (c) 2000 - 2017
Copyright (c) 2000 - 2018
Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory
LLNL-CODE-442911
......
#*****************************************************************************
#
# Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
# Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
# Produced at the Lawrence Livermore National Laboratory
# LLNL-CODE-442911
# All rights reserved.
......
#*****************************************************************************
#
# Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
# Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
# Produced at the Lawrence Livermore National Laboratory
# LLNL-CODE-442911
# All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......@@ -5938,7 +5938,7 @@ avtDatabaseMetaData::DetermineVarType(std::string var_in, bool do_expr) const
if (do_expr)
{
ParsingExprList *pel = ParsingExprList::Instance();
Expression *e = pel->GetExpression(var_in);
Expression const *e = pel->GetExpression(var_in);
if (e != NULL)
return ExprType_To_avtVarType(e->GetType());
}
......@@ -7049,7 +7049,7 @@ bool avtDatabaseMetaData::haveWarningCallback = false;
// ****************************************************************************
void
avtDatabaseMetaData::IssueWarning(const char *msg)
avtDatabaseMetaData::IssueWarning(const char *msg) const
{
if (haveWarningCallback)
{
......@@ -7474,3 +7474,71 @@ avtDatabaseMetaData::AddGhostZoneTypePresent(std::string name,
}
}
// ****************************************************************************
// Method: avtDatabaseMetaData::GetTotalVarCount
//
// Purpose: Compute the total number of variables this database has
//
// Programmer: Mark C. Miller, Thu May 25 19:52:38 PDT 2017
//
// ****************************************************************************
int
avtDatabaseMetaData::GetTotalVarCount(void) const
{
return GetNumMeshes() +
GetNumSubsets() +
GetNumScalars() +
GetNumVectors() +
GetNumTensors() +
GetNumSymmTensors() +
GetNumArrays() +
GetNumMaterials() +
GetNumSpecies() +
GetNumCurves() +
GetNumLabels() +
GetNumberOfExpressions();
}
char const *
avtDatabaseMetaData::GetSEGEnvVarName() const
{
return "VISIT_FORCE_SPECULATIVE_EXPRESSION_GENERATION";
}
char const *
avtDatabaseMetaData::GetSEGWarningString() const
{
static char msg[2048];
SNPRINTF(msg, sizeof(msg),
"Due to the large number of variables, %d, in this database, VisIt has\n"
"automatically disabled speculative expression generation of ALL forms\n"
"(e.g. vector-magnitude, mesh-quality, time-derivative, operator-created)\n"
"because the large number of expressions bogs down GUI performance.\n"
"You may override this behavior by exiting VisIt and restarting with the\n"
"environment variable...\n"
" \"%s\"\n"
"set. Be aware that doing so will likely result in sluggish GUI performance.\n"
"If you need one or more of the expressions VisIt's speculative expression\n"
"generation process provides and are unwilling or unable to manually create\n"
"the expression(s) you need, you have no choice in this version of VisIt\n"
"except to override this behavior and suffer any GUI performance issues.\n"
"Unfortunately, if you are running in client-server mode, you will have to\n"
"take action to set this enviornment variable on both the server and client\n"
"machines. This will only be necessary in VisIt version 2.12.3. An entirely\n"
"different mechanism for controlling this behavior will be introduced in 2.13.",
GetTotalVarCount(), GetSEGEnvVarName());
return msg;
}
void
avtDatabaseMetaData::IssueSEGWarningMessage() const
{
IssueWarning(GetSEGWarningString());
}
bool
avtDatabaseMetaData::ShouldDisableSEG(bool envOverride) const
{
return GetTotalVarCount() > 1000 && !envOverride;
}
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......@@ -394,7 +394,7 @@ public:
void RegisterWarningCallback(void (*)(const char *));
static void (*WarningCallback)(const char *);
static bool haveWarningCallback;
void IssueWarning(const char *msg);
void IssueWarning(const char *msg) const;
bool VarIsCompound(const std::string &inVar) const;
void ParseCompoundForVar(const std::string &inVar, std::string &outVar) const;
void ParseCompoundForMesh(const std::string &inVar, std::string &meshName) const;
......@@ -410,6 +410,11 @@ public:
int GetGhostZoneTypesPresent(std::string name) const;
void ClearGhostTypesPresent(std::string name);
void AddGhostZoneTypePresent(std::string name, avtGhostsZonesPresent v);
int GetTotalVarCount(void) const;
char const * GetSEGEnvVarName() const;
char const * GetSEGWarningString() const;
void IssueSEGWarningMessage() const;
bool ShouldDisableSEG(bool envOverride=false) const;
// IDs that can be used to identify fields in case statements
enum {
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......
/*****************************************************************************
*
* Copyright (c) 2000 - 2017, Lawrence Livermore National Security, LLC
* Copyright (c) 2000 - 2018, Lawrence Livermore National Security, LLC
* Produced at the Lawrence Livermore National Laboratory
* LLNL-CODE-442911
* All rights reserved.
......@@ -216,6 +216,8 @@ void avtScalarMetaData::Copy(const avtScalarMetaData &obj)
enumPartialCellMode = obj.enumPartialCellMode;
enumGraphEdges = obj.enumGraphEdges;
enumGraphEdgeNames = obj.enumGraphEdgeNames;
enumGraphEdgeNameIndexs = obj.enumGraphEdgeNameIndexs;
enumNChooseRN = obj.enumNChooseRN;
enumNChooseRMaxR = obj.enumNChooseRMaxR;
missingDataType = obj.missingDataType;
......@@ -405,6 +407,8 @@ avtScalarMetaData::operator == (const avtScalarMetaData &obj) const
enumAlwaysInclude_equal &&
(enumPartialCellMode == obj.enumPartialCellMode) &&
(enumGraphEdges == obj.enumGraphEdges) &&
(enumGraphEdgeNames == obj.enumGraphEdgeNames) &&
(enumGraphEdgeNameIndexs == obj.enumGraphEdgeNameIndexs) &&
(enumNChooseRN == obj.enumNChooseRN) &&
(enumNChooseRMaxR == obj.enumNChooseRMaxR) &&
(missingDataType == obj.missingDataType) &&
......@@ -555,18 +559,20 @@ avtScalarMetaData::SelectAll()
{
// call the base class' SelectAll() first
avtVarMetaData::SelectAll();
Select(ID_treatAsASCII, (void *)&treatAsASCII);
Select(ID_enumerationType, (void *)&enumerationType);
Select(ID_enumNames, (void *)&enumNames);
Select(ID_enumRanges, (void *)&enumRanges);
Select(ID_enumAlwaysExclude, (void *)enumAlwaysExclude, 2);
Select(ID_enumAlwaysInclude, (void *)enumAlwaysInclude, 2);
Select(ID_enumPartialCellMode, (void *)&enumPartialCellMode);
Select(ID_enumGraphEdges, (void *)&enumGraphEdges);
Select(ID_enumNChooseRN, (void *)&enumNChooseRN);
Select(ID_enumNChooseRMaxR, (void *)&enumNChooseRMaxR);
Select(ID_missingDataType, (void *)&missingDataType);
Select(ID_missingData, (void *)missingData, 2);
Select(ID_treatAsASCII, (void *)&treatAsASCII);
Select(ID_enumerationType, (void *)&enumerationType);
Select(ID_enumNames, (void *)&enumNames);
Select(ID_enumRanges, (void *)&enumRanges);
Select(ID_enumAlwaysExclude, (void *)enumAlwaysExclude, 2);
Select(ID_enumAlwaysInclude, (void *)enumAlwaysInclude, 2);
Select(ID_enumPartialCellMode, (void *)&enumPartialCellMode);
Select(ID_enumGraphEdges, (void *)&enumGraphEdges);
Select(ID_enumGraphEdgeNames, (void *)&enumGraphEdgeNames);
Select(ID_enumGraphEdgeNameIndexs, (void *)&enumGraphEdgeNameIndexs);
Select(ID_enumNChooseRN, (void *)&enumNChooseRN);
Select(ID_enumNChooseRMaxR, (void *)&enumNChooseRMaxR);
Select(ID_missingDataType, (void *)&missingDataType);
Select(ID_missingData, (void *)missingData, 2);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -696,18 +702,20 @@ avtScalarMetaData::GetFieldName(int index) const
{
switch (index)
{
case ID_treatAsASCII: return "treatAsASCII";
case ID_enumerationType: return "enumerationType";