Merge topic 'scoped-enum-field-selection'

08e682601 Remove deprecated use of old unscoped enums in FieldSelection
28aa9b570 Use scoped enum for FieldSelection mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Sujin Philip <sujin.philip@kitware.com>
Merge-request: !2735
This commit is contained in:
Kenneth Moreland 2022-03-21 12:43:19 +00:00 committed by Kitware Robot
commit 86f238753b
9 changed files with 56 additions and 47 deletions

@ -969,7 +969,7 @@ void InitDataSet(int& argc, char** argv)
std::cerr
<< "[InitDataSet] Create UnstructuredInputDataSet from Tetrahedralized InputDataSet...\n";
vtkm::filter::geometry_refinement::Tetrahedralize tet;
tet.SetFieldsToPass(vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::MODE_ALL));
tet.SetFieldsToPass(vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::Mode::All));
UnstructuredInputDataSet = tet.Execute(InputDataSet);
if (tetra)

@ -124,7 +124,7 @@ void BuildInputDataSet(uint32_t cycle, bool isStructured, bool isMultiBlock, vtk
gradientFilter.SetComputePointGradient(true);
gradientFilter.SetOutputFieldName(PointVectorsName);
gradientFilter.SetFieldsToPass(
vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::MODE_ALL));
vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::Mode::All));
if (isMultiBlock)
{
partitionedInputDataSet = gradientFilter.Execute(partitionedInputDataSet);
@ -139,7 +139,7 @@ void BuildInputDataSet(uint32_t cycle, bool isStructured, bool isMultiBlock, vtk
{
vtkm::filter::geometry_refinement::Tetrahedralize destructizer;
destructizer.SetFieldsToPass(
vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::MODE_ALL));
vtkm::filter::FieldSelection(vtkm::filter::FieldSelection::Mode::All));
if (isMultiBlock)
{
partitionedInputDataSet = destructizer.Execute(partitionedInputDataSet);

@ -12,6 +12,7 @@
#include <initializer_list>
#include <set>
#include <vtkm/Deprecated.h>
#include <vtkm/Pair.h>
#include <vtkm/cont/Field.h>
@ -28,17 +29,25 @@ namespace filter
class FieldSelection
{
public:
enum ModeEnum
enum struct Mode
{
MODE_NONE,
MODE_ALL,
MODE_SELECT,
MODE_EXCLUDE
None,
All,
Select,
Exclude
};
VTKM_DEPRECATED(1.8, "Use FieldSelection::Mode::None.")
static constexpr Mode MODE_NONE = Mode::None;
VTKM_DEPRECATED(1.8, "Use FieldSelection::Mode::All.") static constexpr Mode MODE_ALL = Mode::All;
VTKM_DEPRECATED(1.8, "Use FieldSelection::Mode::Select.")
static constexpr Mode MODE_SELECT = Mode::Select;
VTKM_DEPRECATED(1.8, "Use FieldSelection::Mode::Exclude.")
static constexpr Mode MODE_EXCLUDE = Mode::Exclude;
using ModeEnum VTKM_DEPRECATED(1.8, "Use FieldSelection::Mode.") = Mode;
VTKM_CONT
FieldSelection(ModeEnum mode = MODE_SELECT)
: Mode(mode)
FieldSelection(Mode mode = Mode::Select)
: ModeType(mode)
{
}
@ -47,8 +56,8 @@ public:
/// FieldSelection("field_name");
/// \endcode
VTKM_CONT
FieldSelection(const std::string& field, ModeEnum mode = MODE_SELECT)
: Mode(mode)
FieldSelection(const std::string& field, Mode mode = Mode::Select)
: ModeType(mode)
{
this->AddField(field, vtkm::cont::Field::Association::Any);
}
@ -58,8 +67,8 @@ public:
/// FieldSelection("field_name");
/// \endcode
VTKM_CONT
FieldSelection(const char* field, ModeEnum mode = MODE_SELECT)
: Mode(mode)
FieldSelection(const char* field, Mode mode = Mode::Select)
: ModeType(mode)
{
this->AddField(field, vtkm::cont::Field::Association::Any);
}
@ -71,8 +80,8 @@ public:
VTKM_CONT
FieldSelection(const std::string& field,
vtkm::cont::Field::Association association,
ModeEnum mode = MODE_SELECT)
: Mode(mode)
Mode mode = Mode::Select)
: ModeType(mode)
{
this->AddField(field, association);
}
@ -82,8 +91,8 @@ public:
/// FieldSelection({"field_one", "field_two"});
/// \endcode
VTKM_CONT
FieldSelection(std::initializer_list<std::string> fields, ModeEnum mode = MODE_SELECT)
: Mode(mode)
FieldSelection(std::initializer_list<std::string> fields, Mode mode = Mode::Select)
: ModeType(mode)
{
for (const std::string& afield : fields)
{
@ -102,8 +111,8 @@ public:
VTKM_CONT
FieldSelection(
std::initializer_list<std::pair<std::string, vtkm::cont::Field::Association>> fields,
ModeEnum mode = MODE_SELECT)
: Mode(mode)
Mode mode = Mode::Select)
: ModeType(mode)
{
for (const auto& item : fields)
{
@ -122,8 +131,8 @@ public:
VTKM_CONT
FieldSelection(
std::initializer_list<vtkm::Pair<std::string, vtkm::cont::Field::Association>> fields,
ModeEnum mode = MODE_SELECT)
: Mode(mode)
Mode mode = Mode::Select)
: ModeType(mode)
{
for (const auto& item : fields)
{
@ -135,24 +144,24 @@ public:
// but we don't want any of them compiled for devices (like CUDA), so we have
// to explicitly mark them as VTKM_CONT.
VTKM_CONT FieldSelection(const FieldSelection& src)
: Mode(src.Mode)
: ModeType(src.ModeType)
, Fields(src.Fields)
{
}
VTKM_CONT FieldSelection(FieldSelection&& rhs)
: Mode(rhs.Mode)
: ModeType(rhs.ModeType)
, Fields(std::move(rhs.Fields))
{
}
VTKM_CONT FieldSelection& operator=(const FieldSelection& src)
{
this->Mode = src.Mode;
this->ModeType = src.ModeType;
this->Fields = src.Fields;
return *this;
}
VTKM_CONT FieldSelection& operator=(FieldSelection&& rhs)
{
this->Mode = rhs.Mode;
this->ModeType = rhs.ModeType;
this->Fields = std::move(rhs.Fields);
return *this;
}
@ -170,19 +179,19 @@ public:
const std::string& name,
vtkm::cont::Field::Association association = vtkm::cont::Field::Association::Any) const
{
switch (this->Mode)
switch (this->ModeType)
{
case MODE_NONE:
case Mode::None:
return false;
case MODE_ALL:
case Mode::All:
return true;
case MODE_SELECT:
case Mode::Select:
default:
return this->HasField(name, association);
case MODE_EXCLUDE:
case Mode::Exclude:
return !this->HasField(name, association);
}
}
@ -242,11 +251,11 @@ public:
void ClearFields() { this->Fields.clear(); }
VTKM_CONT
ModeEnum GetMode() const { return this->Mode; }
void SetMode(ModeEnum val) { this->Mode = val; }
Mode GetMode() const { return this->ModeType; }
void SetMode(Mode val) { this->ModeType = val; }
private:
ModeEnum Mode; ///< mode
Mode ModeType; ///< mode
struct Field
{

@ -261,7 +261,7 @@ public:
VTKM_CONT
void SetFieldsToPass(const vtkm::filter::FieldSelection& fieldsToPass,
vtkm::filter::FieldSelection::ModeEnum mode)
vtkm::filter::FieldSelection::Mode mode)
{
this->FieldsToPass = fieldsToPass;
this->FieldsToPass.SetMode(mode);
@ -271,7 +271,7 @@ public:
void SetFieldsToPass(
const std::string& fieldname,
vtkm::cont::Field::Association association,
vtkm::filter::FieldSelection::ModeEnum mode = vtkm::filter::FieldSelection::MODE_SELECT)
vtkm::filter::FieldSelection::Mode mode = vtkm::filter::FieldSelection::Mode::Select)
{
this->SetFieldsToPass({ fieldname, association }, mode);
}

@ -294,7 +294,7 @@ void CallPostExecute(Derived* self,
template <typename Derived>
inline VTKM_CONT Filter<Derived>::Filter()
: Invoke()
, FieldsToPass(vtkm::filter::FieldSelection::MODE_ALL)
, FieldsToPass(vtkm::filter::FieldSelection::Mode::All)
{
}

@ -260,7 +260,7 @@ public:
VTKM_CONT
void SetFieldsToPass(const vtkm::filter::FieldSelection& fieldsToPass,
vtkm::filter::FieldSelection::ModeEnum mode)
vtkm::filter::FieldSelection::Mode mode)
{
this->FieldsToPass = fieldsToPass;
this->FieldsToPass.SetMode(mode);
@ -270,7 +270,7 @@ public:
void SetFieldsToPass(
const std::string& fieldname,
vtkm::cont::Field::Association association,
vtkm::filter::FieldSelection::ModeEnum mode = vtkm::filter::FieldSelection::MODE_SELECT)
vtkm::filter::FieldSelection::Mode mode = vtkm::filter::FieldSelection::Mode::Select)
{
this->SetFieldsToPass({ fieldname, association }, mode);
}
@ -438,7 +438,7 @@ private:
}
}
vtkm::filter::FieldSelection FieldsToPass = vtkm::filter::FieldSelection::MODE_ALL;
vtkm::filter::FieldSelection FieldsToPass = vtkm::filter::FieldSelection::Mode::All;
bool RunFilterWithMultipleThreads = false;
};
}

@ -43,7 +43,7 @@ public:
mc.SetGenerateNormals(true);
mc.SetIsoValue(0, 0.5);
mc.SetActiveField("tangle");
mc.SetFieldsToPass(vtkm::filter::FieldSelection::MODE_NONE);
mc.SetFieldsToPass(vtkm::filter::FieldSelection::Mode::None);
auto result = mc.Execute(dataSet);
{
@ -103,7 +103,7 @@ public:
//we use FlyingEdges we now which does point merging for free
//so we should see the number of points not change
mc.SetMergeDuplicatePoints(false);
mc.SetFieldsToPass(vtkm::filter::FieldSelection::MODE_ALL);
mc.SetFieldsToPass(vtkm::filter::FieldSelection::Mode::All);
result = mc.Execute(dataSet);
{
vtkm::cont::CoordinateSystem coords = result.GetCoordinateSystem();

@ -309,7 +309,7 @@ namespace entity_extraction
VTKM_CONT GhostCellRemove::GhostCellRemove()
{
this->SetActiveField("vtkmGhostCells");
this->SetFieldsToPass("vtkmGhostCells", vtkm::filter::FieldSelection::MODE_EXCLUDE);
this->SetFieldsToPass("vtkmGhostCells", vtkm::filter::FieldSelection::Mode::Exclude);
}
//-----------------------------------------------------------------------------
@ -339,7 +339,7 @@ VTKM_CONT vtkm::cont::DataSet GhostCellRemove::DoExecute(const vtkm::cont::DataS
extract.SetSampleRate(sample);
if (this->GetRemoveGhostField())
extract.SetFieldsToPass(this->GetActiveFieldName(),
vtkm::filter::FieldSelection::MODE_EXCLUDE);
vtkm::filter::FieldSelection::Mode::Exclude);
auto output = extract.Execute(input);
return output;

@ -26,7 +26,7 @@ void TestFieldSelection()
{
std::cout << "field selection with select all, everything should be true." << std::endl;
vtkm::filter::FieldSelection selection(vtkm::filter::FieldSelection::MODE_ALL);
vtkm::filter::FieldSelection selection(vtkm::filter::FieldSelection::Mode::All);
VTKM_TEST_ASSERT(selection.IsFieldSelected("foo") == true, "field selection failed.");
VTKM_TEST_ASSERT(selection.IsFieldSelected("bar", vtkm::cont::Field::Association::Points) ==
true,
@ -35,7 +35,7 @@ void TestFieldSelection()
{
std::cout << "field selection with select none, everything should be false." << std::endl;
vtkm::filter::FieldSelection selection(vtkm::filter::FieldSelection::MODE_NONE);
vtkm::filter::FieldSelection selection(vtkm::filter::FieldSelection::Mode::None);
VTKM_TEST_ASSERT(selection.IsFieldSelected("foo") == false, "field selection failed.");
VTKM_TEST_ASSERT(selection.IsFieldSelected("bar", vtkm::cont::Field::Association::Points) ==
false,
@ -148,7 +148,7 @@ void TestFieldSelection()
vtkm::filter::FieldSelection selection(
{ pair_type{ "foo", vtkm::cont::Field::Association::Any },
pair_type{ "bar", vtkm::cont::Field::Association::Cells } },
vtkm::filter::FieldSelection::MODE_EXCLUDE);
vtkm::filter::FieldSelection::Mode::Exclude);
VTKM_TEST_ASSERT(selection.IsFieldSelected("foo") == false, "field selection failed.");
VTKM_TEST_ASSERT(selection.IsFieldSelected("foo", vtkm::cont::Field::Association::Points) ==
false,