Blender V5.0
NOD_node_declaration.hh File Reference
#include <cstdint>
#include <functional>
#include <type_traits>
#include "BLI_array.hh"
#include "BLI_map.hh"
#include "BLI_string_ref.hh"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "BLT_translation.hh"
#include "DNA_node_types.h"
#include "RNA_types.hh"
#include "NOD_socket_usage_inference_fwd.hh"

Go to the source code of this file.

Classes

class  blender::nodes::OutputFieldDependency
struct  blender::nodes::FieldInferencingInterface
struct  blender::nodes::StructureTypeInterface
struct  blender::nodes::StructureTypeInterface::OutputDependency
struct  blender::nodes::anonymous_attribute_lifetime::PropagateRelation
struct  blender::nodes::anonymous_attribute_lifetime::ReferenceRelation
struct  blender::nodes::anonymous_attribute_lifetime::EvalRelation
struct  blender::nodes::anonymous_attribute_lifetime::AvailableRelation
struct  blender::nodes::anonymous_attribute_lifetime::RelationsInNode
class  blender::nodes::ItemDeclaration
struct  blender::nodes::SocketNameRNA
struct  blender::nodes::CustomSocketDrawParams
class  blender::nodes::SocketDeclaration
class  blender::nodes::BaseSocketDeclarationBuilder
class  blender::nodes::SocketDeclarationBuilder< SocketDecl >
class  blender::nodes::SeparatorDeclaration
class  blender::nodes::LayoutDeclaration
class  blender::nodes::PanelDeclaration
class  blender::nodes::DeclarationListBuilder
class  blender::nodes::PanelDeclarationBuilder
class  blender::nodes::NodeDeclaration
class  blender::nodes::NodeDeclarationBuilder

Namespaces

namespace  blender
namespace  blender::nodes
namespace  blender::nodes::anonymous_attribute_lifetime

Typedefs

using blender::nodes::ItemDeclarationPtr = std::unique_ptr<ItemDeclaration>
using blender::nodes::CustomSocketDrawFn = std::function<void(CustomSocketDrawParams &params)>
using blender::nodes::InputSocketUsageInferenceFn
using blender::nodes::SocketDeclarationPtr = std::unique_ptr<SocketDeclaration>
using blender::nodes::DrawNodeLayoutFn = void(uiLayout *, bContext *, PointerRNA *)
using blender::nodes::PanelDeclarationPtr = std::unique_ptr<PanelDeclaration>
using blender::nodes::ImplicitInputValueFn = std::function<void(const bNode &node, void *r_value)>

Enumerations

enum class  blender::nodes::InputSocketFieldType : int8_t { blender::nodes::None , blender::nodes::IsSupported , blender::nodes::Implicit }
enum class  blender::nodes::OutputSocketFieldType : int8_t { blender::nodes::None , blender::nodes::FieldSource , blender::nodes::DependentField , blender::nodes::PartiallyDependent }
enum class  blender::nodes::CompositorInputRealizationMode : int8_t { blender::nodes::None , blender::nodes::Transforms , blender::nodes::OperationDomain }

Functions

std::ostream & blender::nodes::anonymous_attribute_lifetime::operator<< (std::ostream &stream, const RelationsInNode &relations)
std::optional< ImplicitInputValueFnblender::nodes::get_implicit_input_value_fn (const NodeDefaultInputType type)
bool blender::nodes::socket_type_supports_default_input_type (const bke::bNodeSocketType &socket_type, const NodeDefaultInputType input_type)
void blender::nodes::build_node_declaration (const bke::bNodeType &typeinfo, NodeDeclaration &r_declaration, const bNodeTree *ntree, const bNode *node)
std::unique_ptr< SocketDeclarationblender::nodes::make_declaration_for_socket_type (const eNodeSocketDatatype socket_type)