mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-08 13:23:51 +00:00
Remove vtkm::BaseComponent
This functionality has been superseded by VecTraits::BaseComponentType. The new functionality also supports replacing the BaseComponentType.
This commit is contained in:
parent
07c59fcf72
commit
6c136b978e
@ -32,3 +32,8 @@ using NewVec1 =
|
|||||||
using NewVec1 =
|
using NewVec1 =
|
||||||
typename vtkm::VecTraits<NestedVec>::template ReplaceBaseComponentType<vtkm::Float64>;
|
typename vtkm::VecTraits<NestedVec>::template ReplaceBaseComponentType<vtkm::Float64>;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
This functionality replaces the functionality in `vtkm::BaseComponent`. Unfortunately,
|
||||||
|
`vtkm::BaseComponent` did not have the ability to replace the base component and
|
||||||
|
there was no straightforward way to implement that outside of `VecTraits`.
|
||||||
|
|
||||||
|
@ -1,64 +0,0 @@
|
|||||||
//============================================================================
|
|
||||||
// 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.
|
|
||||||
//============================================================================
|
|
||||||
#ifndef vtk_m_BaseComponent_h
|
|
||||||
#define vtk_m_BaseComponent_h
|
|
||||||
|
|
||||||
#include <vtkm/Matrix.h>
|
|
||||||
#include <vtkm/TypeTraits.h>
|
|
||||||
#include <vtkm/VecTraits.h>
|
|
||||||
|
|
||||||
namespace vtkm
|
|
||||||
{
|
|
||||||
|
|
||||||
namespace detail
|
|
||||||
{
|
|
||||||
|
|
||||||
template <typename VecType, typename DimensionalityTag>
|
|
||||||
struct BaseComponentImpl;
|
|
||||||
|
|
||||||
template <typename VecType>
|
|
||||||
struct BaseComponentImpl<VecType, vtkm::TypeTraitsVectorTag>
|
|
||||||
{
|
|
||||||
private:
|
|
||||||
using ComponentType = typename vtkm::VecTraits<VecType>::ComponentType;
|
|
||||||
|
|
||||||
public:
|
|
||||||
using Type =
|
|
||||||
typename BaseComponentImpl<ComponentType,
|
|
||||||
typename vtkm::TypeTraits<ComponentType>::DimensionalityTag>::Type;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename VecType>
|
|
||||||
struct BaseComponentImpl<VecType, vtkm::TypeTraitsMatrixTag>
|
|
||||||
: BaseComponentImpl<VecType, vtkm::TypeTraitsVectorTag>
|
|
||||||
{
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename ScalarType>
|
|
||||||
struct BaseComponentImpl<ScalarType, vtkm::TypeTraitsScalarTag>
|
|
||||||
{
|
|
||||||
using Type = ScalarType;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace detail
|
|
||||||
|
|
||||||
// Finds the base component type of a Vec. If you have a Vec of Vecs, it will
|
|
||||||
// descend all Vecs until you get to the scalar type.
|
|
||||||
template <typename VecType>
|
|
||||||
struct BaseComponent
|
|
||||||
{
|
|
||||||
using Type =
|
|
||||||
typename detail::BaseComponentImpl<VecType,
|
|
||||||
typename vtkm::TypeTraits<VecType>::DimensionalityTag>::Type;
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace vtkm
|
|
||||||
|
|
||||||
#endif //vtk_m_BaseComponent_h
|
|
@ -18,7 +18,6 @@ vtkm_install_headers(
|
|||||||
|
|
||||||
set(headers
|
set(headers
|
||||||
Assert.h
|
Assert.h
|
||||||
BaseComponent.h
|
|
||||||
BinaryPredicates.h
|
BinaryPredicates.h
|
||||||
BinaryOperators.h
|
BinaryOperators.h
|
||||||
Bitset.h
|
Bitset.h
|
||||||
|
@ -14,8 +14,8 @@
|
|||||||
|
|
||||||
#include <vtkm/cont/Logging.h>
|
#include <vtkm/cont/Logging.h>
|
||||||
|
|
||||||
#include <vtkm/BaseComponent.h>
|
|
||||||
#include <vtkm/Range.h>
|
#include <vtkm/Range.h>
|
||||||
|
#include <vtkm/VecTraits.h>
|
||||||
|
|
||||||
#include <limits>
|
#include <limits>
|
||||||
|
|
||||||
@ -70,8 +70,8 @@ private:
|
|||||||
{
|
{
|
||||||
#ifdef VTKM_ENABLE_LOGGING
|
#ifdef VTKM_ENABLE_LOGGING
|
||||||
using DstValueType = T;
|
using DstValueType = T;
|
||||||
using SrcComp = typename vtkm::BaseComponent<SrcValueType>::Type;
|
using SrcComp = typename vtkm::VecTraits<SrcValueType>::BaseComponentType;
|
||||||
using DstComp = typename vtkm::BaseComponent<DstValueType>::Type;
|
using DstComp = typename vtkm::VecTraits<DstValueType>::BaseComponentType;
|
||||||
using SrcLimits = std::numeric_limits<SrcComp>;
|
using SrcLimits = std::numeric_limits<SrcComp>;
|
||||||
using DstLimits = std::numeric_limits<DstComp>;
|
using DstLimits = std::numeric_limits<DstComp>;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
#include <vtkm/internal/IndicesExtrude.h>
|
#include <vtkm/internal/IndicesExtrude.h>
|
||||||
|
|
||||||
#include <vtkm/BaseComponent.h>
|
#include <vtkm/VecTraits.h>
|
||||||
|
|
||||||
#include <vtkm/cont/ErrorBadType.h>
|
#include <vtkm/cont/ErrorBadType.h>
|
||||||
|
|
||||||
@ -371,7 +371,7 @@ struct VTKM_ALWAYS_EXPORT StorageTagExtrude
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
class Storage<T, internal::StorageTagExtrude>
|
class Storage<T, internal::StorageTagExtrude>
|
||||||
{
|
{
|
||||||
using BaseT = typename BaseComponent<T>::Type;
|
using BaseT = typename VecTraits<T>::BaseComponentType;
|
||||||
using HandleType = vtkm::cont::ArrayHandle<BaseT>;
|
using HandleType = vtkm::cont::ArrayHandle<BaseT>;
|
||||||
using TPortalType = typename HandleType::PortalConstControl;
|
using TPortalType = typename HandleType::PortalConstControl;
|
||||||
|
|
||||||
@ -461,7 +461,7 @@ private:
|
|||||||
template <typename T, typename Device>
|
template <typename T, typename Device>
|
||||||
class VTKM_ALWAYS_EXPORT ArrayTransfer<T, internal::StorageTagExtrude, Device>
|
class VTKM_ALWAYS_EXPORT ArrayTransfer<T, internal::StorageTagExtrude, Device>
|
||||||
{
|
{
|
||||||
using BaseT = typename BaseComponent<T>::Type;
|
using BaseT = typename VecTraits<T>::BaseComponentType;
|
||||||
using TPortalType = decltype(vtkm::cont::ArrayHandle<BaseT>{}.PrepareForInput(Device{}));
|
using TPortalType = decltype(vtkm::cont::ArrayHandle<BaseT>{}.PrepareForInput(Device{}));
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -11,11 +11,11 @@
|
|||||||
#define vtk_m_exec_Derivative_h
|
#define vtk_m_exec_Derivative_h
|
||||||
|
|
||||||
#include <vtkm/Assert.h>
|
#include <vtkm/Assert.h>
|
||||||
#include <vtkm/BaseComponent.h>
|
|
||||||
#include <vtkm/CellShape.h>
|
#include <vtkm/CellShape.h>
|
||||||
#include <vtkm/Math.h>
|
#include <vtkm/Math.h>
|
||||||
#include <vtkm/Matrix.h>
|
#include <vtkm/Matrix.h>
|
||||||
#include <vtkm/VecAxisAlignedPointCoordinates.h>
|
#include <vtkm/VecAxisAlignedPointCoordinates.h>
|
||||||
|
#include <vtkm/VecTraits.h>
|
||||||
#include <vtkm/VectorAnalysis.h>
|
#include <vtkm/VectorAnalysis.h>
|
||||||
|
|
||||||
#include <vtkm/exec/CellInterpolate.h>
|
#include <vtkm/exec/CellInterpolate.h>
|
||||||
@ -341,7 +341,7 @@ VTKM_EXEC vtkm::Vec<typename FieldVecType::ComponentType, 3> CellDerivativeFor2D
|
|||||||
CellShapeTag)
|
CellShapeTag)
|
||||||
{
|
{
|
||||||
using FieldType = typename FieldVecType::ComponentType;
|
using FieldType = typename FieldVecType::ComponentType;
|
||||||
using BaseFieldType = typename BaseComponent<FieldType>::Type;
|
using BaseFieldType = typename vtkm::VecTraits<FieldType>::BaseComponentType;
|
||||||
|
|
||||||
// We have an underdetermined system in 3D, so create a 2D space in the
|
// We have an underdetermined system in 3D, so create a 2D space in the
|
||||||
// plane that the polygon sits.
|
// plane that the polygon sits.
|
||||||
@ -523,7 +523,7 @@ VTKM_EXEC vtkm::Vec<typename FieldVecType::ComponentType, 3> CellDerivative(
|
|||||||
VTKM_ASSERT(wCoords.GetNumberOfComponents() == 2);
|
VTKM_ASSERT(wCoords.GetNumberOfComponents() == 2);
|
||||||
|
|
||||||
using FieldType = typename FieldVecType::ComponentType;
|
using FieldType = typename FieldVecType::ComponentType;
|
||||||
using BaseComponentType = typename BaseComponent<FieldType>::Type;
|
using BaseComponentType = typename vtkm::VecTraits<FieldType>::BaseComponentType;
|
||||||
|
|
||||||
FieldType deltaField(field[1] - field[0]);
|
FieldType deltaField(field[1] - field[0]);
|
||||||
vtkm::Vec<BaseComponentType, 3> vec(wCoords[1] - wCoords[0]);
|
vtkm::Vec<BaseComponentType, 3> vec(wCoords[1] - wCoords[0]);
|
||||||
@ -571,7 +571,7 @@ VTKM_EXEC vtkm::Vec<typename FieldVecType::ComponentType, 3> CellDerivative(
|
|||||||
}
|
}
|
||||||
|
|
||||||
using FieldType = typename FieldVecType::ComponentType;
|
using FieldType = typename FieldVecType::ComponentType;
|
||||||
using BaseComponentType = typename BaseComponent<FieldType>::Type;
|
using BaseComponentType = typename vtkm::VecTraits<FieldType>::BaseComponentType;
|
||||||
|
|
||||||
ParametricCoordType dt;
|
ParametricCoordType dt;
|
||||||
dt = static_cast<ParametricCoordType>(1) / static_cast<ParametricCoordType>(numPoints - 1);
|
dt = static_cast<ParametricCoordType>(1) / static_cast<ParametricCoordType>(numPoints - 1);
|
||||||
@ -690,7 +690,7 @@ template <typename ValueType, typename WCoordType>
|
|||||||
VTKM_EXEC vtkm::Vec<ValueType, 3> TriangleDerivative(const vtkm::Vec<ValueType, 3>& field,
|
VTKM_EXEC vtkm::Vec<ValueType, 3> TriangleDerivative(const vtkm::Vec<ValueType, 3>& field,
|
||||||
const vtkm::Vec<WCoordType, 3>& wCoords)
|
const vtkm::Vec<WCoordType, 3>& wCoords)
|
||||||
{
|
{
|
||||||
using BaseComponentType = typename BaseComponent<ValueType>::Type;
|
using BaseComponentType = typename vtkm::VecTraits<ValueType>::BaseComponentType;
|
||||||
|
|
||||||
// The scalar values of the three points in a triangle completely specify a
|
// The scalar values of the three points in a triangle completely specify a
|
||||||
// linear field (with constant gradient) assuming the field is constant in
|
// linear field (with constant gradient) assuming the field is constant in
|
||||||
@ -998,7 +998,7 @@ template <typename ValueType, typename WorldCoordType>
|
|||||||
VTKM_EXEC vtkm::Vec<ValueType, 3> TetraDerivative(const vtkm::Vec<ValueType, 4>& field,
|
VTKM_EXEC vtkm::Vec<ValueType, 3> TetraDerivative(const vtkm::Vec<ValueType, 4>& field,
|
||||||
const vtkm::Vec<WorldCoordType, 4>& wCoords)
|
const vtkm::Vec<WorldCoordType, 4>& wCoords)
|
||||||
{
|
{
|
||||||
using BaseComponentType = typename BaseComponent<ValueType>::Type;
|
using BaseComponentType = typename vtkm::VecTraits<ValueType>::BaseComponentType;
|
||||||
|
|
||||||
// The scalar values of the four points in a tetrahedron completely specify a
|
// The scalar values of the four points in a tetrahedron completely specify a
|
||||||
// linear field (with constant gradient). The field, defined by the 3-vector
|
// linear field (with constant gradient). The field, defined by the 3-vector
|
||||||
|
@ -114,7 +114,7 @@ struct GradientOutputFields : public vtkm::cont::ExecutionObjectBase
|
|||||||
{
|
{
|
||||||
|
|
||||||
using ValueType = T;
|
using ValueType = T;
|
||||||
using BaseTType = typename vtkm::BaseComponent<T>::Type;
|
using BaseTType = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
|
|
||||||
template <typename DeviceAdapter>
|
template <typename DeviceAdapter>
|
||||||
struct ExecutionTypes
|
struct ExecutionTypes
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
#include <vtkm/worklet/ScalarsToColors.h>
|
#include <vtkm/worklet/ScalarsToColors.h>
|
||||||
|
|
||||||
#include <vtkm/BaseComponent.h>
|
#include <vtkm/VecTraits.h>
|
||||||
#include <vtkm/cont/ArrayHandleExtractComponent.h>
|
#include <vtkm/cont/ArrayHandleExtractComponent.h>
|
||||||
#include <vtkm/cont/ArrayHandleTransform.h>
|
#include <vtkm/cont/ArrayHandleTransform.h>
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ void ScalarsToColors::Run(const vtkm::cont::ArrayHandle<T, S>& values,
|
|||||||
{
|
{
|
||||||
using namespace vtkm::worklet::colorconversion;
|
using namespace vtkm::worklet::colorconversion;
|
||||||
//If our shift is 0 and our scale == 1 no need to apply them
|
//If our shift is 0 and our scale == 1 no need to apply them
|
||||||
using BaseT = typename vtkm::BaseComponent<T>::Type;
|
using BaseT = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
||||||
if (shiftscale)
|
if (shiftscale)
|
||||||
{
|
{
|
||||||
@ -76,7 +76,7 @@ void ScalarsToColors::Run(const vtkm::cont::ArrayHandle<T, S>& values,
|
|||||||
vtkm::cont::ArrayHandle<vtkm::Vec3ui_8>& rgbOut) const
|
vtkm::cont::ArrayHandle<vtkm::Vec3ui_8>& rgbOut) const
|
||||||
{
|
{
|
||||||
using namespace vtkm::worklet::colorconversion;
|
using namespace vtkm::worklet::colorconversion;
|
||||||
using BaseT = typename vtkm::BaseComponent<T>::Type;
|
using BaseT = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
||||||
if (shiftscale)
|
if (shiftscale)
|
||||||
{
|
{
|
||||||
@ -101,7 +101,7 @@ void ScalarsToColors::RunMagnitude(const vtkm::cont::ArrayHandle<vtkm::Vec<T, N>
|
|||||||
//
|
//
|
||||||
using namespace vtkm::worklet::colorconversion;
|
using namespace vtkm::worklet::colorconversion;
|
||||||
//If our shift is 0 and our scale == 1 no need to apply them
|
//If our shift is 0 and our scale == 1 no need to apply them
|
||||||
using BaseT = typename vtkm::BaseComponent<T>::Type;
|
using BaseT = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
||||||
if (shiftscale)
|
if (shiftscale)
|
||||||
{
|
{
|
||||||
@ -126,7 +126,7 @@ void ScalarsToColors::RunMagnitude(const vtkm::cont::ArrayHandle<vtkm::Vec<T, N>
|
|||||||
{
|
{
|
||||||
|
|
||||||
using namespace vtkm::worklet::colorconversion;
|
using namespace vtkm::worklet::colorconversion;
|
||||||
using BaseT = typename vtkm::BaseComponent<T>::Type;
|
using BaseT = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
const bool shiftscale = needShiftScale(BaseT{}, this->Shift, this->Scale);
|
||||||
if (shiftscale)
|
if (shiftscale)
|
||||||
{
|
{
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
#ifndef vtk_m_worklet_gradient_GradientOutput_h
|
#ifndef vtk_m_worklet_gradient_GradientOutput_h
|
||||||
#define vtk_m_worklet_gradient_GradientOutput_h
|
#define vtk_m_worklet_gradient_GradientOutput_h
|
||||||
|
|
||||||
#include <vtkm/BaseComponent.h>
|
#include <vtkm/VecTraits.h>
|
||||||
|
|
||||||
#include <vtkm/cont/arg/TransportTagArrayOut.h>
|
#include <vtkm/cont/arg/TransportTagArrayOut.h>
|
||||||
#include <vtkm/cont/arg/TransportTagExecObject.h>
|
#include <vtkm/cont/arg/TransportTagExecObject.h>
|
||||||
@ -31,7 +31,7 @@ template <typename T, typename DeviceAdapter>
|
|||||||
struct GradientScalarOutputExecutionObject
|
struct GradientScalarOutputExecutionObject
|
||||||
{
|
{
|
||||||
using ValueType = vtkm::Vec<T, 3>;
|
using ValueType = vtkm::Vec<T, 3>;
|
||||||
using BaseTType = typename vtkm::BaseComponent<T>::Type;
|
using BaseTType = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
|
|
||||||
struct PortalTypes
|
struct PortalTypes
|
||||||
{
|
{
|
||||||
@ -61,7 +61,7 @@ template <typename T>
|
|||||||
struct GradientScalarOutput : public vtkm::cont::ExecutionObjectBase
|
struct GradientScalarOutput : public vtkm::cont::ExecutionObjectBase
|
||||||
{
|
{
|
||||||
using ValueType = vtkm::Vec<T, 3>;
|
using ValueType = vtkm::Vec<T, 3>;
|
||||||
using BaseTType = typename vtkm::BaseComponent<T>::Type;
|
using BaseTType = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
template <typename Device>
|
template <typename Device>
|
||||||
|
|
||||||
VTKM_CONT vtkm::exec::GradientScalarOutputExecutionObject<T, Device> PrepareForExecution(
|
VTKM_CONT vtkm::exec::GradientScalarOutputExecutionObject<T, Device> PrepareForExecution(
|
||||||
@ -93,7 +93,7 @@ template <typename T, typename DeviceAdapter>
|
|||||||
struct GradientVecOutputExecutionObject
|
struct GradientVecOutputExecutionObject
|
||||||
{
|
{
|
||||||
using ValueType = vtkm::Vec<T, 3>;
|
using ValueType = vtkm::Vec<T, 3>;
|
||||||
using BaseTType = typename vtkm::BaseComponent<T>::Type;
|
using BaseTType = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
|
|
||||||
template <typename FieldType>
|
template <typename FieldType>
|
||||||
struct PortalTypes
|
struct PortalTypes
|
||||||
@ -185,7 +185,7 @@ template <typename T>
|
|||||||
struct GradientVecOutput : public vtkm::cont::ExecutionObjectBase
|
struct GradientVecOutput : public vtkm::cont::ExecutionObjectBase
|
||||||
{
|
{
|
||||||
using ValueType = vtkm::Vec<T, 3>;
|
using ValueType = vtkm::Vec<T, 3>;
|
||||||
using BaseTType = typename vtkm::BaseComponent<T>::Type;
|
using BaseTType = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
|
|
||||||
template <typename Device>
|
template <typename Device>
|
||||||
VTKM_CONT vtkm::exec::GradientVecOutputExecutionObject<T, Device> PrepareForExecution(
|
VTKM_CONT vtkm::exec::GradientVecOutputExecutionObject<T, Device> PrepareForExecution(
|
||||||
|
@ -78,7 +78,7 @@ struct PointGradient : public vtkm::worklet::WorkletVisitPointsWithCells
|
|||||||
|
|
||||||
if (numCells != 0)
|
if (numCells != 0)
|
||||||
{
|
{
|
||||||
using BaseGradientType = typename vtkm::BaseComponent<ValueType>::Type;
|
using BaseGradientType = typename vtkm::VecTraits<ValueType>::BaseComponentType;
|
||||||
const BaseGradientType invNumCells =
|
const BaseGradientType invNumCells =
|
||||||
static_cast<BaseGradientType>(1.) / static_cast<BaseGradientType>(numCells);
|
static_cast<BaseGradientType>(1.) / static_cast<BaseGradientType>(numCells);
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ struct StructuredPointGradient : public vtkm::worklet::WorkletPointNeighborhood
|
|||||||
GradientOutType& outputGradient) const
|
GradientOutType& outputGradient) const
|
||||||
{
|
{
|
||||||
using CoordType = typename PointsIn::ValueType;
|
using CoordType = typename PointsIn::ValueType;
|
||||||
using CT = typename vtkm::BaseComponent<CoordType>::Type;
|
using CT = typename vtkm::VecTraits<CoordType>::BaseComponentType;
|
||||||
using OT = typename GradientOutType::ComponentType;
|
using OT = typename GradientOutType::ComponentType;
|
||||||
|
|
||||||
vtkm::Vec<CT, 3> xi, eta, zeta;
|
vtkm::Vec<CT, 3> xi, eta, zeta;
|
||||||
|
@ -80,7 +80,7 @@ vtkm::Vec4ui_8 as_color<vtkm::Vec4ui_8>(vtkm::Float32 v, vtkm::Float32 alpha)
|
|||||||
template <typename T>
|
template <typename T>
|
||||||
vtkm::cont::ArrayHandle<T> make_data(const vtkm::Range& r)
|
vtkm::cont::ArrayHandle<T> make_data(const vtkm::Range& r)
|
||||||
{
|
{
|
||||||
using BaseT = typename vtkm::BaseComponent<T>::Type;
|
using BaseT = typename vtkm::VecTraits<T>::BaseComponentType;
|
||||||
vtkm::Float32 shift, scale;
|
vtkm::Float32 shift, scale;
|
||||||
vtkm::worklet::colorconversion::ComputeShiftScale(r, shift, scale);
|
vtkm::worklet::colorconversion::ComputeShiftScale(r, shift, scale);
|
||||||
const bool shiftscale = vtkm::worklet::colorconversion::needShiftScale(BaseT{}, shift, scale);
|
const bool shiftscale = vtkm::worklet::colorconversion::needShiftScale(BaseT{}, shift, scale);
|
||||||
|
Loading…
Reference in New Issue
Block a user