add normalization bypass for nodal scalars

This commit is contained in:
Matt Larsen 2020-04-23 12:56:46 -07:00
parent 4c0a3858b2
commit 6fe4684102

@ -307,18 +307,30 @@ public:
private: private:
Precision MinScalar; Precision MinScalar;
Precision invDeltaScalar; Precision invDeltaScalar;
bool Normalize;
public: public:
VTKM_CONT VTKM_CONT
NodalScalar(const vtkm::Float32& minScalar, const vtkm::Float32& maxScalar) NodalScalar(const vtkm::Float32& minScalar, const vtkm::Float32& maxScalar)
: MinScalar(minScalar) : MinScalar(minScalar)
{ {
//Make sure the we don't divide by zero on Normalize = true;
//something like an iso-surface if (minScalar > maxScalar)
if (maxScalar - MinScalar != 0.f) {
invDeltaScalar = 1.f / (maxScalar - MinScalar); // support the scalar renderer
Normalize = false;
MinScalar = 0;
invDeltaScalar = 1;
}
else else
invDeltaScalar = 1.f / minScalar; {
//Make sure the we don't divide by zero on
//something like an iso-surface
if (maxScalar - MinScalar != 0.f)
invDeltaScalar = 1.f / (maxScalar - MinScalar);
else
invDeltaScalar = 1.f / minScalar;
}
} }
typedef void ControlSignature(FieldIn, FieldOut, WholeArrayIn, WholeArrayIn); typedef void ControlSignature(FieldIn, FieldOut, WholeArrayIn, WholeArrayIn);
@ -338,8 +350,10 @@ public:
//Todo: one normalization //Todo: one normalization
scalar = Precision(scalars.Get(indices[0])); scalar = Precision(scalars.Get(indices[0]));
//normalize if (Normalize)
scalar = (scalar - MinScalar) * invDeltaScalar; {
scalar = (scalar - MinScalar) * invDeltaScalar;
}
} }
}; //class LerpScalar }; //class LerpScalar