Commit bad4b96a authored by hrchilds's avatar hrchilds

Fix name collision problem with two CMFEs in one pipeline.



git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@21493 18c085ea-50e0-402c-830e-de6fd14e8384
parent 0e61c04e
......@@ -177,6 +177,10 @@ avtCMFEExpression::PreExecute(void)
// Hank Childs, Thu Jan 5 16:33:39 PST 2006
// Add support for a third variable to set up default values.
//
// Hank Childs, Thu Aug 1 09:33:48 PDT 2013
// Push the variable name on the stack, to prevent name collision with
// multiple CMFEs in one pipeline.
//
// ****************************************************************************
void
......@@ -224,6 +228,7 @@ avtCMFEExpression::ProcessArguments(ArgsExpr *args,
// Pull off the first argument and see if it's a string or a list.
ArgExpr *firstarg = (*arguments)[0];
argument_expression = firstarg->GetText();
state->PushName(argument_expression);
ExprParseTreeNode *firstTree = firstarg->GetExpr();
bool oldVal = VarExpr::GetVarLeavesRequiresCurrentDB();
VarExpr::SetGetVarLeavesRequiresCurrentDB(false);
......
......@@ -92,6 +92,10 @@ class avtDatabase;
// Hank Chids, Tue Mar 13 08:26:09 PDT 2012
// Add method "OnlyRequiresSpatiallyOverlappingData".
//
// Hank Childs, Thu Aug 1 09:33:48 PDT 2013
// Increase the number of variable arguments, to make CMFE names more
// distinct and less likely to collide.
//
// ****************************************************************************
class EXPRESSION_API avtCMFEExpression : public avtExpressionFilter
......@@ -105,7 +109,7 @@ class EXPRESSION_API avtCMFEExpression : public avtExpressionFilter
{return "Evaluating field";};
virtual void ProcessArguments(ArgsExpr*, ExprPipelineState *);
virtual int NumVariableArguments()
{ return (HasDefaultVariable() ? 2 : 1); };
{ return (HasDefaultVariable() ? 3 : 2); };
virtual int GetVariableDimension() { return varDim; };
virtual bool IsPointVariable(void) { return isNodal; };
virtual void AddInputVariableName(const char *);
......
......@@ -111,6 +111,7 @@ enhancements and bug-fixes that were added to this release.</p>
<li>CMFE expressions created via the Data-Level Comparisons window would crashe the engine on Windows.</li>
<li>VisIt could not plot an expression when switching active sources.</li>
<li>CMFE containing expressions from a donor database could not be plotted.</li>
<li>Multiple CMFE expressions can now be used simultaneously. This functionality was previously available, but it would occasionally lead to internal errors were one of the CMFE expressions was used in the place of others (due to name collision).</li>
<li>Time-derivative expressions containing compound variables (eg <i>mesh/ireg</i>) could not be plotted.</li>
<li>A bug that caused the clipping of double precision structured grids to return zero cells was corrected.</li>
<li></li>
......
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