Blender  V3.3
Classes | Public Member Functions | Protected Member Functions | List of all members
blender::fn::MultiFunction Class Referenceabstract

#include <FN_multi_function.hh>

Inheritance diagram for blender::fn::MultiFunction:
blender::fn::CustomMF< MFParamTag< MFParamCategory::SingleInput, In1 >, MFParamTag< MFParamCategory::SingleOutput, Out1 > > blender::fn::CustomMF< MFParamTag< MFParamCategory::SingleInput, In1 >, MFParamTag< MFParamCategory::SingleInput, In2 >, MFParamTag< MFParamCategory::SingleOutput, Out1 > > blender::fn::CustomMF< MFParamTag< MFParamCategory::SingleInput, In1 >, MFParamTag< MFParamCategory::SingleInput, In2 >, MFParamTag< MFParamCategory::SingleInput, In3 >, MFParamTag< MFParamCategory::SingleInput, In4 >, MFParamTag< MFParamCategory::SingleOutput, Out1 > > blender::fn::CustomMF< MFParamTag< MFParamCategory::SingleInput, In1 >, MFParamTag< MFParamCategory::SingleInput, In2 >, MFParamTag< MFParamCategory::SingleInput, In3 >, MFParamTag< MFParamCategory::SingleOutput, Out1 > > blender::fn::CustomMF< ParamTags > blender::fn::CustomMF_Constant< T > blender::fn::CustomMF_DefaultOutput blender::fn::CustomMF_GenericConstant blender::fn::CustomMF_GenericConstantArray blender::fn::CustomMF_GenericCopy blender::fn::CustomMF_SM< Mut1 > blender::fn::MFProcedureExecutor blender::fn::tests::AddPrefixFunction blender::fn::tests::AppendFunction blender::fn::tests::ConcatVectorsFunction blender::fn::tests::CreateRangeFunction blender::fn::tests::GenericAppendFunction blender::fn::tests::OptionalOutputsFunction blender::fn::tests::SumVectorFunction blender::fn::tests::TwoOutputFunction blender::nodes::SeparateHSLAFunction blender::nodes::SeparateHSVAFunction blender::nodes::SeparateRGBAFunction blender::nodes::node_fn_align_euler_to_vector_cc::MF_AlignEulerToVector blender::nodes::node_fn_input_special_characters_cc::MF_SpecialCharacters blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction blender::nodes::node_geo_proximity_cc::ProximityFunction blender::nodes::node_geo_raycast_cc::RaycastFunction blender::nodes::node_geo_transfer_attribute_cc::IndexTransferFunction blender::nodes::node_geo_transfer_attribute_cc::NearestInterpolatedTransferFunction blender::nodes::node_geo_transfer_attribute_cc::NearestTransferFunction blender::nodes::node_shader_color_ramp_cc::ColorBandFunction blender::nodes::node_shader_curves_cc::CurveFloatFunction blender::nodes::node_shader_curves_cc::CurveRGBFunction blender::nodes::node_shader_curves_cc::CurveVecFunction blender::nodes::node_shader_math_cc::ClampWrapperFunction blender::nodes::node_shader_mix_rgb_cc::MixRGBFunction blender::nodes::node_shader_sepcomb_rgb_cc::SeparateRGBFunction blender::nodes::node_shader_sepcomb_xyz_cc::MF_SeparateXYZ blender::nodes::node_shader_tex_brick_cc::BrickFunction blender::nodes::node_shader_tex_checker_cc::NodeTexChecker blender::nodes::node_shader_tex_gradient_cc::GradientFunction blender::nodes::node_shader_tex_magic_cc::MagicFunction blender::nodes::node_shader_tex_musgrave_cc::MusgraveFunction blender::nodes::node_shader_tex_noise_cc::NoiseFunction blender::nodes::node_shader_tex_voronoi_cc::VoronoiEdgeFunction blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction blender::nodes::node_shader_tex_voronoi_cc::VoronoiMinowskiFunction blender::nodes::node_shader_tex_wave_cc::WaveFunction blender::nodes::node_shader_tex_white_noise_cc::WhiteNoiseFunction

Classes

struct  ExecutionHints
 

Public Member Functions

