31 const void *value_ =
nullptr;
33 InferenceValue(
const void *value) : value_(value) {}
39 return InferenceValue(value);
44 return InferenceValue(
nullptr);
49 return value_ ==
nullptr;
66 return *
static_cast<const T *
>(this->value_);
78class SocketValueInferencerImpl;
90 std::optional<
Span<bool>> top_level_ignored_inputs = std::nullopt);
bool is_primitive_value() const
std::optional< T > get_if_primitive() const
const void * get_primitive_ptr() const
static InferenceValue from_primitive(const void *value)
static InferenceValue Unknown()
SocketValueInferencer(const bNodeTree &tree, ResourceScope &scope, bke::ComputeContextCache &compute_context_cache, FunctionRef< InferenceValue(int group_input_i)> group_input_value_fn=nullptr, std::optional< Span< bool > > top_level_ignored_inputs=std::nullopt)
InferenceValue get_socket_value(const SocketInContext &socket)
bool is_socket_selected__shader_mix_node(const SocketInContext &socket, const InferenceValue &condition)
bool is_socket_selected__mix_node(const SocketInContext &socket, const InferenceValue &condition)
bool is_socket_selected__menu_switch(const SocketInContext &socket, const InferenceValue &condition)
bool is_socket_selected__index_switch(const SocketInContext &socket, const InferenceValue &condition)
bool is_socket_selected__switch(const SocketInContext &socket, const InferenceValue &condition)