47 if (!position_attribute) {
58 for (
const int i : scale_span.index_range()) {
59 scale_span[i] = scale_span[i] +
data[i];
78 params.set_output(
"Geometry", std::move(geometry_set));
109 "NodeGeometryPointTranslate",
void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
void node_type_update(struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node))
#define GEO_NODE_POINT_TRANSLATE
void node_type_init(struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node))
#define NODE_CLASS_GEOMETRY
void node_type_storage(struct bNodeType *ntype, const char *storagename, void(*freefunc)(struct bNode *node), void(*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node))
void nodeRegisterType(struct bNodeType *ntype)
static uint8 component(Color32 c, uint i)
GeometryNodeAttributeInputMode
@ GEO_NODE_ATTRIBUTE_INPUT_VECTOR
void uiLayoutSetPropSep(uiLayout *layout, bool is_sep)
void uiItemR(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int flag, const char *name, int icon)
void uiLayoutSetPropDecorate(uiLayout *layout, bool is_sep)
void apply_span_and_save()
fn::GMutableSpan get_span()
void *(* MEM_callocN)(size_t len, const char *str)
GeometrySet geometry_set_realize_instances(const GeometrySet &geometry_set)
std::unique_ptr< ReadAttribute > ReadAttributePtr
static void geo_node_point_translate_update(bNodeTree *UNUSED(ntree), bNode *node)
static void geo_node_point_translate_init(bNodeTree *UNUSED(tree), bNode *node)
static void execute_on_component(const GeoNodeExecParams ¶ms, GeometryComponent &component)
void update_attribute_input_socket_availabilities(bNode &node, const StringRef name, const GeometryNodeAttributeInputMode mode, const bool name_is_available)
static void geo_node_point_translate_exec(GeoNodeExecParams params)
static bNodeSocketTemplate geo_node_point_translate_out[]
void register_node_type_geo_point_translate()
static bNodeSocketTemplate geo_node_point_translate_in[]
static void geo_node_point_translate_layout(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
void geo_node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag)
void node_copy_standard_storage(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
void node_free_standard_storage(bNode *node)
GeometryComponent & get_component_for_write(GeometryComponentType component_type)
bool has(const GeometryComponentType component_type) const
Compact definition of a node socket.
NodeGeometryExecFunction geometry_node_execute
void(* draw_buttons)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr)