Change status types to avoid collision in Windows.

This commit is contained in:
Dave Pugmire 2019-07-31 16:28:22 -06:00
parent e26e3ef621
commit bdf98ff987
4 changed files with 19 additions and 19 deletions

@ -28,10 +28,10 @@ namespace particleadvection
{
enum class IntegratorStatus
{
OK = 0,
SUCCESS = 0,
OUTSIDE_SPATIAL_BOUNDS,
OUTSIDE_TEMPORAL_BOUNDS,
ERROR
FAIL
};
class Integrator : public vtkm::cont::ExecutionObjectBase
@ -129,7 +129,7 @@ protected:
vtkm::Vec<ScalarType, 3> velocity;
IntegratorStatus status = CheckStep(inpos, this->StepLength, time, velocity);
if (status == IntegratorStatus::OK)
if (status == IntegratorStatus::SUCCESS)
{
outpos = inpos + StepLength * velocity;
time += StepLength;
@ -151,7 +151,7 @@ protected:
vtkm::Vec<ScalarType, 3> currentVelocity = { 0.0f, 0.0f, 0.0f };
CheckStep(inpos, 0.0f, time, currentVelocity);
numSteps = numSteps == 0 ? 1 : numSteps;
IntegratorStatus status = IntegratorStatus::OK;
IntegratorStatus status = IntegratorStatus::SUCCESS;
if (MinimizeError)
{
//Take short steps and minimize error
@ -160,7 +160,7 @@ protected:
{
stepLength /= static_cast<ScalarType>(2.0);
status = CheckStep(inpos, stepLength, time, velocity);
if (status == IntegratorStatus::OK)
if (status == IntegratorStatus::SUCCESS)
{
outpos = inpos + stepLength * velocity;
inpos = outpos;
@ -304,7 +304,7 @@ public:
this->Evaluator.Evaluate(inpos + stepLength * k3, var3, k4))
{
velocity = (k1 + 2 * k2 + 2 * k3 + k4) / 6.0f;
return IntegratorStatus::OK;
return IntegratorStatus::SUCCESS;
}
else
return IntegratorStatus::OUTSIDE_SPATIAL_BOUNDS;
@ -377,7 +377,7 @@ public:
{
bool result = this->Evaluator.Evaluate(inpos, time, velocity);
if (result)
return IntegratorStatus::OK;
return IntegratorStatus::SUCCESS;
else
return IntegratorStatus::OUTSIDE_SPATIAL_BOUNDS;
}

@ -53,7 +53,7 @@ public:
status = integrator->Step(inpos, time, outpos);
// If the status is OK, we only need to check if the particle
// has completed the maximum steps required.
if (status == IntegratorStatus::OK)
if (status == IntegratorStatus::SUCCESS)
{
integralCurve.TakeStep(idx, outpos);
// This is to keep track of the particle's time.

@ -28,11 +28,11 @@ using ScalarType = vtkm::FloatDefault;
enum class ParticleStatus
{
OK = 1,
SUCCESS = 1,
TERMINATED = 1 << 1,
EXIT_SPATIAL_BOUNDARY = 1 << 2,
EXIT_TEMPORAL_BOUNDARY = 1 << 3,
ERROR = 1 << 4,
FAIL = 1 << 4,
TOOK_ANY_STEPS = 1 << 5
};
@ -87,12 +87,12 @@ public:
void SetOK(const vtkm::Id& idx)
{
Clear(idx);
Status.Set(idx, ParticleStatus::OK);
Status.Set(idx, ParticleStatus::SUCCESS);
}
VTKM_EXEC
void SetTerminated(const vtkm::Id& idx)
{
ClearBit(idx, ParticleStatus::OK);
ClearBit(idx, ParticleStatus::SUCCESS);
SetBit(idx, ParticleStatus::TERMINATED);
}
VTKM_EXEC
@ -106,25 +106,25 @@ public:
VTKM_EXEC
void SetExitSpatialBoundary(const vtkm::Id& idx)
{
ClearBit(idx, ParticleStatus::OK);
ClearBit(idx, ParticleStatus::SUCCESS);
SetBit(idx, ParticleStatus::EXIT_SPATIAL_BOUNDARY);
}
VTKM_EXEC
void SetExitTemporalBoundary(const vtkm::Id& idx)
{
ClearBit(idx, ParticleStatus::OK);
ClearBit(idx, ParticleStatus::SUCCESS);
SetBit(idx, ParticleStatus::EXIT_TEMPORAL_BOUNDARY);
}
VTKM_EXEC
void SetError(const vtkm::Id& idx)
{
ClearBit(idx, ParticleStatus::OK);
SetBit(idx, ParticleStatus::ERROR);
ClearBit(idx, ParticleStatus::SUCCESS);
SetBit(idx, ParticleStatus::FAIL);
}
/* Check Status */
VTKM_EXEC
bool OK(const vtkm::Id& idx) { return CheckBit(idx, ParticleStatus::OK); }
bool OK(const vtkm::Id& idx) { return CheckBit(idx, ParticleStatus::SUCCESS); }
VTKM_EXEC
bool Terminated(const vtkm::Id& idx) { return CheckBit(idx, ParticleStatus::TERMINATED); }
VTKM_EXEC
@ -138,7 +138,7 @@ public:
return CheckBit(idx, ParticleStatus::EXIT_TEMPORAL_BOUNDARY);
}
VTKM_EXEC
bool Error(const vtkm::Id& idx) { return CheckBit(idx, ParticleStatus::ERROR); }
bool Error(const vtkm::Id& idx) { return CheckBit(idx, ParticleStatus::FAIL); }
VTKM_EXEC
bool Integrateable(const vtkm::Id& idx)
{

@ -339,7 +339,7 @@ void ValidateIntegrator(const IntegratorType& integrator,
{
Status status = statusPortal.Get(index);
vtkm::Vec<ScalarType, 3> result = resultsPortal.Get(index);
VTKM_TEST_ASSERT(status != Status::ERROR, "Error in evaluator for " + msg);
VTKM_TEST_ASSERT(status != Status::FAIL, "Error in evaluator for " + msg);
VTKM_TEST_ASSERT(result == expStepResults[(size_t)index],
"Error in evaluator result for " + msg);
}