VTK-m  2.1
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
vtkm::filter::field_transform::FieldToColors Class Reference

Convert an arbitrary field to an RGB or RGBA field. More...

#include <FieldToColors.h>

Inheritance diagram for vtkm::filter::field_transform::FieldToColors:
vtkm::filter::Filter

Public Types

enum  InputMode { InputMode::Scalar, InputMode::Magnitude, InputMode::Component }
 Identifiers used to specify how FieldToColors should treat its input scalars. More...
 
enum  OutputMode { OutputMode::RGB, OutputMode::RGBA }
 Identifiers used to specify what output FieldToColors will generate. More...
 

Public Member Functions

 FieldToColors (const vtkm::cont::ColorTable &table=vtkm::cont::ColorTable())
 
void SetColorTable (const vtkm::cont::ColorTable &table)
 Specifies the vtkm::cont::ColorTable object to use to map field values to colors. More...
 
const vtkm::cont::ColorTableGetColorTable () const
 Specifies the vtkm::cont::ColorTable object to use to map field values to colors. More...
 
void SetMappingMode (InputMode mode)
 Specify the mapping mode. More...
 
void SetMappingToScalar ()
 Treat the field as a scalar field. More...
 
void SetMappingToMagnitude ()
 Map the magnitude of the field. More...
 
void SetMappingToComponent ()
 Map a component of a vector field as if it were a scalar. More...
 
InputMode GetMappingMode () const
 Specify the mapping mode. More...
 
bool IsMappingScalar () const
 Returns true if this filter is in scalar mapping mode. More...
 
bool IsMappingMagnitude () const
 Returns true if this filter is in magnitude mapping mode. More...
 
bool IsMappingComponent () const
 Returns true if this filter is vector component mapping mode. More...
 
void SetMappingComponent (vtkm::IdComponent comp)
 Specifies the component of the vector to use in the mapping. More...
 
vtkm::IdComponent GetMappingComponent () const
 Specifies the component of the vector to use in the mapping. More...
 
void SetOutputMode (OutputMode mode)
 Specify the output mode. More...
 
void SetOutputToRGB ()
 Write out RGB fixed precision color values. More...
 
void SetOutputToRGBA ()
 Write out RGBA fixed precision color values. More...
 
OutputMode GetOutputMode () const
 Specify the output mode. More...
 
bool IsOutputRGB () const
 Returns true if this filter is in RGB output mode. More...
 
bool IsOutputRGBA () const
 Returns true if this filter is in RGBA output mode. More...
 
void SetNumberOfSamplingPoints (vtkm::Int32 count)
 Specifies how many samples to use when looking up color values. More...
 
vtkm::Int32 GetNumberOfSamplingPoints () const
 Specifies how many samples to use when looking up color values. More...
 
- Public Member Functions inherited from vtkm::filter::Filter
 Filter ()
 
virtual ~Filter ()
 
vtkm::cont::DataSet Execute (const vtkm::cont::DataSet &input)
 Executes the filter on the input and produces a result dataset. More...
 
vtkm::cont::PartitionedDataSet Execute (const vtkm::cont::PartitionedDataSet &input)
 Executes the filter on the input PartitionedDataSet and produces a result PartitionedDataSet. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (vtkm::filter::FieldSelection &&fieldsToPass)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const vtkm::filter::FieldSelection &fieldsToPass, vtkm::filter::FieldSelection::Mode mode)
 