virtual ~MultiFunction ()
 
void call_auto (IndexMask mask, MFParams params, MFContext context) const
 
virtual void call (IndexMask mask, MFParams params, MFContext context) const =0
 
virtual uint64_t hash () const
 
virtual bool equals (const MultiFunction &UNUSED(other)) const
 
int param_amount () const
 
IndexRange param_indices () const
 
MFParamType param_type (int param_index) const
 
StringRefNull param_name (int param_index) const
 
StringRefNull name () const
 
virtual std::string debug_name () const
 
bool depends_on_context () const
 
const MFSignaturesignature () const
 
ExecutionHints execution_hints () const
 

Protected Member Functions

void set_signature (const MFSignature *signature)
 
virtual ExecutionHints get_execution_hints () const
 

Detailed Description

Definition at line 40 of file FN_multi_function.hh.

Constructor & Destructor Documentation

◆ ~MultiFunction()

virtual blender::fn::MultiFunction::~MultiFunction ( )
inlinevirtual

Definition at line 45 of file FN_multi_function.hh.

Member Function Documentation

◆ call()

virtual void blender::fn::MultiFunction::call ( IndexMask  mask,
MFParams  params,
MFContext  context 
) const
pure virtual

◆ call_auto()

void blender::fn::MultiFunction::call_auto ( IndexMask  mask,
MFParams  params,
MFContext  context 
) const

◆ debug_name()

std::string blender::fn::MultiFunction::debug_name ( ) const
virtual

◆ depends_on_context()

bool blender::fn::MultiFunction::depends_on_context ( ) const
inline

◆ equals()

virtual bool blender::fn::MultiFunction::equals ( const MultiFunction UNUSEDother) const
inlinevirtual

Definition at line 63 of file FN_multi_function.hh.

◆ execution_hints()

ExecutionHints blender::fn::MultiFunction::execution_hints ( ) const

Definition at line 12 of file multi_function.cc.

References get_execution_hints().

Referenced by call_auto().

◆ get_execution_hints()

ExecutionHints blender::fn::MultiFunction::get_execution_hints ( ) const
protectedvirtual

◆ hash()

virtual uint64_t blender::fn::MultiFunction::hash ( ) const
inlinevirtual

◆ name()

StringRefNull blender::fn::MultiFunction::name ( ) const
inline

◆ param_amount()

int blender::fn::MultiFunction::param_amount ( ) const
inline

◆ param_indices()

IndexRange blender::fn::MultiFunction::param_indices ( ) const
inline

◆ param_name()

StringRefNull blender::fn::MultiFunction::param_name ( int  param_index) const
inline

◆ param_type()

MFParamType blender::fn::MultiFunction::param_type ( int  param_index) const
inline

◆ set_signature()

void blender::fn::MultiFunction::set_signature ( const MFSignature signature)
inlineprotected

Definition at line 136 of file FN_multi_function.hh.

References BLI_assert, and signature().

