Geometry Nodes: Node group operators initial phase #108947

Merged
Hans Goudey merged 72 commits from node-group-operators into main 2023-06-29 13:58:01 +02:00
2 changed files with 15 additions and 0 deletions
Showing only changes of commit 96e8f8a002 - Show all commits

View File

@ -65,6 +65,12 @@ static int run_node_group_exec(bContext *C, wmOperator *op)
Object **objects = BKE_view_layer_array_from_objects_in_mode_unique_data(
scene, view_layer, CTX_wm_view3d(C), &objects_len, mode);
for (Object *object : Span(objects, objects_len)) {
Curves &curves = *static_cast<Curves *>(object->data);
GeometrySet geometry_set = GeometrySet::create_with_curves(&curves,
GeometryOwnershipType::Editable);
}
return OPERATOR_FINISHED;
}

View File

@ -59,6 +59,11 @@ struct GeoNodesModifierData {
const Set<ComputeContextHash> *socket_log_contexts = nullptr;
};
struct GeoNodesOperatorData {
/** The object currently effected by the operator. */
const Object *self_object = nullptr;
};
/**
* Custom user data that is passed to every geometry nodes related lazy-function evaluation.
*/
@ -67,6 +72,10 @@ struct GeoNodesLFUserData : public lf::UserData {
* Data from the modifier that is being evaluated.
*/
GeoNodesModifierData *modifier_data = nullptr;
/**
*
*/
GeoNodesOperatorData *operator_data = nullptr;
/**
* Current compute context. This is different depending in the (nested) node group that is being
* evaluated.