mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-20 02:55:47 +00:00
Change status types to avoid collision in Windows.
This commit is contained in:
parent
e26e3ef621
commit
bdf98ff987
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user