void SetFieldsToPass (std::initializer_list< std::string > fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (std::initializer_list< std::pair< std::string, vtkm::cont::Field::Association >> fields, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::cont::Field::Association association, vtkm::filter::FieldSelection::Mode mode=vtkm::filter::FieldSelection::Mode::Select)
 Specify which fields get passed from input to output. More...
 
void SetFieldsToPass (const std::string &fieldname, vtkm::filter::FieldSelection::Mode mode)
 Specify which fields get passed from input to output. More...
 
const vtkm::filter::FieldSelectionGetFieldsToPass () const
 Specify which fields get passed from input to output. More...
 
vtkm::filter::FieldSelectionGetFieldsToPass ()
 Specify which fields get passed from input to output. More...
 
void SetPassCoordinateSystems (bool flag)
 Specify whether to always pass coordinate systems. More...
 
bool GetPassCoordinateSystems () const
 Specify whether to always pass coordinate systems. More...
 
void SetOutputFieldName (const std::string &name)
 Specifies the name of the output field generated. More...
 
const std::string & GetOutputFieldName () const
 Specifies the name of the output field generated. More...
 
void SetActiveField (const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
void SetActiveField (vtkm::IdComponent index, const std::string &name, vtkm::cont::Field::Association association=vtkm::cont::Field::Association::Any)
 Specifies a field to operate on. More...
 
const std::string & GetActiveFieldName (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
vtkm::cont::Field::Association GetActiveFieldAssociation (vtkm::IdComponent index=0) const
 Specifies a field to operate on. More...
 
void SetActiveCoordinateSystem (vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetActiveCoordinateSystem (vtkm::IdComponent index, vtkm::Id coord_idx)
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
vtkm::Id GetActiveCoordinateSystemIndex (vtkm::IdComponent index=0) const
 Specifies the coordinate system index to make active to use when processing the input vtkm::cont::DataSet. More...
 
void SetUseCoordinateSystemAsField (bool val)
 Specifies whether to use point coordinates as the input field. More...
 
void SetUseCoordinateSystemAsField (vtkm::IdComponent index, bool val)
 Specifies whether to use point coordinates as the input field. More...
 
bool GetUseCoordinateSystemAsField (vtkm::IdComponent index=0) const
 Specifies whether to use point coordinates as the input field. More...
 
vtkm::IdComponent GetNumberOfActiveFields () const
 Return the number of active fields currently set. More...
 
virtual bool CanThread () const
 Returns whether the filter can execute on partitions in concurrent threads. More...
 
void SetThreadsPerCPU (vtkm::Id numThreads)
 
void SetThreadsPerGPU (vtkm::Id numThreads)
 
vtkm::Id GetThreadsPerCPU () const
 
vtkm::Id GetThreadsPerGPU () const
 
bool GetRunMultiThreadedFilter () const
 
void SetRunMultiThreadedFilter (bool val)
 
void SetInvoker (vtkm::cont::Invoker inv)
 Specify the vtkm::cont::Invoker to be used to execute worklets by this filter instance. More...
 

Private Member Functions

vtkm::cont::DataSet DoExecute (const vtkm::cont::DataSet &input) override
 

Private Attributes

vtkm::cont::ColorTable Table
 
InputMode InputModeType = InputMode::Scalar
 
OutputMode OutputModeType = OutputMode::RGBA
 
vtkm::cont::ColorTableSamplesRGB SamplesRGB
 
vtkm::cont::ColorTableSamplesRGBA SamplesRGBA
 
vtkm::IdComponent Component = 0
 
vtkm::Int32 SampleCount = 256
 
vtkm::Id ModifiedCount = -1
 

Additional Inherited Members

- Protected Member Functions inherited from vtkm::filter::Filter
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet) const
 Create the output data set for DoExecute. More...
 
vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::Field &resultField) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultField (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, vtkm::cont::Field::Association resultFieldAssociation, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultFieldPoint (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::DataSet CreateResultFieldCell (const vtkm::cont::DataSet &inDataSet, const std::string &resultFieldName, const vtkm::cont::UnknownArrayHandle &resultFieldArray) const
 Create the output data set for DoExecute More...
 
vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::PartitionedDataSet CreateResult (const vtkm::cont::PartitionedDataSet &input, const vtkm::cont::PartitionedDataSet &resultPartitions, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResult (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const vtkm::cont::CoordinateSystem &resultCoordSystem, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
template<typename FieldMapper >
vtkm::cont::DataSet CreateResultCoordinateSystem (const vtkm::cont::DataSet &inDataSet, const vtkm::cont::UnknownCellSet &resultCellSet, const std::string &coordsName, const vtkm::cont::UnknownArrayHandle &coordsData, FieldMapper &&fieldMapper) const
 Create the output data set for DoExecute. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
const vtkm::cont::FieldGetFieldFromDataSet (vtkm::IdComponent index, const vtkm::cont::DataSet &input) const
 Retrieve an input field from a vtkm::cont::DataSet object. More...
 
virtual vtkm::cont::PartitionedDataSet DoExecutePartitions (const vtkm::cont::PartitionedDataSet &inData)
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<typename Functor , typename... Args>
void CastAndCallScalarField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input scalar field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<vtkm::IdComponent VecSize, typename Functor , typename... Args>
void CastAndCallVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 Convenience method to get the array from a filter's input vector field. More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::UnknownArrayHandle &fieldArray, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
template<typename Functor , typename... Args>
void CastAndCallVariableVecField (const vtkm::cont::Field &field, Functor &&functor, Args &&... args) const
 This method is like CastAndCallVecField except that it can be used for a field of unknown vector size (or scalars). More...
 
- Protected Attributes inherited from vtkm::filter::Filter
vtkm::cont::Invoker Invoke
 

Detailed Description

Convert an arbitrary field to an RGB or RGBA field.

This filter is useful for generating colors that could be used for rendering or other purposes.

Member Enumeration Documentation

◆ InputMode

Identifiers used to specify how FieldToColors should treat its input scalars.

Enumerator
Scalar 

Treat the field as a scalar field.

It is an error to provide a field of any type that cannot be directly converted to a basic floating point number (such as a vector).

Magnitude 

Map the magnitude of the field.

Given a vector field, the magnitude of each field value is taken before looking it up in the color table.

Component 

Map a component of a vector field as if it were a scalar.

Given a vector field, a particular component is looked up in the color table as if that component were in a scalar field. The component to map is selected with SetMappingComponent().

◆ OutputMode

Identifiers used to specify what output FieldToColors will generate.

Enumerator
RGB 

Write out RGB fixed precision color values.

Output colors are represented as RGB values with each component represented by an unsigned byte. Specifically, these are vtkm::Vec3ui_8 values.

RGBA 

Write out RGBA fixed precision color values.

Output colors are represented as RGBA values with each component represented by an unsigned byte. Specifically, these are vtkm::Vec4ui_8 values.

Constructor & Destructor Documentation

◆ FieldToColors()

vtkm::filter::field_transform::FieldToColors::FieldToColors ( const vtkm::cont::ColorTable table = vtkm::cont::ColorTable())
explicit

Member Function Documentation

◆ DoExecute()

vtkm::cont::DataSet vtkm::filter::field_transform::FieldToColors::DoExecute ( const vtkm::cont::DataSet input)
overrideprivatevirtual

Implements vtkm::filter::Filter.

◆ GetColorTable()

const vtkm::cont::ColorTable& vtkm::filter::field_transform::FieldToColors::GetColorTable ( ) const
inline

Specifies the vtkm::cont::ColorTable object to use to map field values to colors.

◆ GetMappingComponent()

vtkm::IdComponent vtkm::filter::field_transform::FieldToColors::GetMappingComponent ( ) const
inline

Specifies the component of the vector to use in the mapping.

This only has an effect if the input mapping mode is set to FieldToColors::InputMode::Component.

◆ GetMappingMode()

InputMode vtkm::filter::field_transform::FieldToColors::GetMappingMode ( ) const
inline

Specify the mapping mode.

◆ GetNumberOfSamplingPoints()

vtkm::Int32 vtkm::filter::field_transform::FieldToColors::GetNumberOfSamplingPoints ( ) const
inline

Specifies how many samples to use when looking up color values.

The implementation of FieldToColors first builds an array of color samples to quickly look up colors for particular values. The size of this lookup array can be adjusted with this parameter. By default, an array of 256 colors is used.

◆ GetOutputMode()

OutputMode vtkm::filter::field_transform::FieldToColors::GetOutputMode ( ) const
inline

Specify the output mode.

◆ IsMappingComponent()

bool vtkm::filter::field_transform::FieldToColors::IsMappingComponent ( ) const
inline

Returns true if this filter is vector component mapping mode.

◆ IsMappingMagnitude()

bool vtkm::filter::field_transform::FieldToColors::IsMappingMagnitude ( ) const
inline

Returns true if this filter is in magnitude mapping mode.

◆ IsMappingScalar()

bool vtkm::filter::field_transform::FieldToColors::IsMappingScalar ( ) const
inline

Returns true if this filter is in scalar mapping mode.

◆ IsOutputRGB()

bool vtkm::filter::field_transform::FieldToColors::IsOutputRGB ( ) const
inline

Returns true if this filter is in RGB output mode.

◆ IsOutputRGBA()

bool vtkm::filter::field_transform::FieldToColors::IsOutputRGBA ( ) const
inline

Returns true if this filter is in RGBA output mode.

◆ SetColorTable()

void vtkm::filter::field_transform::FieldToColors::SetColorTable ( const vtkm::cont::ColorTable table)
inline

Specifies the vtkm::cont::ColorTable object to use to map field values to colors.

◆ SetMappingComponent()

void vtkm::filter::field_transform::FieldToColors::SetMappingComponent ( vtkm::IdComponent  comp)
inline

Specifies the component of the vector to use in the mapping.

This only has an effect if the input mapping mode is set to FieldToColors::InputMode::Component.

◆ SetMappingMode()

void vtkm::filter::field_transform::FieldToColors::SetMappingMode ( InputMode  mode)
inline

Specify the mapping mode.

◆ SetMappingToComponent()

void vtkm::filter::field_transform::FieldToColors::SetMappingToComponent ( )
inline

Map a component of a vector field as if it were a scalar.

Given a vector field, a particular component is looked up in the color table as if that component were in a scalar field. The component to map is selected with SetMappingComponent().

◆ SetMappingToMagnitude()

void vtkm::filter::field_transform::FieldToColors::SetMappingToMagnitude ( )
inline

Map the magnitude of the field.

Given a vector field, the magnitude of each field value is taken before looking it up in the color table.

◆ SetMappingToScalar()

void vtkm::filter::field_transform::FieldToColors::SetMappingToScalar ( )
inline

Treat the field as a scalar field.

It is an error to provide a field of any type that cannot be directly converted to a basic floating point number (such as a vector).

◆ SetNumberOfSamplingPoints()

void vtkm::filter::field_transform::FieldToColors::SetNumberOfSamplingPoints ( vtkm::Int32  count)

Specifies how many samples to use when looking up color values.

The implementation of FieldToColors first builds an array of color samples to quickly look up colors for particular values. The size of this lookup array can be adjusted with this parameter. By default, an array of 256 colors is used.

◆ SetOutputMode()

void vtkm::filter::field_transform::FieldToColors::SetOutputMode ( OutputMode  mode)
inline

Specify the output mode.

◆ SetOutputToRGB()

void vtkm::filter::field_transform::FieldToColors::SetOutputToRGB ( )
inline

Write out RGB fixed precision color values.

Output colors are represented as RGB values with each component represented by an unsigned byte. Specifically, these are vtkm::Vec3ui_8 values.

◆ SetOutputToRGBA()

void vtkm::filter::field_transform::FieldToColors::SetOutputToRGBA ( )
inline

Write out RGBA fixed precision color values.

Output colors are represented as RGBA values with each component represented by an unsigned byte. Specifically, these are vtkm::Vec4ui_8 values.

Member Data Documentation

◆ Component

vtkm::IdComponent vtkm::filter::field_transform::FieldToColors::Component = 0
private

◆ InputModeType

InputMode vtkm::filter::field_transform::FieldToColors::InputModeType = InputMode::Scalar
private

◆ ModifiedCount

vtkm::Id vtkm::filter::field_transform::FieldToColors::ModifiedCount = -1
private

◆ OutputModeType

OutputMode vtkm::filter::field_transform::FieldToColors::OutputModeType = OutputMode::RGBA
private

◆ SampleCount

vtkm::Int32 vtkm::filter::field_transform::FieldToColors::SampleCount = 256
private

◆ SamplesRGB

vtkm::cont::ColorTableSamplesRGB vtkm::filter::field_transform::FieldToColors::SamplesRGB
private

◆ SamplesRGBA

vtkm::cont::ColorTableSamplesRGBA vtkm::filter::field_transform::FieldToColors::SamplesRGBA
private

◆ Table

vtkm::cont::ColorTable vtkm::filter::field_transform::FieldToColors::Table
private

The documentation for this class was generated from the following file: