mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-05 01:49:02 +00:00
Move the check for 0 inputs. With mpi, 0 input is ok for a rank.
This commit is contained in:
parent
4b2dbfbad2
commit
f878ba8dab
@ -69,7 +69,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
VTKM_CONT virtual void ValidateOptions(const vtkm::cont::PartitionedDataSet& input) const;
|
||||
VTKM_CONT virtual void ValidateOptions() const;
|
||||
|
||||
using DSIType = vtkm::filter::particleadvection::DataSetIntegrator;
|
||||
VTKM_CONT std::vector<DSIType> CreateDataSetIntegrators(
|
||||
|
@ -28,11 +28,8 @@ inline VTKM_CONT FilterParticleAdvection<Derived>::FilterParticleAdvection()
|
||||
}
|
||||
|
||||
template <typename Derived>
|
||||
void FilterParticleAdvection<Derived>::ValidateOptions(
|
||||
const vtkm::cont::PartitionedDataSet& input) const
|
||||
void FilterParticleAdvection<Derived>::ValidateOptions() const
|
||||
{
|
||||
if (input.GetNumberOfPartitions() == 0)
|
||||
throw vtkm::cont::ErrorFilterExecution("No input dataset provided.");
|
||||
if (this->GetUseCoordinateSystemAsField())
|
||||
throw vtkm::cont::ErrorFilterExecution("Coordinate system as field not supported");
|
||||
if (this->Seeds.GetNumberOfValues() == 0)
|
||||
@ -51,6 +48,9 @@ FilterParticleAdvection<Derived>::CreateDataSetIntegrators(
|
||||
{
|
||||
std::vector<vtkm::filter::particleadvection::DataSetIntegrator> dsi;
|
||||
|
||||
if (boundsMap.GetTotalNumBlocks() == 0)
|
||||
throw vtkm::cont::ErrorFilterExecution("No input datasets.");
|
||||
|
||||
std::string activeField = this->GetActiveFieldName();
|
||||
|
||||
for (vtkm::Id i = 0; i < input.GetNumberOfPartitions(); i++)
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
vtkm::filter::PolicyBase<DerivedPolicy> policy);
|
||||
|
||||
protected:
|
||||
VTKM_CONT void ValidateOptions(const vtkm::cont::PartitionedDataSet& input) const override;
|
||||
VTKM_CONT void ValidateOptions(const vtkm::cont::PartitionedDataSet& input) const;
|
||||
|
||||
using DSIType = vtkm::filter::particleadvection::TemporalDataSetIntegrator;
|
||||
VTKM_CONT std::vector<DSIType> CreateDataSetIntegrators(
|
||||
|
@ -30,7 +30,7 @@ template <typename Derived>
|
||||
void FilterTemporalParticleAdvection<Derived>::ValidateOptions(
|
||||
const vtkm::cont::PartitionedDataSet& input) const
|
||||
{
|
||||
this->vtkm::filter::FilterParticleAdvection<Derived>::ValidateOptions(input);
|
||||
this->vtkm::filter::FilterParticleAdvection<Derived>::ValidateOptions();
|
||||
|
||||
if (this->NextDataSet.GetNumberOfPartitions() != input.GetNumberOfPartitions())
|
||||
throw vtkm::cont::ErrorFilterExecution("Number of partitions do not match");
|
||||
@ -47,6 +47,9 @@ FilterTemporalParticleAdvection<Derived>::CreateDataSetIntegrators(
|
||||
std::vector<DSIType> dsi;
|
||||
std::string activeField = this->GetActiveFieldName();
|
||||
|
||||
if (boundsMap.GetTotalNumBlocks() == 0)
|
||||
throw vtkm::cont::ErrorFilterExecution("No input datasets.");
|
||||
|
||||
for (vtkm::Id i = 0; i < input.GetNumberOfPartitions(); i++)
|
||||
{
|
||||
vtkm::Id blockId = boundsMap.GetLocalBlockId(i);
|
||||
|
@ -36,7 +36,7 @@ inline VTKM_CONT vtkm::cont::PartitionedDataSet ParticleAdvection::PrepareForExe
|
||||
using AlgorithmType = vtkm::filter::particleadvection::ParticleAdvectionAlgorithm;
|
||||
using ThreadedAlgorithmType = vtkm::filter::particleadvection::ParticleAdvectionThreadedAlgorithm;
|
||||
|
||||
this->ValidateOptions(input);
|
||||
this->ValidateOptions();
|
||||
vtkm::filter::particleadvection::BoundsMap boundsMap(input);
|
||||
auto dsi = this->CreateDataSetIntegrators(input, boundsMap);
|
||||
|
||||
|
@ -36,7 +36,7 @@ inline VTKM_CONT vtkm::cont::PartitionedDataSet Streamline::PrepareForExecution(
|
||||
using AlgorithmType = vtkm::filter::particleadvection::StreamlineAlgorithm;
|
||||
using ThreadedAlgorithmType = vtkm::filter::particleadvection::StreamlineThreadedAlgorithm;
|
||||
|
||||
this->ValidateOptions(input);
|
||||
this->ValidateOptions();
|
||||
vtkm::filter::particleadvection::BoundsMap boundsMap(input);
|
||||
auto dsi = this->CreateDataSetIntegrators(input, boundsMap);
|
||||
|
||||
|
@ -104,6 +104,9 @@ public:
|
||||
return blockIDs;
|
||||
}
|
||||
|
||||
vtkm::Id GetTotalNumBlocks() const { return this->TotalNumBlocks; }
|
||||
vtkm::Id GetLocalNumBlocks() const { return this->LocalNumBlocks; }
|
||||
|
||||
private:
|
||||
void Init(const std::vector<vtkm::cont::DataSet>& dataSets)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user