mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
add normalization bypass for nodal scalars
This commit is contained in:
parent
4c0a3858b2
commit
6fe4684102
@ -307,11 +307,22 @@ public:
|
||||
private:
|
||||
Precision MinScalar;
|
||||
Precision invDeltaScalar;
|
||||
bool Normalize;
|
||||
|
||||
public:
|
||||
VTKM_CONT
|
||||
NodalScalar(const vtkm::Float32& minScalar, const vtkm::Float32& maxScalar)
|
||||
: MinScalar(minScalar)
|
||||
{
|
||||
Normalize = true;
|
||||
if (minScalar > maxScalar)
|
||||
{
|
||||
// support the scalar renderer
|
||||
Normalize = false;
|
||||
MinScalar = 0;
|
||||
invDeltaScalar = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Make sure the we don't divide by zero on
|
||||
//something like an iso-surface
|
||||
@ -320,6 +331,7 @@ public:
|
||||
else
|
||||
invDeltaScalar = 1.f / minScalar;
|
||||
}
|
||||
}
|
||||
|
||||
typedef void ControlSignature(FieldIn, FieldOut, WholeArrayIn, WholeArrayIn);
|
||||
|
||||
@ -338,9 +350,11 @@ public:
|
||||
//Todo: one normalization
|
||||
scalar = Precision(scalars.Get(indices[0]));
|
||||
|
||||
//normalize
|
||||
if (Normalize)
|
||||
{
|
||||
scalar = (scalar - MinScalar) * invDeltaScalar;
|
||||
}
|
||||
}
|
||||
}; //class LerpScalar
|
||||
|
||||
template <typename Precision>
|
||||
|
Loading…
Reference in New Issue
Block a user