second round of fixes

This commit is contained in:
Roxana Bujack 2023-11-07 17:20:05 -07:00
parent fae4cc4c79
commit 5d3c9604f2
22 changed files with 247 additions and 231 deletions

@ -29,10 +29,9 @@ protected:
using TracerType = vtkm::rendering::raytracing::ConnectivityTracer;
TracerType Tracer;
vtkm::cont::Field ScalarField;
vtkm::cont::Field EmissionField;
vtkm::cont::UnknownCellSet Cells;
vtkm::cont::CoordinateSystem Coords;
std::string CoordinateName;
std::string FieldName;
std::string EmissionFieldName;
RenderMode Mode;
vtkm::Bounds SpatialBounds;
ColorMapType ColorMap;
@ -41,11 +40,12 @@ protected:
bool CompositeBackground;
public:
InternalsType(const vtkm::cont::DataSet& dataSet, const std::string& fieldName)
InternalsType(const vtkm::cont::DataSet& dataSet,
const std::string& coordinateName,
const std::string& fieldName)
{
Dataset = dataSet;
Cells = dataSet.GetCellSet();
Coords = dataSet.GetCoordinateSystem();
CoordinateName = coordinateName;
Mode = RenderMode::Volume;
CompositeBackground = true;
if (!fieldName.empty())
@ -76,8 +76,9 @@ public:
VTKM_CONT
void SetScalarField(const std::string& fieldName)
{
ScalarField = Dataset.GetField(fieldName);
const vtkm::cont::ArrayHandle<vtkm::Range> range = this->ScalarField.GetRange();
this->FieldName = fieldName;
const vtkm::cont::ArrayHandle<vtkm::Range> range =
this->Dataset.GetField(this->FieldName).GetRange();
ScalarRange = range.ReadPortal().Get(0);
}
@ -104,7 +105,7 @@ public:
throw vtkm::cont::ErrorBadValue(
"Conn Proxy: energy mode must be set before setting emission field");
}
EmissionField = Dataset.GetField(fieldName);
this->EmissionFieldName = fieldName;
}
VTKM_CONT
@ -113,7 +114,8 @@ public:
VTKM_CONT
vtkm::Range GetScalarFieldRange()
{
const vtkm::cont::ArrayHandle<vtkm::Range> range = this->ScalarField.GetRange();
const vtkm::cont::ArrayHandle<vtkm::Range> range =
this->Dataset.GetField(this->FieldName).GetRange();
ScalarRange = range.ReadPortal().Get(0);
return ScalarRange;
}
@ -130,19 +132,19 @@ public:
if (this->Mode == RenderMode::Volume)
{
Tracer.SetVolumeData(this->ScalarField,
Tracer.SetVolumeData(this->Dataset.GetField(this->FieldName),
this->ScalarRange,
this->Cells,
this->Coords,
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetGhostCellField());
}
else
{
Tracer.SetEnergyData(this->ScalarField,
Tracer.SetEnergyData(this->Dataset.GetField(this->FieldName),
rays.Buffers.at(0).GetNumChannels(),
this->Cells,
this->Coords,
this->EmissionField);
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetField(this->EmissionFieldName));
}
Tracer.FullTrace(rays);
@ -153,19 +155,19 @@ public:
{
if (this->Mode == RenderMode::Volume)
{
Tracer.SetVolumeData(this->ScalarField,
Tracer.SetVolumeData(this->Dataset.GetField(this->FieldName),
this->ScalarRange,
this->Cells,
this->Coords,
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetGhostCellField());
}
else
{
Tracer.SetEnergyData(this->ScalarField,
Tracer.SetEnergyData(this->Dataset.GetField(this->FieldName),
rays.Buffers.at(0).GetNumChannels(),
this->Cells,
this->Coords,
this->EmissionField);
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetField(this->EmissionFieldName));
}
Tracer.FullTrace(rays);
@ -177,19 +179,19 @@ public:
if (this->Mode == RenderMode::Volume)
{
Tracer.SetVolumeData(this->ScalarField,
Tracer.SetVolumeData(this->Dataset.GetField(this->FieldName),
this->ScalarRange,
this->Cells,
this->Coords,
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetGhostCellField());
}
else
{
Tracer.SetEnergyData(this->ScalarField,
Tracer.SetEnergyData(this->Dataset.GetField(this->FieldName),
rays.Buffers.at(0).GetNumChannels(),
this->Cells,
this->Coords,
this->EmissionField);
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetField(this->EmissionFieldName));
}
return Tracer.PartialTrace(rays);
@ -200,19 +202,19 @@ public:
{
if (this->Mode == RenderMode::Volume)
{
Tracer.SetVolumeData(this->ScalarField,
Tracer.SetVolumeData(this->Dataset.GetField(this->FieldName),
this->ScalarRange,
this->Cells,
this->Coords,
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetGhostCellField());
}
else
{
Tracer.SetEnergyData(this->ScalarField,
Tracer.SetEnergyData(this->Dataset.GetField(this->FieldName),
rays.Buffers.at(0).GetNumChannels(),
this->Cells,
this->Coords,
this->EmissionField);
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetField(this->EmissionFieldName));
}
return Tracer.PartialTrace(rays);
@ -230,16 +232,16 @@ public:
rayCamera.SetParameters(
camera, (vtkm::Int32)canvas->GetWidth(), (vtkm::Int32)canvas->GetHeight());
vtkm::rendering::raytracing::Ray<vtkm::Float32> rays;
rayCamera.CreateRays(rays, this->Coords.GetBounds());
rayCamera.CreateRays(rays, this->Dataset.GetCoordinateSystem(this->CoordinateName).GetBounds());
rays.Buffers.at(0).InitConst(0.f);
raytracing::RayOperations::MapCanvasToRays(rays, camera, *canvas);
if (this->Mode == RenderMode::Volume)
{
Tracer.SetVolumeData(this->ScalarField,
Tracer.SetVolumeData(this->Dataset.GetField(this->FieldName),
this->ScalarRange,
this->Cells,
this->Coords,
this->Dataset.GetCellSet(),
this->Dataset.GetCoordinateSystem(this->CoordinateName),
this->Dataset.GetGhostCellField());
}
else
@ -261,22 +263,31 @@ public:
VTKM_CONT
ConnectivityProxy::ConnectivityProxy(const vtkm::cont::DataSet& dataSet,
const std::string& fieldName)
: Internals(std::make_unique<InternalsType>(dataSet, fieldName))
: Internals(
std::make_unique<InternalsType>(dataSet, dataSet.GetCoordinateSystemName(), fieldName))
{
}
VTKM_CONT
ConnectivityProxy::ConnectivityProxy(const vtkm::cont::DataSet& dataSet,
const std::string& fieldName,
const std::string& coordinateName)
: Internals(std::make_unique<InternalsType>(dataSet, coordinateName, fieldName))
{
}
VTKM_CONT
ConnectivityProxy::ConnectivityProxy(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField)
{
vtkm::cont::DataSet dataset;
dataset.SetCellSet(cellset);
dataset.AddCoordinateSystem(coords);
dataset.AddField(scalarField);
Internals = std::make_unique<InternalsType>(dataset, scalarField.GetName());
Internals = std::make_unique<InternalsType>(dataset, coords.GetName(), scalarField.GetName());
}
ConnectivityProxy::ConnectivityProxy(const ConnectivityProxy& rhs)

@ -31,6 +31,11 @@ class VTKM_RENDERING_EXPORT ConnectivityProxy
{
public:
ConnectivityProxy(const vtkm::cont::DataSet& dataset, const std::string& fieldName);
ConnectivityProxy(const vtkm::cont::DataSet& dataSet,
const std::string& fieldName,
const std::string& coordinateName);
ConnectivityProxy(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField);

@ -25,22 +25,33 @@ void Mapper::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange)
{
RenderCells(cellset,
coords,
scalarField,
colorTable,
camera,
scalarRange,
make_FieldCell(
vtkm::cont::GetGlobalGhostCellFieldName(),
vtkm::cont::ArrayHandleConstant<vtkm::UInt8>(0, scalarField.GetNumberOfValues())));
RenderCellsImpl(cellset,
coords,
scalarField,
colorTable,
camera,
scalarRange,
make_FieldCell(vtkm::cont::GetGlobalGhostCellFieldName(),
vtkm::cont::ArrayHandleConstant<vtkm::UInt8>(
0, scalarField.GetNumberOfValues())));
};
void Mapper::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
{
RenderCellsImpl(cellset, coords, scalarField, colorTable, camera, scalarRange, ghostField);
};
struct CompareIndices
{
vtkm::Vec3f CameraDirection;
vtkm::Vec3f* Centers;
CompareIndices(vtkm::Vec3f* centers, vtkm::Vec3f cameraDirection)
std::vector<vtkm::Vec3f>& Centers;
CompareIndices(std::vector<vtkm::Vec3f>& centers, vtkm::Vec3f cameraDirection)
: CameraDirection(cameraDirection)
, Centers(centers)
{
@ -59,22 +70,23 @@ void Mapper::RenderCellsPartitioned(const vtkm::cont::PartitionedDataSet partiti
const vtkm::Range& scalarRange)
{
// sort partitions back to front for best rendering with the volume renderer
vtkm::Vec3f centers[partitionedData.GetNumberOfPartitions()];
std::vector<vtkm::Vec3f> centers(partitionedData.GetNumberOfPartitions()); // vector for centers
std::vector<int> indices(partitionedData.GetNumberOfPartitions());
for (unsigned int p = 0; p < partitionedData.GetNumberOfPartitions(); p++)
for (vtkm::Id p = 0; p < partitionedData.GetNumberOfPartitions(); p++)
{
indices[p] = p;
centers[p] = vtkm::cont::BoundsCompute(partitionedData.GetPartition(p)).Center();
indices[static_cast<size_t>(p)] = p;
centers[static_cast<size_t>(p)] =
vtkm::cont::BoundsCompute(partitionedData.GetPartition(p)).Center();
}
CompareIndices comparator(centers, camera.GetLookAt() - camera.GetPosition());
std::sort(indices.begin(), indices.end(), comparator);
for (unsigned int p = 0; p < partitionedData.GetNumberOfPartitions(); p++)
for (vtkm::Id p = 0; p < partitionedData.GetNumberOfPartitions(); p++)
{
auto partition = partitionedData.GetPartition(indices[p]);
auto partition = partitionedData.GetPartition(indices[static_cast<size_t>(p)]);
this->RenderCells(partition.GetCellSet(),
partition.GetCoordinateSystem(),
partition.GetField(fieldName.c_str()),
partition.GetField(fieldName),
colorTable,
camera,
scalarRange,

@ -37,13 +37,13 @@ public:
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange);
virtual void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) = 0;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField);
virtual void RenderCellsPartitioned(const vtkm::cont::PartitionedDataSet partitionedData,
const std::string fieldName,
@ -65,6 +65,13 @@ protected:
vtkm::cont::ArrayHandle<vtkm::Vec4f_32> ColorMap;
bool LogarithmX = false;
bool LogarithmY = false;
c virtual void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) = 0;
};
}
} //namespace vtkm::rendering

@ -59,13 +59,13 @@ vtkm::rendering::Canvas* MapperConnectivity::GetCanvas() const
VTKM_CONT
void MapperConnectivity::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperConnectivity::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
{
vtkm::cont::DataSet dataset;

@ -30,22 +30,19 @@ public:
void SetCanvas(vtkm::rendering::Canvas* canvas) override;
virtual vtkm::rendering::Canvas* GetCanvas() const override;
using Mapper::RenderCells;
virtual void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable&, //colorTable
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
vtkm::rendering::Mapper* NewCopy() const override;
void CreateDefaultView();
protected:
vtkm::Float32 SampleDistance;
CanvasRayTracer* CanvasRT;
virtual void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable&, //colorTable
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -115,13 +115,13 @@ void MapperCylinder::SetRadiusDelta(const vtkm::Float32& delta)
this->Internals->Delta = delta;
}
void MapperCylinder::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperCylinder::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();
logger->OpenLogEntry("mapper_cylinder");

@ -61,16 +61,6 @@ public:
*/
void SetRadiusDelta(const vtkm::Float32& delta);
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
void SetCompositeBackground(bool on);
vtkm::rendering::Mapper* NewCopy() const override;
@ -79,6 +69,14 @@ private:
std::shared_ptr<InternalsType> Internals;
struct RenderFunctor;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -320,13 +320,13 @@ void MapperGlyphScalar::SetGlyphType(vtkm::rendering::GlyphType glyphType)
this->GlyphType = glyphType;
}
void MapperGlyphScalar::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperGlyphScalar::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();

@ -34,20 +34,18 @@ public:
/// @copydoc GetGlyphType
void SetGlyphType(vtkm::rendering::GlyphType glyphType);
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
vtkm::rendering::Mapper* NewCopy() const override;
protected:
vtkm::rendering::GlyphType GlyphType;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -50,13 +50,13 @@ void MapperGlyphVector::SetGlyphType(vtkm::rendering::GlyphType glyphType)
this->GlyphType = glyphType;
}
void MapperGlyphVector::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& field,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& vtkmNotUsed(fieldRange),
const vtkm::cont::Field& ghostField)
void MapperGlyphVector::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& field,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& vtkmNotUsed(fieldRange),
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();

@ -35,20 +35,18 @@ public:
/// @copydoc GetGlyphType
void SetGlyphType(vtkm::rendering::GlyphType glyphType);
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
vtkm::rendering::Mapper* NewCopy() const override;
protected:
vtkm::rendering::GlyphType GlyphType;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -106,13 +106,13 @@ void MapperPoint::UseVariableRadius(bool useVariableRadius)
this->Internals->UseVariableRadius = useVariableRadius;
}
void MapperPoint::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperPoint::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();

@ -72,16 +72,6 @@ public:
*/
void SetRadiusDelta(const vtkm::Float32& delta);
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
void SetCompositeBackground(bool on);
vtkm::rendering::Mapper* NewCopy() const override;
@ -90,6 +80,14 @@ private:
std::shared_ptr<InternalsType> Internals;
struct RenderFunctor;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -70,13 +70,13 @@ vtkm::rendering::Canvas* MapperQuad::GetCanvas() const
return this->Internals->Canvas;
}
void MapperQuad::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperQuad::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();
logger->OpenLogEntry("mapper_ray_tracer");

@ -37,16 +37,6 @@ public:
void SetCanvas(vtkm::rendering::Canvas* canvas) override;
virtual vtkm::rendering::Canvas* GetCanvas() const override;
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
void SetCompositeBackground(bool on);
vtkm::rendering::Mapper* NewCopy() const override;
@ -55,6 +45,14 @@ private:
std::shared_ptr<InternalsType> Internals;
struct RenderFunctor;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -65,13 +65,13 @@ void MapperRayTracer::RenderCellsPartitioned(const vtkm::cont::PartitionedDataSe
for (unsigned int p = 0; p < partitionedData.GetNumberOfPartitions(); p++)
{
auto partition = partitionedData.GetPartition(indices[p]);
this->RenderCells(partition.GetCellSet(),
partition.GetCoordinateSystem(),
partition.GetField(fieldName.c_str()),
colorTable,
camera,
scalarRange,
partition.GetGhostCellField());
this->RenderCellsImpl(partition.GetCellSet(),
partition.GetCoordinateSystem(),
partition.GetField(fieldName.c_str()),
colorTable,
camera,
scalarRange,
partition.GetGhostCellField());
}
}
@ -120,13 +120,13 @@ vtkm::rendering::Canvas* MapperRayTracer::GetCanvas() const
return this->Internals->Canvas;
}
void MapperRayTracer::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperRayTracer::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
{
raytracing::Logger* logger = raytracing::Logger::GetInstance();
logger->OpenLogEntry("mapper_ray_tracer");

@ -31,16 +31,6 @@ public:
void SetCanvas(vtkm::rendering::Canvas* canvas) override;
virtual vtkm::rendering::Canvas* GetCanvas() const override;
using Mapper::RenderCells;
void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
void RenderCellsPartitioned(const vtkm::cont::PartitionedDataSet partitionedData,
const std::string fieldName,
const vtkm::cont::ColorTable& colorTable,
@ -55,6 +45,14 @@ private:
struct InternalsType;
std::shared_ptr<InternalsType> Internals;
struct CompareIndices;
void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -72,13 +72,13 @@ vtkm::rendering::Canvas* MapperVolume::GetCanvas() const
return this->Internals->Canvas;
}
void MapperVolume::RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperVolume::RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& vtkmNotUsed(colorTable),
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& vtkmNotUsed(ghostField))
{
if (!cellset.CanConvert<vtkm::cont::CellSetStructured<3>>())
{

@ -29,16 +29,6 @@ public:
void SetCanvas(vtkm::rendering::Canvas* canvas) override;
virtual vtkm::rendering::Canvas* GetCanvas() const override;
using Mapper::RenderCells;
virtual void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable&, //colorTable
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
vtkm::rendering::Mapper* NewCopy() const override;
void SetSampleDistance(const vtkm::Float32 distance);
void SetCompositeBackground(const bool compositeBackground);
@ -46,6 +36,14 @@ public:
private:
struct InternalsType;
std::shared_ptr<InternalsType> Internals;
virtual void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable&, //colorTable
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
};
}
} //namespace vtkm::rendering

@ -227,13 +227,13 @@ void MapperWireframer::SetIsOverlay(bool isOverlay)
this->Internals->IsOverlay = isOverlay;
}
void MapperWireframer::RenderCells(const vtkm::cont::UnknownCellSet& inCellSet,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& inScalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
void MapperWireframer::RenderCellsImpl(const vtkm::cont::UnknownCellSet& inCellSet,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& inScalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField)
{
vtkm::cont::UnknownCellSet cellSet = inCellSet;

@ -42,21 +42,19 @@ public:
bool GetIsOverlay() const;
void SetIsOverlay(bool isOverlay);
using Mapper::RenderCells;
virtual void RenderCells(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
virtual vtkm::rendering::Mapper* NewCopy() const override;
private:
struct InternalsType;
std::shared_ptr<InternalsType> Internals;
virtual void RenderCellsImpl(const vtkm::cont::UnknownCellSet& cellset,
const vtkm::cont::CoordinateSystem& coords,
const vtkm::cont::Field& scalarField,
const vtkm::cont::ColorTable& colorTable,
const vtkm::rendering::Camera& camera,
const vtkm::Range& scalarRange,
const vtkm::cont::Field& ghostField) override;
}; // class MapperWireframer
}
} // namespace vtkm::rendering