This interface represents a function definition. More...
#include <ifunction_definition.h>
Public Member Functions | |
virtual const char * | get_module () const =0 |
Returns the DB name of the module containing this function definition. More... | |
virtual const char * | get_mdl_name () const =0 |
Returns the MDL name of the function definition. More... | |
virtual const char * | get_mdl_module_name () const =0 |
Returns the MDL name of the module containing this function definition. More... | |
virtual const char * | get_mdl_simple_name () const =0 |
Returns the simple MDL name of the function definition. More... | |
virtual const char * | get_mdl_parameter_type_name (Size index) const =0 |
Returns the type name of the parameter at index . More... | |
virtual const char * | get_prototype () const =0 |
Returns the DB name of the prototype, or NULL if this function definition is not a variant. More... | |
virtual void | get_mdl_version (Mdl_version &since, Mdl_version &removed) const =0 |
Returns the MDL version when this function definition was added and removed. More... | |
virtual Semantics | get_semantic () const =0 |
Returns the semantic of this function definition. More... | |
bool | is_array_constructor () const |
Indicates whether this definition represents the array constructor. More... | |
virtual bool | is_exported () const =0 |
Indicates whether the function definition is exported by its module. More... | |
virtual bool | is_declarative () const =0 |
Indicates whether the function definition is declarative. More... | |
virtual bool | is_uniform () const =0 |
Indicates whether the function definition is uniform. More... | |
virtual bool | is_material () const =0 |
Indicates whether the definition represents a material. More... | |
virtual const IType * | get_return_type () const =0 |
Returns the return type. More... | |
template<class T> | |
const T * | get_return_type () const |
Returns the return type. More... | |
virtual Size | get_parameter_count () const =0 |
Returns the number of parameters. More... | |
virtual const char * | get_parameter_name (Size index) const =0 |
Returns the name of the parameter at index . More... | |
virtual Size | get_parameter_index (const char *name) const =0 |
Returns the index position of a parameter. More... | |
virtual const IType_list * | get_parameter_types () const =0 |
Returns the types of all parameters. More... | |
virtual const IExpression_list * | get_defaults () const =0 |
Returns the defaults of all parameters. More... | |
virtual const IExpression_list * | get_enable_if_conditions () const =0 |
Returns the enable_if conditions of all parameters. More... | |
virtual Size | get_enable_if_users (Size index) const =0 |
Returns the number of other parameters whose enable_if condition might depend on the argument of the given parameter. More... | |
virtual Size | get_enable_if_user (Size index, Size u_index) const =0 |
Returns the index of a parameter whose enable_if condition might depend on the argument of the given parameter. More... | |
virtual const IAnnotation_block * | get_annotations () const =0 |
Returns the annotations of the function definition itself, or NULL if there are no such annotations. More... | |
virtual const IAnnotation_block * | get_return_annotations () const =0 |
Returns the annotations of the return type of this function definition, or NULL if there are no such annotations. More... | |
virtual const IAnnotation_list * | get_parameter_annotations () const =0 |
Returns the annotations of all parameters. More... | |
virtual const char * | get_thumbnail () const =0 |
Returns the resolved file name of the thumbnail image for this function definition. More... | |
virtual bool | is_valid (IMdl_execution_context *context) const =0 |
Returns true if the definition is valid, false otherwise. More... | |
virtual const IExpression * | get_body () const =0 |
Returns the expression that represents the body of the function (if possible). More... | |
virtual Size | get_temporary_count () const =0 |
Returns the number of temporaries used by this function. More... | |
virtual const IExpression * | get_temporary (Size index) const =0 |
Returns the expression of a temporary. More... | |
virtual const char * | get_temporary_name (Size index) const =0 |
Returns the name of a temporary. More... | |
template<class T> | |
const T * | get_temporary (Size index) const |
Returns the expression of a temporary. More... | |
virtual IFunction_call * | create_function_call (const IExpression_list *arguments, Sint32 *errors=0) const =0 |
Creates a new function call. More... | |
virtual const char * | get_mangled_name () const =0 |
Returns the mangled name of the function. More... | |
Public Member Functions inherited from mi::neuraylib::IScene_element | |
virtual Element_type | get_element_type () const =0 |
Indicates the actual scene element represented by interfaces derived from this interface. More... | |
Public Member Functions inherited from mi::neuraylib::IAttribute_set | |
virtual IData * | create_attribute (const char *name, const char *type)=0 |
Creates a new attribute name of the type type . More... | |
template<class T> | |
T * | create_attribute (const char *name, const char *type) |
Creates a new attribute name of the type type . More... | |
template<class T> | |
T * | create_attribute (const char *name) |
Creates a new attribute name of the type T . More... | |
virtual bool | destroy_attribute (const char *name)=0 |
Destroys the attribute name . More... | |
virtual const IData * | access_attribute (const char *name) const =0 |
Returns a const pointer to the attribute name . More... | |
template<class T> | |
const T * | access_attribute (const char *name) const |
Returns a const pointer to the attribute name . More... | |
virtual IData * | edit_attribute (const char *name)=0 |
Returns a mutable pointer to the attribute name . More... | |
template<class T> | |
T * | edit_attribute (const char *name) |
Returns a mutable pointer to the attribute name . More... | |
virtual bool | is_attribute (const char *name) const =0 |
Indicates existence of an attribute. More... | |
virtual const char * | get_attribute_type_name (const char *name) const =0 |
Returns the type of an attribute. More... | |
virtual Sint32 | set_attribute_propagation (const char *name, Propagation_type value)=0 |
Sets the propagation type of the attribute name . More... | |
virtual Propagation_type | get_attribute_propagation (const char *name) const =0 |
Returns the propagation type of the attribute name . More... | |
virtual const char * | enumerate_attributes (Sint32 index) const =0 |
Returns the name of the attribute indicated by index . More... | |
Public Member Functions inherited from mi::base::IInterface | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived interface. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x3504744d, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x8a2a4da9, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x1bcb8d48, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
This interface represents a function definition.
A function definition describes the formal structure of a function call, i.e. the number, types, names, and defaults of its parameters, as well as its return type. The create_function_call() method allows to create function calls based on this function definition.
"material"
.All known semantics of functions definitions.
Material definitions always have the semantic DS_UNKNOWN.
Enumerator | |
---|---|
DS_UNKNOWN | Unknown semantics. |
DS_CONV_CONSTRUCTOR | The conversion constructor. |
DS_ELEM_CONSTRUCTOR | The elemental constructor. |
DS_COLOR_SPECTRUM_CONSTRUCTOR | The color from spectrum constructor. |
DS_MATRIX_ELEM_CONSTRUCTOR | The matrix elemental constructor. |
DS_MATRIX_DIAG_CONSTRUCTOR | The matrix diagonal constructor. |
DS_INVALID_REF_CONSTRUCTOR | The invalid reference constructor. |
DS_DEFAULT_STRUCT_CONSTRUCTOR | The default constructor for a struct. |
DS_TEXTURE_CONSTRUCTOR | The texture constructor. |
DS_CONV_OPERATOR | The type conversion operator. |
DS_COPY_CONSTRUCTOR | The copy constructor. |
DS_BITWISE_COMPLEMENT | The bitwise complement operator. |
DS_LOGICAL_NOT | The unary logical negation operator. |
DS_POSITIVE | The unary arithmetic positive operator. |
DS_NEGATIVE | The unary arithmetic negation operator. |
DS_PRE_INCREMENT | The pre-increment operator. |
DS_PRE_DECREMENT | The pre-decrement operator. |
DS_POST_INCREMENT | The post-increment operator. |
DS_POST_DECREMENT | The post-decrement operator. |
DS_CAST | The cast operator. See Cast operator. |
DS_SELECT | The select operator. |
DS_ARRAY_INDEX | The array index operator. See Array index operator. |
DS_MULTIPLY | The multiplication operator. |
DS_DIVIDE | The division operator. |
DS_MODULO | The modulus operator. |
DS_PLUS | The addition operator. |
DS_MINUS | The subtraction operator. |
DS_SHIFT_LEFT | The shift-left operator. |
DS_SHIFT_RIGHT | The arithmetic shift-right operator. |
DS_UNSIGNED_SHIFT_RIGHT | The unsigned shift-right operator. |
DS_LESS | The less operator. |
DS_LESS_OR_EQUAL | The less-or-equal operator. |
DS_GREATER_OR_EQUAL | The greater-or-equal operator. |
DS_GREATER | The greater operator. |
DS_EQUAL | The equal operator. |
DS_NOT_EQUAL | The not-equal operator. |
DS_BITWISE_AND | The bitwise and operator. |
DS_BITWISE_XOR | The bitwise xor operator. |
DS_BITWISE_OR | The bitwise or operator. |
DS_LOGICAL_AND | The logical and operator. |
DS_LOGICAL_OR | The logical or operator. |
DS_ASSIGN | The assign operator. |
DS_MULTIPLY_ASSIGN | The multiplication-assign operator. |
DS_DIVIDE_ASSIGN | The division-assign operator. |
DS_MODULO_ASSIGN | The modulus-assign operator. |
DS_PLUS_ASSIGN | The plus-assign operator. |
DS_MINUS_ASSIGN | The minus-assign operator. |
DS_SHIFT_LEFT_ASSIGN | The shift-left-assign operator. |
DS_SHIFT_RIGHT_ASSIGN | The arithmetic shift-right-assign operator. |
DS_UNSIGNED_SHIFT_RIGHT_ASSIGN | The unsigned shift-right-assign operator. |
DS_BITWISE_OR_ASSIGN | The bitwise or-assign operator. |
DS_BITWISE_XOR_ASSIGN | The bitwise xor-assign operator. |
DS_BITWISE_AND_ASSIGN | The bitwise and-assign operator. |
DS_TERNARY | The ternary operator (conditional). See Ternary operator. |
DS_INTRINSIC_MATH_ABS | The math::abs() intrinsic function. |
DS_INTRINSIC_MATH_ACOS | The math::acos() intrinsic function. |
DS_INTRINSIC_MATH_ALL | The math::all() intrinsic function. |
DS_INTRINSIC_MATH_ANY | The math::any() intrinsic function. |
DS_INTRINSIC_MATH_ASIN | The math::asin() intrinsic function. |
DS_INTRINSIC_MATH_ATAN | The math::atan() intrinsic function. |
DS_INTRINSIC_MATH_ATAN2 | The math::atan2() intrinsic function. |
DS_INTRINSIC_MATH_AVERAGE | The math::average() intrinsic function. |
DS_INTRINSIC_MATH_CEIL | The math::ceil() intrinsic function. |
DS_INTRINSIC_MATH_CLAMP | The math::clamp() intrinsic function. |
DS_INTRINSIC_MATH_COS | The math::cos() intrinsic function. |
DS_INTRINSIC_MATH_CROSS | The math::cross() intrinsic function. |
DS_INTRINSIC_MATH_DEGREES | The math::degrees() intrinsic function. |
DS_INTRINSIC_MATH_DISTANCE | The math::distance() intrinsic function. |
DS_INTRINSIC_MATH_DOT | The math::dot() intrinsic function. |
DS_INTRINSIC_MATH_EVAL_AT_WAVELENGTH | The math::eval_at_wavelength() intrinsic function. |
DS_INTRINSIC_MATH_EXP | The math::exp() intrinsic function. |
DS_INTRINSIC_MATH_EXP2 | The math::exp2() intrinsic function. |
DS_INTRINSIC_MATH_FLOOR | The math::floor() intrinsic function. |
DS_INTRINSIC_MATH_FMOD | The math::fmod() intrinsic function. |
DS_INTRINSIC_MATH_FRAC | The math::frac() intrinsic function. |
DS_INTRINSIC_MATH_ISNAN | The math::isnan() intrinsic function. |
DS_INTRINSIC_MATH_ISFINITE | The math::isfinite() intrinsic function. |
DS_INTRINSIC_MATH_LENGTH | The math::length() intrinsic function. |
DS_INTRINSIC_MATH_LERP | The math::lerp() intrinsic function. |
DS_INTRINSIC_MATH_LOG | The math::log() intrinsic function. |
DS_INTRINSIC_MATH_LOG2 | The math::log2() intrinsic function. |
DS_INTRINSIC_MATH_LOG10 | The math::log10() intrinsic function. |
DS_INTRINSIC_MATH_LUMINANCE | The math::luminance() intrinsic function. |
DS_INTRINSIC_MATH_MAX | The math::max() intrinsic function. |
DS_INTRINSIC_MATH_MAX_VALUE | The math::max_value() intrinsic function. |
DS_INTRINSIC_MATH_MAX_VALUE_WAVELENGTH | The math::max_value_wavelength() intrinsic function. |
DS_INTRINSIC_MATH_MIN | The math::min() intrinsic function. |
DS_INTRINSIC_MATH_MIN_VALUE | The math::min_value() intrinsic function. |
DS_INTRINSIC_MATH_MIN_VALUE_WAVELENGTH | The math::min_value_wavelength() intrinsic function. |
DS_INTRINSIC_MATH_MODF | The math::modf() intrinsic function. |
DS_INTRINSIC_MATH_NORMALIZE | The math::normalize() intrinsic function. |
DS_INTRINSIC_MATH_POW | The math::pow() intrinsic function. |
DS_INTRINSIC_MATH_RADIANS | The math::radians() intrinsic function. |
DS_INTRINSIC_MATH_ROUND | The math::round() intrinsic function. |
DS_INTRINSIC_MATH_RSQRT | The math::rsqrt() intrinsic function. |
DS_INTRINSIC_MATH_SATURATE | The math::saturate() intrinsic function. |
DS_INTRINSIC_MATH_SIGN | The math::sign() intrinsic function. |
DS_INTRINSIC_MATH_SIN | The math::sin() intrinsic function. |
DS_INTRINSIC_MATH_SINCOS | The math::sincos() intrinsic function. |
DS_INTRINSIC_MATH_SMOOTHSTEP | The math::smoothstep() intrinsic function. |
DS_INTRINSIC_MATH_SQRT | The math::sqrt() intrinsic function. |
DS_INTRINSIC_MATH_STEP | The math::step() intrinsic function. |
DS_INTRINSIC_MATH_TAN | The math::tan() intrinsic function. |
DS_INTRINSIC_MATH_TRANSPOSE | The math::transpose() intrinsic function. |
DS_INTRINSIC_MATH_BLACKBODY | The math::blackbody() intrinsic function. |
DS_INTRINSIC_MATH_EMISSION_COLOR | The math::emission_color() intrinsic function. |
DS_INTRINSIC_MATH_COSH | The math::cosh() intrinsic function. |
DS_INTRINSIC_MATH_SINH | The math::sinh() intrinsic function. |
DS_INTRINSIC_MATH_TANH | The math::tanh() intrinsic function. |
DS_INTRINSIC_MATH_INT_BITS_TO_FLOAT | The math::int_bits_to_float() intrinsic function. |
DS_INTRINSIC_MATH_FLOAT_BITS_TO_INT | The math::float_bits_to_int() intrinsic function. |
DS_INTRINSIC_MATH_ROUND_AWAY_FROM_ZERO | The math::round_away_from_zero() intrinsic function. |
DS_INTRINSIC_MATH_DX | The math::DX() intrinsic function. |
DS_INTRINSIC_MATH_DY | The math::DY() intrinsic function. |
DS_INTRINSIC_STATE_POSITION | The state::position() function. |
DS_INTRINSIC_STATE_NORMAL | The state::normal() function. |
DS_INTRINSIC_STATE_GEOMETRY_NORMAL | The state::geometry_normal() function. |
DS_INTRINSIC_STATE_MOTION | The state::motion() function. |
DS_INTRINSIC_STATE_TEXTURE_SPACE_MAX | The state::texture_space_max() function. |
DS_INTRINSIC_STATE_TEXTURE_COORDINATE | The state::texture_coordinate() function. |
DS_INTRINSIC_STATE_TEXTURE_TANGENT_U | The state::texture_tangent_u() function. |
DS_INTRINSIC_STATE_TEXTURE_TANGENT_V | The state::texture_tangent_v() function. |
DS_INTRINSIC_STATE_TANGENT_SPACE | The state::tangent_space() function. |
DS_INTRINSIC_STATE_GEOMETRY_TANGENT_U | The state::geometry_tangent_u() function. |
DS_INTRINSIC_STATE_GEOMETRY_TANGENT_V | The state::geometry_tangent_v() function. |
DS_INTRINSIC_STATE_DIRECTION | The state::direction() function. |
DS_INTRINSIC_STATE_ANIMATION_TIME | The state::animation_time() function. |
DS_INTRINSIC_STATE_WAVELENGTH_BASE | The state::wavelength_base() function. |
DS_INTRINSIC_STATE_TRANSFORM | The state::transform() function. |
DS_INTRINSIC_STATE_TRANSFORM_POINT | The state::transform_point() function. |
DS_INTRINSIC_STATE_TRANSFORM_VECTOR | The state::transform_vector() function. |
DS_INTRINSIC_STATE_TRANSFORM_NORMAL | The state::transform_normal() function. |
DS_INTRINSIC_STATE_TRANSFORM_SCALE | The state::transform_scale() function. |
DS_INTRINSIC_STATE_ROUNDED_CORNER_NORMAL | The state::rounded_corner_normal() function. |
DS_INTRINSIC_STATE_METERS_PER_SCENE_UNIT | The state::meters_per_scene_unit() function. |
DS_INTRINSIC_STATE_SCENE_UNITS_PER_METER | The state::scene_units_per_meter() function. |
DS_INTRINSIC_STATE_OBJECT_ID | The state::object_id() function. |
DS_INTRINSIC_STATE_WAVELENGTH_MIN | The state::wavelength_min() function. |
DS_INTRINSIC_STATE_WAVELENGTH_MAX | The state::wavelength_max() function. |
DS_INTRINSIC_TEX_WIDTH | The tex::width() function. |
DS_INTRINSIC_TEX_HEIGHT | The tex::height() function. |
DS_INTRINSIC_TEX_DEPTH | The tex::depth() function. |
DS_INTRINSIC_TEX_LOOKUP_FLOAT | The tex::lookup_float() function. |
DS_INTRINSIC_TEX_LOOKUP_FLOAT2 | The tex::lookup_float2() function. |
DS_INTRINSIC_TEX_LOOKUP_FLOAT3 | The tex::lookup_float3() function. |
DS_INTRINSIC_TEX_LOOKUP_FLOAT4 | The tex::lookup_float4() function. |
DS_INTRINSIC_TEX_LOOKUP_COLOR | The tex::lookup_color() function. |
DS_INTRINSIC_TEX_TEXEL_FLOAT | The tex::texel_float() function. |
DS_INTRINSIC_TEX_TEXEL_FLOAT2 | The tex::texel_float2() function. |
DS_INTRINSIC_TEX_TEXEL_FLOAT3 | The tex::texel_float3() function. |
DS_INTRINSIC_TEX_TEXEL_FLOAT4 | The tex::texel_float4() function. |
DS_INTRINSIC_TEX_TEXEL_COLOR | The tex::texel_color() function. |
DS_INTRINSIC_TEX_TEXTURE_ISVALID | The tex::texture_isvalid() function. |
DS_INTRINSIC_TEX_WIDTH_OFFSET | The tex::width_offset() function. |
DS_INTRINSIC_TEX_HEIGHT_OFFSET | The tex::height_offset() function. |
DS_INTRINSIC_TEX_DEPTH_OFFSET | The tex::depth_offset() function. |
DS_INTRINSIC_TEX_FIRST_FRAME | The tex::first_frame() function. |
DS_INTRINSIC_TEX_LAST_FRAME | The tex::last_frame() function. |
DS_INTRINSIC_TEX_GRID_TO_OBJECT_SPACE | The tex::grid_to_object_space() function. |
DS_INTRINSIC_DF_DIFFUSE_REFLECTION_BSDF | The df::diffuse_reflection_bsdf() function. |
DS_INTRINSIC_DF_DUSTY_DIFFUSE_REFLECTION_BSDF | The df::dusty_diffuse_reflection_bsdf() function. |
DS_INTRINSIC_DF_DIFFUSE_TRANSMISSION_BSDF | The df::diffuse_transmission_bsdf() function. |
DS_INTRINSIC_DF_SPECULAR_BSDF | The df::specular_bsdf() function. |
DS_INTRINSIC_DF_SIMPLE_GLOSSY_BSDF | The df::simple_glossy_bsdf() function. |
DS_INTRINSIC_DF_BACKSCATTERING_GLOSSY_REFLECTION_BSDF | The df::backscattering_glossy_reflection_bsdf() function. |
DS_INTRINSIC_DF_MEASURED_BSDF | The df::measured_bsdf() function. |
DS_INTRINSIC_DF_DIFFUSE_EDF | The df::diffuse_edf() function. |
DS_INTRINSIC_DF_MEASURED_EDF | The df::measured_edf() function. |
DS_INTRINSIC_DF_SPOT_EDF | The df::spot_edf() function. |
DS_INTRINSIC_DF_ANISOTROPIC_VDF | The df::anisotropic_vdf() function. |
DS_INTRINSIC_DF_FOG_VDF | The df::fog_vdf() function. |
DS_INTRINSIC_DF_NORMALIZED_MIX | The df::normalized_mix() function. |
DS_INTRINSIC_DF_CLAMPED_MIX | The df::clamped_mix() function. |
DS_INTRINSIC_DF_WEIGHTED_LAYER | The df::weighted_layer() function. |
DS_INTRINSIC_DF_FRESNEL_LAYER | The df::fresnel_layer() function. |
DS_INTRINSIC_DF_CUSTOM_CURVE_LAYER | The df::custom_curve_layer() function. |
DS_INTRINSIC_DF_MEASURED_CURVE_LAYER | The df::measured_curve_layer() function. |
DS_INTRINSIC_DF_THIN_FILM | The df::thin_film() function. |
DS_INTRINSIC_DF_TINT | The df::tint() function. |
DS_INTRINSIC_DF_DIRECTIONAL_FACTOR | The df::directional_factor() function. |
DS_INTRINSIC_DF_MEASURED_CURVE_FACTOR | The df::measured_curve_factor() function. |
DS_INTRINSIC_DF_LIGHT_PROFILE_POWER | The df::light_profile_power() function. |
DS_INTRINSIC_DF_LIGHT_PROFILE_MAXIMUM | The df::light_profile_maximum() function. |
DS_INTRINSIC_DF_LIGHT_PROFILE_ISVALID | The df::light_profile_isvalid() function. |
DS_INTRINSIC_DF_BSDF_MEASUREMENT_ISVALID | The df::bsdf_measurement_is_valid() function. |
DS_INTRINSIC_DF_MICROFACET_BECKMANN_SMITH_BSDF | The df::microfacet_beckmann_smith_bsdf() function. |
DS_INTRINSIC_DF_MICROFACET_GGX_SMITH_BSDF | The df::microfacet_ggx_smith_bsdf() function. |
DS_INTRINSIC_DF_MICROFACET_BECKMANN_VCAVITIES_BSDF | The df::microfacet_beckmann_vcavities() function. |
DS_INTRINSIC_DF_MICROFACET_GGX_VCAVITIES_BSDF | The df::microfacet_ggx_vcavities() function. |
DS_INTRINSIC_DF_WARD_GEISLER_MORODER_BSDF | The df::ward_geisler_moroder_bsdf() function. |
DS_INTRINSIC_DF_COLOR_NORMALIZED_MIX | The df::color_normalized_mix() function. |
DS_INTRINSIC_DF_COLOR_CLAMPED_MIX | The df::color_clamped_mix() function. |
DS_INTRINSIC_DF_COLOR_WEIGHTED_LAYER | The df::color_weighted_layer() function. |
DS_INTRINSIC_DF_COLOR_FRESNEL_LAYER | The df::color_fresnel_layer() function. |
DS_INTRINSIC_DF_COLOR_CUSTOM_CURVE_LAYER | The df::color_custom_curve_layer() function. |
DS_INTRINSIC_DF_COLOR_MEASURED_CURVE_LAYER | The df::color_measured_curve_layer() function. |
DS_INTRINSIC_DF_FRESNEL_FACTOR | The df::fresnel_factor() function. |
DS_INTRINSIC_DF_MEASURED_FACTOR | The df::measured_factor() function. |
DS_INTRINSIC_DF_CHIANG_HAIR_BSDF | The df::chiang_hair_bsdf() function. |
DS_INTRINSIC_DF_SHEEN_BSDF | The df::sheen_bsdf() function. |
DS_INTRINSIC_DF_UNBOUNDED_MIX | The df::unbounded_mix() function. |
DS_INTRINSIC_DF_COLOR_UNBOUNDED_MIX | The df::color_unbounded() function. |
DS_INTRINSIC_NVIDIA_DF_ASHIKHMIN_SHIRLEY_GLOSSY_BSDF | The nvidia::df::ashikhmin_shirley_glossy_bsdf() function. |
DS_INTRINSIC_NVIDIA_DF_SIMPLE_GLOSSY_BSDF_LEGACY | The nvidia::df::simple_glossy_bsdf_legacy() function. |
DS_INTRINSIC_NVIDIA_DF_LEGACY_MCP_GLOSSY_BSDF | The nvidia::df::legacy_mcp_glossy_bsdf() function. |
DS_INTRINSIC_NVIDIA_DF_COAT_ABSORPTION | The nvidia::df::coat_absorption() function. |
DS_INTRINSIC_NVIDIA_DF_SHEEN_LTC_BSDF | The nvidia::df::sheen_ltc_bsdf() function. |
DS_INTRINSIC_SCENE_DATA_ISVALID | The scene::data_is_valid() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_INT | The scene::data_lookup_int() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_INT2 | The scene::data_lookup_int2() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_INT3 | The scene::data_lookup_int3() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_INT4 | The scene::data_lookup_int4() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_FLOAT | The scene::data_lookup_float() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_FLOAT2 | The scene::data_lookup_float2() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_FLOAT3 | The scene::data_lookup_float3() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_FLOAT4 | The scene::data_lookup_float4() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_COLOR | The scene::data_lookup_color() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_INT | The scene::data_lookup_uniform_int() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_INT2 | The scene::data_lookup_uniform_int2() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_INT3 | The scene::data_lookup_uniform_int3() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_INT4 | The scene::data_lookup_uniform_int4() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_FLOAT | The scene::data_lookup_uniform_float() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_FLOAT2 | The scene::data_lookup_uniform_float2() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_FLOAT3 | The scene::data_lookup_uniform_float3() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_FLOAT4 | The scene::data_lookup_uniform_float4() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_COLOR | The scene::data_lookup_uniform_color() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_FLOAT4X4 | The scene::data_lookup_float4x4() function. |
DS_INTRINSIC_SCENE_DATA_LOOKUP_UNIFORM_FLOAT4X4 | The scene::data_lookup_uniform_float4x4() function. |
DS_INTRINSIC_DEBUG_BREAKPOINT | The debug::breakpoint() function. |
DS_INTRINSIC_DEBUG_ASSERT | The debug::assert() function. |
DS_INTRINSIC_DEBUG_PRINT | The debug::print() function. |
DS_INTRINSIC_DAG_FIELD_ACCESS | The structure field access function. |
DS_INTRINSIC_DAG_ARRAY_CONSTRUCTOR | The array constructor. See Array constructor. |
DS_INTRINSIC_DAG_ARRAY_LENGTH | The array length operator. See Array length operator. |
DS_INTRINSIC_DAG_DECL_CAST | The decl_cast operator. See Decl_cast operator. |
|
pure virtual |
Creates a new function call.
arguments | The arguments of the created function call. Arguments for parameters without default are mandatory, otherwise optional. The type of an argument must match the corresponding parameter type. Any argument missing in arguments will be set to the default of the corresponding parameter. Note that the expressions in arguments are copied. This copy operation is a deep copy, e.g., DB elements referenced in call expressions are also copied. NULL is a valid argument which is handled like an empty expression list. | |
[out] | errors | An optional pointer to an mi::Sint32 to which an error code will be written. The error codes have the following meaning:
|
NULL
in case of errors.
|
pure virtual |
Returns the annotations of the function definition itself, or NULL
if there are no such annotations.
|
pure virtual |
Returns the expression that represents the body of the function (if possible).
NULL
. For all other functions, i.e., for functions, whose body is an expression or a plain return statement, the method never returns NULL
(unless there is no body at all, see below).NULL
for such functions.
|
pure virtual |
Returns the defaults of all parameters.
|
pure virtual |
Returns the enable_if
conditions of all parameters.
|
pure virtual |
Returns the index of a parameter whose enable_if
condition might depend on the argument of the given parameter.
index | The index of the parameter. |
u_index | The index of the enable_if user. |
enable_if
condition depends on this parameter argument, or ~0 if indexes are out of range.
|
pure virtual |
Returns the number of other parameters whose enable_if
condition might depend on the argument of the given parameter.
index | The index of the parameter. |
enable_if
condition depends on this parameter argument.
|
pure virtual |
Returns the mangled name of the function.
|
pure virtual |
Returns the MDL name of the module containing this function definition.
|
pure virtual |
Returns the MDL name of the function definition.
|
pure virtual |
Returns the type name of the parameter at index
.
index | The index of the parameter. |
NULL
if index
is out of range.
|
pure virtual |
Returns the simple MDL name of the function definition.
The simple name is the last component of the MDL name, i.e., without any packages and scope qualifiers, and without the parameter type names.
|
pure virtual |
Returns the MDL version when this function definition was added and removed.
[out] | since | The MDL version in which this function definition was added. If the function definition does not belong to the standard library, the MDL version of the corresponding module is returned. |
[out] | removed | The MDL version in which this function definition was removed, or mi::neuraylib::MDL_VERSION_INVALID if the function has not been removed so far or does not belong to the standard library. |
|
pure virtual |
Returns the DB name of the module containing this function definition.
The type of the module is mi::neuraylib::IModule.
|
pure virtual |
Returns the annotations of all parameters.
|
pure virtual |
Returns the number of parameters.
|
pure virtual |
Returns the index position of a parameter.
name | The name of the parameter. |
name
is invalid.
|
pure virtual |
Returns the name of the parameter at index
.
index | The index of the parameter. |
NULL
if index
is out of range.
|
pure virtual |
Returns the types of all parameters.
|
pure virtual |
Returns the DB name of the prototype, or NULL
if this function definition is not a variant.
|
pure virtual |
Returns the annotations of the return type of this function definition, or NULL
if there are no such annotations.
|
inline |
Returns the return type.
This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid &) on the returned pointer, since the return type already is a pointer to the type T
specified as template parameter.
T | The interface type of the requested element |
|
pure virtual |
Returns the return type.
|
pure virtual |
Returns the semantic of this function definition.
|
inline |
Returns the expression of a temporary.
This templated member function is a wrapper of the non-template variant for the user's convenience. It eliminates the need to call mi::base::IInterface::get_interface(const Uuid &) on the returned pointer, since the return type already is a pointer to the type T
specified as template parameter.
T | The interface type of the requested element. |
index | The index of the temporary. |
NULL
if index
is out of range.
|
pure virtual |
Returns the expression of a temporary.
index | The index of the temporary. |
NULL
if index
is out of range.
|
pure virtual |
Returns the number of temporaries used by this function.
|
pure virtual |
Returns the name of a temporary.
index | The index of the temporary. |
NULL
if the temporary has no name or index
is out of range.
|
pure virtual |
Returns the resolved file name of the thumbnail image for this function definition.
The function first checks for a thumbnail annotation. If the annotation is provided, it uses the 'name' argument of the annotation and resolves that in the MDL search path. If the annotation is not provided or file resolution fails, it checks for a file module_name.material_name.png next to the MDL module. In case this cannot be found either NULL
is returned.
|
inline |
Indicates whether this definition represents the array constructor.
|
pure virtual |
Indicates whether the function definition is declarative.
|
pure virtual |
Indicates whether the function definition is exported by its module.
|
pure virtual |
Indicates whether the definition represents a material.
|
pure virtual |
Indicates whether the function definition is uniform.
|
pure virtual |
Returns true
if the definition is valid, false
otherwise.
A definition can become invalid if the module it has been defined in or another module imported by that module has been reloaded. In the first case, the definition can no longer be used. In the second case, the definition can be validated by reloading the module it has been defined in.
context | Execution context that can be queried for error messages after the operation has finished. Can be NULL . |
true
The definition is valid.false
The definition is invalid.