Rumba C++ SDK
ShadingNetwork.h
Go to the documentation of this file.
1 /*
2 
3  *
4  ***
5  *****
6  ********************* Mercenaries Engineering SARL
7  ***************** Copyright (C) 2025
8  *************
9  ********* http://www.mercenaries-engineering.com
10  ***********
11  **** ****
12  ** **
13 
14 */
15 #pragma once
16 
17 namespace maquina
18 {
19 
20 class Dict;
21 class EvalContext;
22 class ExprCall;
23 class Value;
24 
26 {
27  int dep;
29 };
30 
31 }
32 
33 
35 MAQUINA_EXPORT maquina::Value shading_network_eval_simple(maquina::EvalContext& ctx, const char* name, const gsl::span<maquina::ShadingNetworkSimpleDep>& shading_deps);
36 MAQUINA_EXPORT std::pair<maquina::Value, bool> shading_network_input_expr(maquina::EvalContext& ctx, int dep);
38 MAQUINA_EXPORT void shading_network_gather_input_params(maquina::EvalContext& ctx, maquina::Dict& params, const gsl::span<const int>& deps);
39 MAQUINA_EXPORT bool shading_network_is_constant(const std::pair<maquina::Value, bool>& input, const Imath::V3d& value);
int dep
Definition: ShadingNetwork.h:27
Definition: ImathFrame.h:42
MAQUINA_EXPORT maquina::ExprCall shading_network_add(const maquina::Value &a, const maquina::Value &b)
MAQUINA_EXPORT maquina::ExprCall shading_network_combine3(const maquina::Value &a, const maquina::Value &b, const maquina::Value &c)
This version of the SDK is unstable, i-e, it may change with no warning.
Definition: AddCurveAction.h:20
MAQUINA_EXPORT std::pair< maquina::Value, bool > shading_network_input_expr(maquina::EvalContext &ctx, int dep)
MAQUINA_EXPORT bool shading_network_is_input_provided(maquina::EvalContext &ctx, int dep)
Definition: ShadingNetwork.h:25
MAQUINA_EXPORT void shading_network_gather_input_params(maquina::EvalContext &ctx, maquina::Dict &params, int dep)
This class holds the evaluation context passed to the evaluation handler during a plug evaluation...
Definition: EvalContext.h:51
MAQUINA_EXPORT maquina::ExprCall shading_network_multiply(const maquina::Value &a, const maquina::Value &b)
MAQUINA_EXPORT maquina::ExprCall shading_network_extract(const maquina::Value &a, const maquina::Value &b)
#define MAQUINA_EXPORT
Definition: Export.h:31
MAQUINA_EXPORT maquina::ExprCall shading_network_binop(const char *op, const maquina::Value &a, const maquina::Value &b)
MAQUINA_EXPORT maquina::ExprCall shading_network_subtract(const maquina::Value &a, const maquina::Value &b)
bool default_if_not_connected
Definition: ShadingNetwork.h:28
A dictionnary to associate strings to values.
Definition: Dict.h:24
MAQUINA_EXPORT maquina::Value shading_network_eval_simple(maquina::EvalContext &ctx, const char *name, const gsl::span< maquina::ShadingNetworkSimpleDep > &shading_deps)
MAQUINA_EXPORT maquina::ExprCall shading_network_mix(const maquina::Value &fg, const maquina::Value &bg, const maquina::Value &m)
MAQUINA_EXPORT bool shading_network_is_constant(const std::pair< maquina::Value, bool > &input, const Imath::V3d &value)
Definition: Expr.h:46
Base class of all Rumba values.
Definition: Value.h:34