Blender
V3.3
|
Classes | |
class | SeparateRGBAFunction |
class | SeparateHSVAFunction |
class | SeparateHSLAFunction |
struct | ConeAttributeOutputs |
struct | ConeConfig |
struct | ToposortNodeState |
class | DTreeContext |
class | DNode |
class | DSocket |
class | DInputSocket |
class | DOutputSocket |
class | DerivedNodeTree |
class | GeoNodeExecParamsProvider |
class | GeoNodeExecParams |
struct | FloatMathOperationInfo |
class | NodeMultiFunctionBuilder |
class | NodeMultiFunctions |
class | OutputFieldDependency |
struct | FieldInferencingInterface |
class | SocketDeclaration |
class | BaseSocketDeclarationBuilder |
class | SocketDeclarationBuilder |
class | NodeDeclaration |
class | NodeDeclarationBuilder |
class | SocketRef |
class | InputSocketRef |
class | OutputSocketRef |
class | NodeRef |
class | LinkRef |
class | InternalLinkRef |
class | NodeTreeRef |
class | LinkSearchOpParams |
struct | SocketLinkOperation |
class | GatherLinkSearchOpParams |
Typedefs | |
using | SocketDeclarationPtr = std::unique_ptr< SocketDeclaration > |
using | SocketIndexByIdentifierMap = Map< std::string, int > |
using | NodeTreeRefMap = Map< bNodeTree *, std::unique_ptr< const NodeTreeRef > > |
Enumerations | |
enum class | InputSocketFieldType { None , IsSupported , Implicit } |
enum class | OutputSocketFieldType { None , FieldSource , DependentField , PartiallyDependent } |
using blender::nodes::NodeTreeRefMap = typedef Map<bNodeTree *, std::unique_ptr<const NodeTreeRef> > |
Definition at line 318 of file NOD_node_tree_ref.hh.
using blender::nodes::SocketDeclarationPtr = typedef std::unique_ptr<SocketDeclaration> |
Definition at line 254 of file NOD_node_declaration.hh.
using blender::nodes::SocketIndexByIdentifierMap = typedef Map<std::string, int> |
Definition at line 60 of file NOD_node_tree_ref.hh.
|
strong |
Enumerator | |
---|---|
None | The input is required to be a single value. |
IsSupported | The input can be a field. |
Implicit | The input can be a field and is a field implicitly if nothing is connected. |
Definition at line 19 of file NOD_node_declaration.hh.
|
strong |
Definition at line 28 of file NOD_node_declaration.hh.
|
static |
Definition at line 324 of file node_geo_mesh_primitive_cone.cc.
References blender::nodes::ConeConfig::bottom_has_center_vert, blender::nodes::ConeConfig::circle_segments, blender::nodes::ConeConfig::first_ring_verts_start, blender::nodes::ConeConfig::first_vert, blender::nodes::ConeConfig::last_ring_verts_start, blender::nodes::ConeConfig::last_vert, ME_EDGEDRAW, ME_EDGERENDER, blender::nodes::ConeConfig::top_has_center_vert, and blender::nodes::ConeConfig::tot_edge_rings.
Referenced by create_cylinder_or_cone_mesh().
|
static |
Definition at line 373 of file node_geo_mesh_primitive_cone.cc.
References blender::nodes::ConeConfig::bottom_has_center_vert, blender::nodes::ConeConfig::circle_segments, MLoop::e, blender::nodes::ConeConfig::fill_type, blender::nodes::ConeConfig::first_ring_edges_start, blender::nodes::ConeConfig::first_ring_verts_start, GEO_NODE_MESH_CIRCLE_FILL_NGON, blender::nodes::ConeConfig::last_edge, blender::nodes::ConeConfig::last_fan_edges_start, blender::nodes::ConeConfig::last_ring_edges_start, blender::nodes::ConeConfig::last_ring_verts_start, blender::nodes::ConeConfig::last_vert, MPoly::loopstart, blender::nodes::ConeConfig::top_has_center_vert, blender::nodes::ConeConfig::tot_quad_rings, MPoly::totloop, and MLoop::v.
Referenced by create_cylinder_or_cone_mesh().
|
static |
If the top is the cone tip or has a fill, it is unwrapped into a circle in the lower left quadrant of the UV. Likewise, if the bottom is the cone tip or has a fill, it is unwrapped into a circle in the lower right quadrant of the UV. If the mesh is a truncated cone or a cylinder, the side faces are unwrapped into a rectangle that fills the top half of the UV (or the entire UV, if there are no fills).
Definition at line 537 of file node_geo_mesh_primitive_cone.cc.
References angle(), ATTR_DOMAIN_CORNER, bottom, blender::nodes::ConeConfig::bottom_has_center_vert, blender::nodes::ConeConfig::bottom_is_point, blender::nodes::ConeConfig::circle_segments, KDL::cos(), blender::nodes::ConeConfig::fill_segments, blender::nodes::ConeConfig::fill_type, blender::bke::SpanAttributeWriter< T >::finish(), GEO_NODE_MESH_CIRCLE_FILL_NGON, GEO_NODE_MESH_CIRCLE_FILL_NONE, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), M_PI, mesh, blender::bke::mesh_attributes_for_write(), blender::nodes::ConeConfig::side_segments, KDL::sin(), blender::bke::SpanAttributeWriter< T >::span, blender::nodes::ConeConfig::top_has_center_vert, and blender::nodes::ConeConfig::top_is_point.
Referenced by create_cylinder_or_cone_mesh().
|
static |
Definition at line 258 of file node_geo_mesh_primitive_cone.cc.
References angle(), blender::nodes::ConeConfig::bottom_has_center_vert, blender::nodes::ConeConfig::bottom_is_point, blender::nodes::ConeConfig::circle_segments, copy_v3_fl3(), KDL::cos(), blender::nodes::ConeConfig::fill_segments, blender::nodes::ConeConfig::height, M_PI, blender::nodes::ConeConfig::radius_bottom, blender::nodes::ConeConfig::radius_top, blender::nodes::ConeConfig::side_segments, KDL::sin(), blender::nodes::ConeConfig::top_has_center_vert, blender::nodes::ConeConfig::top_is_point, verts, x, and y.
Referenced by create_cylinder_or_cone_mesh().
|
static |
Definition at line 479 of file node_geo_mesh_primitive_cone.cc.
References ATTR_DOMAIN_FACE, ATTR_DOMAIN_POINT, blender::nodes::ConeConfig::bottom_faces_len, blender::nodes::ConeConfig::bottom_faces_start, blender::nodes::ConeAttributeOutputs::bottom_id, blender::nodes::ConeConfig::bottom_is_point, blender::nodes::ConeConfig::circle_segments, blender::nodes::ConeConfig::fill_type, blender::bke::SpanAttributeWriter< T >::finish(), blender::nodes::ConeConfig::first_vert, GEO_NODE_MESH_CIRCLE_FILL_NONE, blender::nodes::ConeConfig::last_ring_verts_start, blender::nodes::ConeConfig::last_vert, blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), mesh, blender::bke::mesh_attributes_for_write(), blender::nodes::ConeConfig::side_faces_len, blender::nodes::ConeConfig::side_faces_start, blender::nodes::ConeAttributeOutputs::side_id, blender::bke::SpanAttributeWriter< T >::span, blender::nodes::ConeConfig::top_faces_len, blender::nodes::ConeAttributeOutputs::top_id, and blender::nodes::ConeConfig::top_is_point.
Referenced by create_cylinder_or_cone_mesh().
|
static |
Definition at line 18 of file node_geo_mesh_primitive_grid.cc.
References ATTR_DOMAIN_CORNER, blender::Span< T >::index_range(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_only_span(), mesh, blender::bke::mesh_attributes_for_write(), and blender::threading::parallel_for().
Referenced by create_grid_mesh().
|
static |
Definition at line 37 of file node_composite_sepcomb_xyz.cc.
References usdtokens::b(), and min.
Referenced by register_node_type_cmp_combine_xyz().
|
static |
Definition at line 10 of file node_composite_scene_time.cc.
References usdtokens::b(), and N_.
Referenced by register_node_type_cmp_scene_time().
|
static |
Definition at line 13 of file node_composite_sepcomb_xyz.cc.
References usdtokens::b(), and min.
Referenced by register_node_type_cmp_separate_xyz().
void blender::nodes::copy_point_attributes_based_on_mask | ( | const GeometryComponent & | in_component, |
GeometryComponent & | result_component, | ||
Span< bool > | masks, | ||
bool | invert | ||
) |
Copies the point domain attributes from in_component
that are in the mask to out_component
.
Mesh * blender::nodes::create_cylinder_or_cone_mesh | ( | float | radius_top, |
float | radius_bottom, | ||
float | depth, | ||
int | circle_segments, | ||
int | side_segments, | ||
int | fill_segments, | ||
GeometryNodeMeshCircleFillType | fill_type, | ||
ConeAttributeOutputs & | attribute_outputs | ||
) |
Definition at line 664 of file node_geo_mesh_primitive_cone.cc.
References BKE_id_material_eval_ensure_default_slot(), BKE_mesh_new_nomain(), blender::nodes::ConeConfig::bottom_is_point, calculate_cone_edges(), calculate_cone_faces(), calculate_cone_uvs(), calculate_cone_vertices(), calculate_selection_outputs(), create_line_mesh(), create_vertex_mesh(), blender::nodes::ConeConfig::height, Mesh::id, Mesh::medge, mesh, Mesh::mloop, Mesh::mpoly, Mesh::mvert, blender::nodes::ConeConfig::side_segments, blender::nodes::ConeConfig::top_is_point, blender::nodes::ConeConfig::tot_corners, blender::nodes::ConeConfig::tot_edges, blender::nodes::ConeConfig::tot_faces, blender::nodes::ConeConfig::tot_verts, Mesh::totedge, Mesh::totloop, Mesh::totpoly, Mesh::totvert, and verts.
Referenced by blender::nodes::node_geo_mesh_primitive_cone_cc::node_geo_exec(), and blender::nodes::node_geo_mesh_primitive_cylinder_cc::node_geo_exec().
Definition at line 39 of file node_geo_mesh_primitive_grid.cc.
References BKE_mesh_new_nomain(), BLI_assert, calculate_uvs(), MLoop::e, MPoly::loopstart, ME_EDGEDRAW, ME_EDGERENDER, ME_LOOSEEDGE, Mesh::medge, mesh, Mesh::mloop, Mesh::mpoly, Mesh::mvert, blender::threading::parallel_for(), Mesh::totedge, Mesh::totloop, MPoly::totloop, Mesh::totpoly, Mesh::totvert, MLoop::v, verts, x, and y.
Referenced by blender::nodes::node_geo_mesh_primitive_cube_cc::create_cube_mesh(), and blender::nodes::node_geo_mesh_primitive_grid_cc::node_geo_exec().
|
static |
Definition at line 337 of file node_tree_ref.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), LISTBASE_FOREACH_INDEX, and map.
Referenced by get_or_create_identifier_map().
Definition at line 174 of file node_geo_mesh_primitive_line.cc.
References BKE_id_material_eval_ensure_default_slot(), BKE_mesh_new_nomain(), count, Mesh::id, Mesh::medge, mesh, Mesh::mvert, blender::threading::parallel_for(), blender::threading::parallel_invoke(), Mesh::totedge, Mesh::totvert, and verts.
Referenced by blender::nodes::node_geo_mesh_primitive_cube_cc::create_cube_mesh(), create_cylinder_or_cone_mesh(), and blender::nodes::node_geo_mesh_primitive_line_cc::node_geo_exec().
|
static |
Definition at line 656 of file node_geo_mesh_primitive_cone.cc.
References BKE_mesh_new_nomain(), MVert::co, copy_v3_fl3(), mesh, and Mesh::mvert.
Referenced by create_cylinder_or_cone_mesh().
|
static |
Definition at line 86 of file node_fn_combine_color.cc.
References get_multi_function(), blender::nodes::NodeMultiFunctionBuilder::node(), and blender::nodes::NodeMultiFunctionBuilder::set_matching_fn().
Referenced by register_node_type_fn_combine_color().
|
static |
Definition at line 12 of file node_fn_combine_color.cc.
References usdtokens::b(), N_, and PROP_FACTOR.
Referenced by register_node_type_fn_combine_color().
|
static |
Definition at line 45 of file node_fn_combine_color.cc.
References data, node, and NODE_COMBSEP_COLOR_RGB.
Referenced by register_node_type_fn_combine_color().
|
static |
Definition at line 34 of file node_fn_combine_color.cc.
References ptr, and uiItemR().
Referenced by register_node_type_fn_combine_color().
|
static |
Definition at line 39 of file node_fn_combine_color.cc.
References NodeCombSepColor::mode, node, and node_combsep_color_label().
Referenced by register_node_type_fn_combine_color().
|
static |
Definition at line 181 of file node_fn_separate_color.cc.
References BLI_assert_unreachable, NodeCombSepColor::mode, blender::nodes::NodeMultiFunctionBuilder::node(), NODE_COMBSEP_COLOR_HSL, NODE_COMBSEP_COLOR_HSV, NODE_COMBSEP_COLOR_RGB, and blender::nodes::NodeMultiFunctionBuilder::set_matching_fn().
Referenced by register_node_type_fn_separate_color().
|
static |
Definition at line 12 of file node_fn_separate_color.cc.
References usdtokens::b(), and N_.
Referenced by register_node_type_fn_separate_color().
|
static |
Definition at line 33 of file node_fn_separate_color.cc.
References data, node, and NODE_COMBSEP_COLOR_RGB.
Referenced by register_node_type_fn_separate_color().
|
static |
Definition at line 22 of file node_fn_separate_color.cc.
References ptr, and uiItemR().
Referenced by register_node_type_fn_separate_color().
|
static |
Definition at line 27 of file node_fn_separate_color.cc.
References NodeCombSepColor::mode, node, and node_combsep_color_label().
Referenced by register_node_type_fn_separate_color().
|
static |
Definition at line 301 of file derived_node_tree.cc.
References blender::compositor::context, blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), blender::dot::Graph::new_cluster(), and blender::dot::Cluster::set_parent_cluster().
Referenced by blender::nodes::DerivedNodeTree::to_dot().
const FloatMathOperationInfo * blender::nodes::get_float3_math_operation_info | ( | const int | operation | ) |
Definition at line 135 of file math_functions.cc.
References NODE_VECTOR_MATH_ABSOLUTE, NODE_VECTOR_MATH_ADD, NODE_VECTOR_MATH_CEIL, NODE_VECTOR_MATH_COSINE, NODE_VECTOR_MATH_CROSS_PRODUCT, NODE_VECTOR_MATH_DISTANCE, NODE_VECTOR_MATH_DIVIDE, NODE_VECTOR_MATH_DOT_PRODUCT, NODE_VECTOR_MATH_FACEFORWARD, NODE_VECTOR_MATH_FLOOR, NODE_VECTOR_MATH_FRACTION, NODE_VECTOR_MATH_LENGTH, NODE_VECTOR_MATH_MAXIMUM, NODE_VECTOR_MATH_MINIMUM, NODE_VECTOR_MATH_MODULO, NODE_VECTOR_MATH_MULTIPLY, NODE_VECTOR_MATH_MULTIPLY_ADD, NODE_VECTOR_MATH_NORMALIZE, NODE_VECTOR_MATH_PROJECT, NODE_VECTOR_MATH_REFLECT, NODE_VECTOR_MATH_REFRACT, NODE_VECTOR_MATH_SCALE, NODE_VECTOR_MATH_SINE, NODE_VECTOR_MATH_SNAP, NODE_VECTOR_MATH_SUBTRACT, NODE_VECTOR_MATH_TANGENT, NODE_VECTOR_MATH_WRAP, and RETURN_OPERATION_INFO.
Referenced by try_dispatch_float_math_fl3_fl3_fl3_to_fl3(), try_dispatch_float_math_fl3_fl3_fl_to_fl3(), try_dispatch_float_math_fl3_fl3_to_fl(), try_dispatch_float_math_fl3_fl3_to_fl3(), try_dispatch_float_math_fl3_fl_to_fl3(), try_dispatch_float_math_fl3_to_fl(), and try_dispatch_float_math_fl3_to_fl3().
const FloatMathOperationInfo * blender::nodes::get_float_compare_operation_info | ( | const int | operation | ) |
Definition at line 105 of file math_functions.cc.
References NODE_COMPARE_EQUAL, NODE_COMPARE_GREATER_EQUAL, NODE_COMPARE_GREATER_THAN, NODE_COMPARE_LESS_EQUAL, NODE_COMPARE_LESS_THAN, NODE_COMPARE_NOT_EQUAL, and RETURN_OPERATION_INFO.
const FloatMathOperationInfo * blender::nodes::get_float_math_operation_info | ( | const int | operation | ) |
Definition at line 7 of file math_functions.cc.
References NODE_MATH_ABSOLUTE, NODE_MATH_ADD, NODE_MATH_ARCCOSINE, NODE_MATH_ARCSINE, NODE_MATH_ARCTAN2, NODE_MATH_ARCTANGENT, NODE_MATH_CEIL, NODE_MATH_COMPARE, NODE_MATH_COSH, NODE_MATH_COSINE, NODE_MATH_DEGREES, NODE_MATH_DIVIDE, NODE_MATH_EXPONENT, NODE_MATH_FLOOR, NODE_MATH_FRACTION, NODE_MATH_GREATER_THAN, NODE_MATH_INV_SQRT, NODE_MATH_LESS_THAN, NODE_MATH_LOGARITHM, NODE_MATH_MAXIMUM, NODE_MATH_MINIMUM, NODE_MATH_MODULO, NODE_MATH_MULTIPLY, NODE_MATH_MULTIPLY_ADD, NODE_MATH_PINGPONG, NODE_MATH_POWER, NODE_MATH_RADIANS, NODE_MATH_ROUND, NODE_MATH_SIGN, NODE_MATH_SINE, NODE_MATH_SINH, NODE_MATH_SMOOTH_MAX, NODE_MATH_SMOOTH_MIN, NODE_MATH_SNAP, NODE_MATH_SQRT, NODE_MATH_SUBTRACT, NODE_MATH_TANGENT, NODE_MATH_TANH, NODE_MATH_TRUNC, NODE_MATH_WRAP, and RETURN_OPERATION_INFO.
Referenced by blender::nodes::node_shader_math_cc::gpu_shader_get_name(), try_dispatch_float_math_fl_fl_fl_to_fl(), try_dispatch_float_math_fl_fl_to_fl(), and try_dispatch_float_math_fl_to_fl().
|
static |
Definition at line 52 of file node_fn_combine_color.cc.
References blender::ColorRGBA< ChannelStorageType, Space, Alpha >::a, Freestyle::a, blender::ColorRGBA< ChannelStorageType, Space, Alpha >::b, usdtokens::b(), BLI_assert_unreachable, color, blender::ColorRGBA< ChannelStorageType, Space, Alpha >::g, usdtokens::g(), hsl_to_rgb(), hsv_to_rgb(), l, NodeCombSepColor::mode, NODE_COMBSEP_COLOR_HSL, NODE_COMBSEP_COLOR_HSV, NODE_COMBSEP_COLOR_RGB, blender::ColorRGBA< ChannelStorageType, Space, Alpha >::r, r, and v.
Referenced by fn_node_combine_color_build_multi_function().
|
static |
Definition at line 348 of file node_tree_ref.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), BLI_listbase_is_empty(), create_identifier_map(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup_or_add_cb(), map, node, and NODE_REROUTE.
const NodeTreeRef & blender::nodes::get_tree_ref_from_map | ( | NodeTreeRefMap & | node_tree_refs, |
bNodeTree & | btree | ||
) |
Definition at line 659 of file node_tree_ref.cc.
|
static |
Definition at line 413 of file node_tree_ref.cc.
References blender::nodes::InputSocketRef::directly_linked_sockets(), node, and visited.
Referenced by blender::nodes::NodeTreeRef::has_link_cycles().
std::optional< eCustomDataType > blender::nodes::node_data_type_to_custom_data_type | ( | const eNodeSocketDatatype | type | ) |
Definition at line 17 of file node_geometry_util.cc.
References CD_PROP_BOOL, CD_PROP_COLOR, CD_PROP_FLOAT, CD_PROP_FLOAT3, CD_PROP_INT32, CD_PROP_STRING, SOCK_BOOLEAN, SOCK_FLOAT, SOCK_INT, SOCK_RGBA, SOCK_STRING, SOCK_VECTOR, and type.
Referenced by blender::nodes::node_geo_attribute_capture_cc::node_gather_link_searches(), blender::nodes::node_geo_field_at_index_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_interpolate_domain_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_transfer_attribute_cc::node_gather_link_searches(), and node_socket_to_custom_data_type().
std::optional< eCustomDataType > blender::nodes::node_socket_to_custom_data_type | ( | const bNodeSocket & | socket | ) |
Definition at line 37 of file node_geometry_util.cc.
References node_data_type_to_custom_data_type(), and bNodeSocket::type.
Referenced by blender::nodes::node_geo_viewer_cc::node_gather_link_searches().
|
inline |
Definition at line 288 of file NOD_derived_node_tree.hh.
|
inline |
Definition at line 365 of file NOD_derived_node_tree.hh.
|
inline |
Definition at line 380 of file NOD_node_declaration.hh.
References Freestyle::a, and usdtokens::b().
|
inline |
Definition at line 364 of file NOD_node_declaration.hh.
References Freestyle::a, and usdtokens::b().
Definition at line 283 of file NOD_derived_node_tree.hh.
Definition at line 360 of file NOD_derived_node_tree.hh.
|
inline |
Definition at line 375 of file NOD_node_declaration.hh.
References Freestyle::a, and usdtokens::b().
|
inline |
Definition at line 359 of file NOD_node_declaration.hh.
void blender::nodes::search_link_ops_for_basic_node | ( | GatherLinkSearchOpParams & | params | ) |
This callback can be used for a node type when a few things are true about its inputs. To avoid creating more boilerplate, it is the default callback for node types.
If a node type does not meet these criteria, the function will do nothing in a release build. In a debug build, an assert will most likely be hit.
Definition at line 164 of file socket_search_link.cc.
References BLI_assert_unreachable, bNodeType::declaration_is_dynamic, bNodeType::declare, bNodeType::fixed_declaration, bNodeType::inputs, bNodeType::outputs, params, search_link_ops_for_declarations(), search_link_ops_for_socket_templates(), SOCK_IN, SOCK_OUT, and blender::nodes::NodeDeclaration::sockets().
Referenced by cmp_node_type_base(), fn_node_type_base(), geo_node_type_base(), sh_fn_node_type_base(), and sh_node_type_base().
void blender::nodes::search_link_ops_for_declarations | ( | GatherLinkSearchOpParams & | params, |
Span< SocketDeclarationPtr > | declarations | ||
) |
Definition at line 83 of file socket_search_link.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::StringRefNull::c_str(), blender::nodes::SocketDeclaration::can_connect(), IFACE_, blender::Span< T >::index_range(), blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::nodes::SocketDeclaration::is_default_link_socket(), blender::nodes::SocketDeclaration::make_available(), blender::nodes::SocketDeclaration::name(), node, and params.
Referenced by blender::nodes::node_fn_random_value_cc::fn_node_random_value_gather_link_search(), blender::nodes::node_geo_attribute_capture_cc::node_gather_link_searches(), blender::nodes::node_geo_attribute_statistic_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_primitive_quadrilateral_cc::node_gather_link_searches(), blender::nodes::node_geo_curve_trim_cc::node_gather_link_searches(), blender::nodes::node_geo_field_at_index_cc::node_gather_link_searches(), blender::nodes::node_geo_input_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_mesh_primitive_line_cc::node_gather_link_searches(), blender::nodes::node_geo_raycast_cc::node_gather_link_searches(), blender::nodes::node_geo_store_named_attribute_cc::node_gather_link_searches(), blender::nodes::node_geo_transfer_attribute_cc::node_gather_link_searches(), blender::nodes::node_shader_tex_sky_cc::node_gather_link_searches(), and search_link_ops_for_basic_node().
|
static |
Definition at line 128 of file socket_search_link.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), from, params, SOCK_IN, swap(), bNodeSocketTemplate::type, and bNodeTreeType::validate_link.
Referenced by search_link_ops_for_basic_node().
void blender::nodes::separate_geometry | ( | GeometrySet & | geometry_set, |
eAttrDomain | domain, | ||
GeometryNodeDeleteGeometryMode | mode, | ||
const Field< bool > & | selection_field, | ||
bool & | r_is_error | ||
) |
Returns the parts of the geometry that are on the selection for the given domain. If the domain is not applicable for the component, e.g. face domain for point cloud, nothing happens to that component. If no component can work with the domain, then error_message
is set to true.
Definition at line 1089 of file node_geo_delete_geometry.cc.
References ATTR_DOMAIN_CORNER, ATTR_DOMAIN_CURVE, ATTR_DOMAIN_EDGE, ATTR_DOMAIN_FACE, ATTR_DOMAIN_INSTANCE, ATTR_DOMAIN_POINT, blender::nodes::node_geo_delete_geometry_cc::delete_curves_selection(), blender::nodes::node_geo_delete_geometry_cc::delete_selected_instances(), ELEM, GeometrySet::has_curves(), GeometrySet::has_instances(), GeometrySet::has_mesh(), GeometrySet::has_pointcloud(), GeometrySet::has_realized_data(), blender::fn::invert_boolean_field(), blender::nodes::node_geo_delete_geometry_cc::separate_mesh_selection(), and blender::nodes::node_geo_delete_geometry_cc::separate_point_cloud_selection().
Referenced by blender::nodes::node_geo_delete_geometry_cc::node_geo_exec(), and blender::nodes::node_geo_separate_geometry_cc::node_geo_exec().
|
static |
Definition at line 509 of file node_tree_ref.cc.
References blender::nodes::SocketRef::directly_linked_sockets(), blender::nodes::NodeRef::id(), blender::nodes::ToposortNodeState::is_done, blender::Stack< T, InlineBufferCapacity, Allocator >::is_empty(), blender::nodes::ToposortNodeState::is_in_stack, blender::nodes::NodeTreeRef::LeftToRight, node, blender::nodes::SocketRef::node(), blender::Stack< T, InlineBufferCapacity, Allocator >::peek(), blender::Stack< T, InlineBufferCapacity, Allocator >::pop(), blender::Stack< T, InlineBufferCapacity, Allocator >::push(), result, blender::Span< T >::size(), SOCK_IN, and SOCK_OUT.
Referenced by blender::nodes::NodeTreeRef::toposort().
|
static |
Definition at line 143 of file node_geo_transform.cc.
References copy_m3_m4(), blender::bke::CurvesEditHints::curves_id_orig, blender::bke::CurvesEditHints::deform_mats, Curves::geometry, CurvesGeometry::point_num, pos, blender::bke::CurvesEditHints::positions, transform(), and blender::float3x3::values.
Referenced by transform_geometry_set().
void blender::nodes::transform_geometry_set | ( | GeoNodeExecParams & | params, |
GeometrySet & | geometry, | ||
const float4x4 & | transform, | ||
const Depsgraph & | depsgraph | ||
) |
Definition at line 196 of file node_geo_transform.cc.
References curves, depsgraph, GeometrySet::get_component_for_write(), GeometrySet::get_curve_edit_hints_for_write(), GeometrySet::get_curves_for_write(), GeometrySet::get_mesh_for_write(), GeometrySet::get_pointcloud_for_write(), GeometrySet::get_volume_for_write(), GeometrySet::has_instances(), mesh, params, transform(), blender::bke::CurvesGeometry::transform(), transform_curve_edit_hints(), transform_instances(), transform_mesh(), transform_pointcloud(), transform_volume(), and blender::bke::CurvesGeometry::wrap().
Referenced by blender::nodes::node_geo_object_info_cc::node_geo_exec(), and blender::nodes::node_geo_transform_cc::node_geo_exec().
|
static |
Definition at line 78 of file node_geo_transform.cc.
References InstancesComponent::instance_transforms(), and transform().
Referenced by transform_geometry_set().
void blender::nodes::transform_mesh | ( | Mesh & | mesh, |
const float3 | translation, | ||
const float3 | rotation, | ||
const float3 | scale | ||
) |
Definition at line 221 of file node_geo_transform.cc.
References blender::float4x4::from_loc_eul_scale(), and mesh.
Referenced by blender::nodes::node_geo_mesh_primitive_cube_cc::create_cube_mesh(), blender::nodes::node_geo_bounding_box_cc::node_geo_exec(), and transform_geometry_set().
Definition at line 43 of file node_geo_transform.cc.
References BKE_mesh_transform(), mesh, and transform().
|
static |
Definition at line 59 of file node_geo_transform.cc.
References ATTR_DOMAIN_POINT, blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::pointcloud_attributes_for_write(), blender::bke::SpanAttributeWriter< T >::span, and transform().
Referenced by transform_geometry_set().
|
static |
Definition at line 86 of file node_geo_transform.cc.
References BKE_volume_grid_determinant_valid(), BKE_volume_grid_get_for_write(), BKE_volume_grid_transform_matrix(), BKE_volume_grid_transform_matrix_set(), BKE_volume_load(), BKE_volume_num_grids(), copy_v3_fl3(), DEG_get_bmain(), depsgraph, determinant(), determinant_m4(), mul_m4_m4_pre(), normalize_v3(), params, TIP_, transform(), UNUSED_VARS, and blender::float4x4::values.
Referenced by transform_geometry_set(), and translate_volume().
|
static |
Definition at line 162 of file node_geo_transform.cc.
References pos, and blender::bke::CurvesEditHints::positions.
Referenced by translate_geometry_set().
|
static |
Definition at line 171 of file node_geo_transform.cc.
References curves, depsgraph, GeometrySet::get_component_for_write(), GeometrySet::get_curve_edit_hints_for_write(), GeometrySet::get_curves_for_write(), GeometrySet::get_mesh_for_write(), GeometrySet::get_pointcloud_for_write(), GeometrySet::get_volume_for_write(), GeometrySet::has_instances(), mesh, params, blender::bke::CurvesGeometry::translate(), translate_curve_edit_hints(), translate_instances(), translate_mesh(), translate_pointcloud(), translate_volume(), and blender::bke::CurvesGeometry::wrap().
Referenced by blender::nodes::node_geo_transform_cc::node_geo_exec().
|
static |
Definition at line 70 of file node_geo_transform.cc.
References add_v3_v3(), InstancesComponent::instance_transforms(), and transform().
Referenced by translate_geometry_set().
Definition at line 36 of file node_geo_transform.cc.
References BKE_mesh_translate(), blender::math::is_zero(), and mesh.
Referenced by translate_geometry_set().
|
static |
Definition at line 48 of file node_geo_transform.cc.
References ATTR_DOMAIN_POINT, blender::bke::SpanAttributeWriter< T >::finish(), blender::bke::MutableAttributeAccessor::lookup_or_add_for_write_span(), blender::bke::pointcloud_attributes_for_write(), and blender::bke::SpanAttributeWriter< T >::span.
Referenced by translate_geometry_set().
|
static |
Definition at line 135 of file node_geo_transform.cc.
References depsgraph, blender::float4x4::from_location(), params, and transform_volume().
Referenced by translate_geometry_set().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 295 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), Freestyle::c, callback, faceforward(), get_float3_math_operation_info(), NODE_VECTOR_MATH_FACEFORWARD, NODE_VECTOR_MATH_MULTIPLY_ADD, NODE_VECTOR_MATH_WRAP, and wrapf().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 334 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), Freestyle::c, callback, get_float3_math_operation_info(), NODE_VECTOR_MATH_REFRACT, blender::math::normalize(), and refract().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 262 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), callback, blender::math::distance(), blender::math::dot(), get_float3_math_operation_info(), NODE_VECTOR_MATH_DISTANCE, and NODE_VECTOR_MATH_DOT_PRODUCT.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 207 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), callback, blender::math::cross_high_precision(), blender::math::floor(), get_float3_math_operation_info(), max, min, mod(), NODE_VECTOR_MATH_ADD, NODE_VECTOR_MATH_CROSS_PRODUCT, NODE_VECTOR_MATH_DIVIDE, NODE_VECTOR_MATH_MAXIMUM, NODE_VECTOR_MATH_MINIMUM, NODE_VECTOR_MATH_MODULO, NODE_VECTOR_MATH_MULTIPLY, NODE_VECTOR_MATH_PROJECT, NODE_VECTOR_MATH_REFLECT, NODE_VECTOR_MATH_SNAP, NODE_VECTOR_MATH_SUBTRACT, blender::math::normalize(), blender::math::project(), reflect(), and blender::math::safe_divide().
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 397 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), callback, get_float3_math_operation_info(), and NODE_VECTOR_MATH_SCALE.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 366 of file NOD_math_functions.hh.
References callback, get_float3_math_operation_info(), blender::math::length(), and NODE_VECTOR_MATH_LENGTH.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 426 of file NOD_math_functions.hh.
References blender::math::abs(), callback, ceil(), cosf, blender::math::floor(), fract(), get_float3_math_operation_info(), NODE_VECTOR_MATH_ABSOLUTE, NODE_VECTOR_MATH_CEIL, NODE_VECTOR_MATH_COSINE, NODE_VECTOR_MATH_FLOOR, NODE_VECTOR_MATH_FRACTION, NODE_VECTOR_MATH_NORMALIZE, NODE_VECTOR_MATH_SINE, NODE_VECTOR_MATH_TANGENT, blender::math::normalize(), sinf, and tanf.
Referenced by blender::nodes::node_shader_vector_math_cc::get_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 168 of file NOD_math_functions.hh.
References Freestyle::a, usdtokens::b(), Freestyle::c, callback, fabsf, fmaxf, get_float_math_operation_info(), NODE_MATH_COMPARE, NODE_MATH_MULTIPLY_ADD, NODE_MATH_SMOOTH_MAX, NODE_MATH_SMOOTH_MIN, NODE_MATH_WRAP, smoothminf(), and wrapf().
Referenced by blender::nodes::node_shader_math_cc::get_base_multi_function().
|
inline |
This is similar to try_dispatch_float_math_fl_to_fl, just with a different callback signature.
Definition at line 114 of file NOD_math_functions.hh.
References Freestyle::a, atan2f, usdtokens::b(), callback, floorf, get_float_math_operation_info(), max, min, NODE_MATH_ADD, NODE_MATH_ARCTAN2, NODE_MATH_DIVIDE, NODE_MATH_GREATER_THAN, NODE_MATH_LESS_THAN, NODE_MATH_LOGARITHM, NODE_MATH_MAXIMUM, NODE_MATH_MINIMUM, NODE_MATH_MODULO, NODE_MATH_MULTIPLY, NODE_MATH_PINGPONG, NODE_MATH_POWER, NODE_MATH_SNAP, NODE_MATH_SUBTRACT, pingpongf(), blender::math::safe_divide(), safe_logf(), safe_modf(), and safe_powf().
Referenced by blender::nodes::node_shader_math_cc::get_base_multi_function().
|
inline |
This calls the callback
with two arguments:
The math function that is passed to the callback is actually a lambda function that is different for every operation. Therefore, if the callback is templated on the math function, it will get instantiated for every operation separately. This has two benefits:
If separate instantiations are not desired, the callback can also take a function pointer with the following signature as input instead: float (*math_function)(float a).
Definition at line 47 of file NOD_math_functions.hh.
References Freestyle::a, atanf, callback, ceilf, compatible_signf(), cosf, coshf, DEG2RAD, expf, fabs(), floorf, get_float_math_operation_info(), NODE_MATH_ABSOLUTE, NODE_MATH_ARCCOSINE, NODE_MATH_ARCSINE, NODE_MATH_ARCTANGENT, NODE_MATH_CEIL, NODE_MATH_COSH, NODE_MATH_COSINE, NODE_MATH_DEGREES, NODE_MATH_EXPONENT, NODE_MATH_FLOOR, NODE_MATH_FRACTION, NODE_MATH_INV_SQRT, NODE_MATH_RADIANS, NODE_MATH_ROUND, NODE_MATH_SIGN, NODE_MATH_SINE, NODE_MATH_SINH, NODE_MATH_SQRT, NODE_MATH_TANGENT, NODE_MATH_TANH, NODE_MATH_TRUNC, RAD2DEG, safe_acosf(), safe_asinf(), safe_inverse_sqrtf(), safe_sqrtf(), sinf, sinhf, tanf, and tanhf.
Referenced by blender::nodes::node_shader_math_cc::get_base_multi_function().
Definition at line 24 of file node_geo_transform.cc.
References compare_ff(), and blender::math::length_squared().
Referenced by blender::nodes::node_geo_transform_cc::node_geo_exec().