vtk-m2/vtkm/filter/FilterDataSet.h
Kenneth Moreland 0dd1e7ae69 Make Get/SetActiveCellSetIndex method names match in filter
The filter classes have an internal CellSetIndex member that tracks on
which cell set to operate on. The get accessor is called
GetActiveCellSetIndex (note the descriptive "Index" at the end of the
function name). However, the set accessor was called SetActiveCellSet
(sans "Index"). This discrepancy does not make a lot of sense.

This commit changes SetActiveCellSet to SetActiveCellSetIndex. Not only
do I like the extra descriptor (in case we later want to set cells by
name), it is also used much less than the get method so is less
disruptive.
2017-09-12 10:49:57 -06:00

106 lines
3.2 KiB
C++

//============================================================================
// Copyright (c) Kitware, Inc.
// All rights reserved.
// See LICENSE.txt for details.
// This software is distributed WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE. See the above copyright notice for more information.
//
// Copyright 2014 Sandia Corporation.
// Copyright 2014 UT-Battelle, LLC.
// Copyright 2014 Los Alamos National Security.
//
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
// the U.S. Government retains certain rights in this software.
//
// Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National
// Laboratory (LANL), the U.S. Government retains certain rights in
// this software.
//============================================================================
#ifndef vtk_m_filter_DataSetFilter_h
#define vtk_m_filter_DataSetFilter_h
#include <vtkm/cont/CoordinateSystem.h>
#include <vtkm/cont/DataSet.h>
#include <vtkm/cont/DynamicCellSet.h>
#include <vtkm/cont/Field.h>
#include <vtkm/cont/RuntimeDeviceTracker.h>
#include <vtkm/filter/PolicyBase.h>
#include <vtkm/filter/Result.h>
namespace vtkm
{
namespace filter
{
template <class Derived>
class FilterDataSet
{
public:
VTKM_CONT
FilterDataSet();
VTKM_CONT
~FilterDataSet();
VTKM_CONT
void SetActiveCellSetIndex(vtkm::Id index) { this->CellSetIndex = index; }
VTKM_CONT
vtkm::Id GetActiveCellSetIndex() const { return this->CellSetIndex; }
VTKM_CONT
void SetActiveCoordinateSystem(vtkm::Id index) { this->CoordinateSystemIndex = index; }
VTKM_CONT
vtkm::Id GetActiveCoordinateSystemIndex() const { return this->CoordinateSystemIndex; }
VTKM_CONT
void SetRuntimeDeviceTracker(const vtkm::cont::RuntimeDeviceTracker& tracker)
{
this->Tracker = tracker;
}
VTKM_CONT
const vtkm::cont::RuntimeDeviceTracker& GetRuntimeDeviceTracker() const { return this->Tracker; }
VTKM_CONT
Result Execute(const vtkm::cont::DataSet& input);
template <typename DerivedPolicy>
VTKM_CONT Result Execute(const vtkm::cont::DataSet& input,
const vtkm::filter::PolicyBase<DerivedPolicy>& policy);
//From the field we can extract the association component
// ASSOC_ANY -> unable to map
// ASSOC_WHOLE_MESH -> (I think this is points)
// ASSOC_POINTS -> map using point mapping
// ASSOC_CELL_SET -> how do we map this?
// ASSOC_LOGICAL_DIM -> unable to map?
VTKM_CONT
bool MapFieldOntoOutput(Result& result, const vtkm::cont::Field& field);
template <typename DerivedPolicy>
VTKM_CONT bool MapFieldOntoOutput(Result& result,
const vtkm::cont::Field& field,
const vtkm::filter::PolicyBase<DerivedPolicy>& policy);
private:
template <typename DerivedPolicy>
VTKM_CONT Result PrepareForExecution(const vtkm::cont::DataSet& input,
const vtkm::filter::PolicyBase<DerivedPolicy>& policy);
std::string OutputFieldName;
vtkm::Id CellSetIndex;
vtkm::Id CoordinateSystemIndex;
vtkm::cont::RuntimeDeviceTracker Tracker;
};
}
} // namespace vtkm::filter
#include <vtkm/filter/FilterDataSet.hxx>
#endif // vtk_m_filter_DataSetFilter_h