26 for (
const int i : materials.index_range()) {
27 if (materials[i] == src_material) {
28 materials[i] = dst_material;
41 if (
Mesh *mesh = geometry_set.get_mesh_for_write()) {
44 if (
GreasePencil *grease_pencil = geometry_set.get_grease_pencil_for_write()) {
45 replace_materials({grease_pencil->material_array, grease_pencil->material_array_num},
51 params.set_output(
"Geometry", std::move(geometry_set));
Low-level operations for grease pencil.
#define NODE_CLASS_GEOMETRY
#define BLT_I18NCONTEXT_ID_MATERIAL
#define NOD_REGISTER_NODE(REGISTER_FUNC)
local_group_size(16, 16) .push_constant(Type b
void node_register_type(bNodeType *ntype)
static void node_register()
static void node_geo_exec(GeoNodeExecParams params)
static void replace_materials(MutableSpan< Material * > materials, Material *src_material, Material *dst_material)
static void node_declare(NodeDeclarationBuilder &b)
void geo_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
void modify_geometry_sets(ForeachSubGeometryCallback callback)
NodeGeometryExecFunction geometry_node_execute
NodeDeclareFunction declare