Referenced by blender::fn::tests::AddPrefixFunction::AddPrefixFunction(), blender::fn::tests::AppendFunction::AppendFunction(), blender::nodes::node_shader_tex_brick_cc::BrickFunction::BrickFunction(), blender::nodes::node_shader_math_cc::ClampWrapperFunction::ClampWrapperFunction(), blender::nodes::node_shader_color_ramp_cc::ColorBandFunction::ColorBandFunction(), blender::fn::tests::ConcatVectorsFunction::ConcatVectorsFunction(), blender::fn::tests::CreateRangeFunction::CreateRangeFunction(), blender::nodes::node_shader_curves_cc::CurveFloatFunction::CurveFloatFunction(), blender::nodes::node_shader_curves_cc::CurveRGBFunction::CurveRGBFunction(), blender::nodes::node_shader_curves_cc::CurveVecFunction::CurveVecFunction(), blender::fn::CustomMF< ParamTags >::CustomMF(), blender::fn::CustomMF_Constant< T >::CustomMF_Constant(), blender::fn::CustomMF_DefaultOutput::CustomMF_DefaultOutput(), blender::fn::CustomMF_GenericConstant::CustomMF_GenericConstant(), blender::fn::CustomMF_GenericConstantArray::CustomMF_GenericConstantArray(), blender::fn::CustomMF_GenericCopy::CustomMF_GenericCopy(), blender::fn::CustomMF_SM< Mut1 >::CustomMF_SM(), blender::fn::tests::GenericAppendFunction::GenericAppendFunction(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::GradientFunction(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::ImageFieldsFunction(), blender::nodes::node_shader_tex_magic_cc::MagicFunction::MagicFunction(), blender::nodes::node_shader_sepcomb_xyz_cc::MF_SeparateXYZ::MF_SeparateXYZ(), blender::nodes::node_fn_input_special_characters_cc::MF_SpecialCharacters::MF_SpecialCharacters(), blender::fn::MFProcedureExecutor::MFProcedureExecutor(), blender::nodes::node_shader_mix_rgb_cc::MixRGBFunction::MixRGBFunction(), blender::nodes::node_shader_tex_musgrave_cc::MusgraveFunction::MusgraveFunction(), blender::nodes::node_geo_transfer_attribute_cc::NearestInterpolatedTransferFunction::NearestInterpolatedTransferFunction(), blender::nodes::node_geo_transfer_attribute_cc::NearestTransferFunction::NearestTransferFunction(), blender::nodes::node_shader_tex_checker_cc::NodeTexChecker::NodeTexChecker(), blender::nodes::node_shader_tex_noise_cc::NoiseFunction::NoiseFunction(), blender::fn::tests::OptionalOutputsFunction::OptionalOutputsFunction(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::SampleCurveFunction(), blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction::SampleFloatSegmentsFunction(), blender::nodes::SeparateHSLAFunction::SeparateHSLAFunction(), blender::nodes::SeparateHSVAFunction::SeparateHSVAFunction(), blender::nodes::SeparateRGBAFunction::SeparateRGBAFunction(), blender::nodes::node_shader_sepcomb_rgb_cc::SeparateRGBFunction::SeparateRGBFunction(), blender::fn::tests::SumVectorFunction::SumVectorFunction(), blender::fn::tests::TwoOutputFunction::TwoOutputFunction(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiEdgeFunction::VoronoiEdgeFunction(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction::VoronoiMetricFunction(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMinowskiFunction::VoronoiMinowskiFunction(), blender::nodes::node_shader_tex_wave_cc::WaveFunction::WaveFunction(), and blender::nodes::node_shader_tex_white_noise_cc::WhiteNoiseFunction::WhiteNoiseFunction().

◆ signature()

const MFSignature& blender::fn::MultiFunction::signature ( ) const
inline

Definition at line 100 of file FN_multi_function.hh.

References BLI_assert.

Referenced by blender::fn::CustomMF< ParamTags >::add_signature_parameters(), blender::fn::tests::AddPrefixFunction::AddPrefixFunction(), blender::fn::tests::AppendFunction::AppendFunction(), blender::nodes::node_shader_tex_brick_cc::BrickFunction::BrickFunction(), blender::nodes::node_shader_math_cc::ClampWrapperFunction::ClampWrapperFunction(), blender::nodes::node_shader_color_ramp_cc::ColorBandFunction::ColorBandFunction(), blender::fn::tests::ConcatVectorsFunction::ConcatVectorsFunction(), blender::fn::tests::AddPrefixFunction::create_signature(), blender::fn::tests::CreateRangeFunction::create_signature(), blender::fn::tests::ConcatVectorsFunction::create_signature(), blender::fn::tests::AppendFunction::create_signature(), blender::fn::tests::SumVectorFunction::create_signature(), blender::fn::tests::OptionalOutputsFunction::create_signature(), blender::nodes::node_fn_input_special_characters_cc::MF_SpecialCharacters::create_signature(), blender::nodes::SeparateRGBAFunction::create_signature(), blender::nodes::SeparateHSVAFunction::create_signature(), blender::nodes::SeparateHSLAFunction::create_signature(), blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction::create_signature(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::create_signature(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::create_signature(), blender::nodes::node_geo_transfer_attribute_cc::NearestInterpolatedTransferFunction::create_signature(), blender::nodes::node_geo_transfer_attribute_cc::NearestTransferFunction::create_signature(), blender::nodes::node_shader_color_ramp_cc::ColorBandFunction::create_signature(), blender::nodes::node_shader_curves_cc::CurveVecFunction::create_signature(), blender::nodes::node_shader_curves_cc::CurveRGBFunction::create_signature(), blender::nodes::node_shader_curves_cc::CurveFloatFunction::create_signature(), blender::nodes::node_shader_mix_rgb_cc::MixRGBFunction::create_signature(), blender::nodes::node_shader_sepcomb_rgb_cc::SeparateRGBFunction::create_signature(), blender::nodes::node_shader_sepcomb_xyz_cc::MF_SeparateXYZ::create_signature(), blender::nodes::node_shader_tex_brick_cc::BrickFunction::create_signature(), blender::nodes::node_shader_tex_checker_cc::NodeTexChecker::create_signature(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::create_signature(), blender::nodes::node_shader_tex_magic_cc::MagicFunction::create_signature(), blender::nodes::node_shader_tex_wave_cc::WaveFunction::create_signature(), blender::nodes::node_shader_tex_musgrave_cc::MusgraveFunction::create_signature(), blender::nodes::node_shader_tex_noise_cc::NoiseFunction::create_signature(), blender::nodes::node_shader_tex_white_noise_cc::WhiteNoiseFunction::create_signature(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMinowskiFunction::create_signature(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiMetricFunction::create_signature(), blender::nodes::node_shader_tex_voronoi_cc::VoronoiEdgeFunction::create_signature(), blender::fn::tests::CreateRangeFunction::CreateRangeFunction(), blender::nodes::node_shader_curves_cc::CurveFloatFunction::CurveFloatFunction(), blender::nodes::node_shader_curves_cc::CurveRGBFunction::CurveRGBFunction(), blender::nodes::node_shader_curves_cc::CurveVecFunction::CurveVecFunction(), blender::fn::CustomMF< ParamTags >::CustomMF(), blender::fn::CustomMF_Constant< T >::CustomMF_Constant(), blender::fn::CustomMF_DefaultOutput::CustomMF_DefaultOutput(), blender::fn::CustomMF_GenericConstant::CustomMF_GenericConstant(), blender::fn::CustomMF_GenericConstantArray::CustomMF_GenericConstantArray(), blender::fn::CustomMF_GenericCopy::CustomMF_GenericCopy(), blender::fn::CustomMF_SM< Mut1 >::CustomMF_SM(), blender::fn::tests::GenericAppendFunction::GenericAppendFunction(), blender::nodes::node_shader_tex_gradient_cc::GradientFunction::GradientFunction(), blender::nodes::node_geo_image_texture_cc::ImageFieldsFunction::ImageFieldsFunction(), blender::nodes::node_shader_tex_magic_cc::MagicFunction::MagicFunction(), blender::nodes::node_shader_sepcomb_xyz_cc::MF_SeparateXYZ::MF_SeparateXYZ(), blender::nodes::node_fn_input_special_characters_cc::MF_SpecialCharacters::MF_SpecialCharacters(), blender::fn::MFProcedureExecutor::MFProcedureExecutor(), blender::nodes::node_shader_mix_rgb_cc::MixRGBFunction::MixRGBFunction(), blender::nodes::node_shader_tex_checker_cc::NodeTexChecker::NodeTexChecker(), blender::fn::tests::OptionalOutputsFunction::OptionalOutputsFunction(), blender::nodes::node_geo_curve_sample_cc::SampleCurveFunction::SampleCurveFunction(), blender::nodes::node_geo_curve_sample_cc::SampleFloatSegmentsFunction::SampleFloatSegmentsFunction(), blender::nodes::SeparateHSLAFunction::SeparateHSLAFunction(), blender::nodes::SeparateHSVAFunction::SeparateHSVAFunction(), blender::nodes::SeparateRGBAFunction::SeparateRGBAFunction(), blender::nodes::node_shader_sepcomb_rgb_cc::SeparateRGBFunction::SeparateRGBFunction(), set_signature(), blender::fn::tests::SumVectorFunction::SumVectorFunction(), blender::fn::tests::TwoOutputFunction::TwoOutputFunction(), and blender::nodes::node_shader_tex_wave_cc::WaveFunction::WaveFunction().


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