Cleanup: Geometry Nodes: remove legacy type from socket item accessor
The use of legacy types is discouraged and it's easy to use the node idname in all cases here. Pull Request: https://projects.blender.org/blender/blender/pulls/138858
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
|
||||
namespace blender::nodes::socket_items::ops {
|
||||
|
||||
inline PointerRNA get_active_node_to_operate_on(bContext *C, const int node_type)
|
||||
inline PointerRNA get_active_node_to_operate_on(bContext *C, const StringRef node_idname)
|
||||
{
|
||||
SpaceNode *snode = CTX_wm_space_node(C);
|
||||
if (!snode) {
|
||||
@@ -50,7 +50,7 @@ inline PointerRNA get_active_node_to_operate_on(bContext *C, const int node_type
|
||||
active_node = const_cast<bNode *>(zone->output_node);
|
||||
}
|
||||
}
|
||||
if (active_node->type_legacy != node_type) {
|
||||
if (active_node->idname != node_idname) {
|
||||
return PointerRNA_NULL;
|
||||
}
|
||||
return RNA_pointer_create_discrete(&snode->edittree->id, &RNA_Node, active_node);
|
||||
@@ -68,7 +68,7 @@ inline void update_after_node_change(bContext *C, const PointerRNA node_ptr)
|
||||
|
||||
template<typename Accessor> inline bool editable_node_active_poll(bContext *C)
|
||||
{
|
||||
return get_active_node_to_operate_on(C, Accessor::node_type).data != nullptr;
|
||||
return get_active_node_to_operate_on(C, Accessor::node_idname).data != nullptr;
|
||||
}
|
||||
|
||||
template<typename Accessor>
|
||||
@@ -83,7 +83,7 @@ inline void remove_active_item(wmOperatorType *ot,
|
||||
ot->poll = editable_node_active_poll<Accessor>;
|
||||
|
||||
ot->exec = [](bContext *C, wmOperator * /*op*/) -> wmOperatorStatus {
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_type);
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_idname);
|
||||
bNode &node = *static_cast<bNode *>(node_ptr.data);
|
||||
SocketItemsRef ref = Accessor::get_items_from_node(node);
|
||||
if (*ref.items_num > 0) {
|
||||
@@ -107,7 +107,7 @@ inline void remove_item_by_index(wmOperatorType *ot,
|
||||
ot->poll = editable_node_active_poll<Accessor>;
|
||||
|
||||
ot->exec = [](bContext *C, wmOperator *op) -> wmOperatorStatus {
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_type);
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_idname);
|
||||
bNode &node = *static_cast<bNode *>(node_ptr.data);
|
||||
const int index_to_remove = RNA_int_get(op->ptr, "index");
|
||||
SocketItemsRef ref = Accessor::get_items_from_node(node);
|
||||
@@ -133,7 +133,7 @@ inline void add_item(wmOperatorType *ot,
|
||||
ot->poll = editable_node_active_poll<Accessor>;
|
||||
|
||||
ot->exec = [](bContext *C, wmOperator * /*op*/) -> wmOperatorStatus {
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_type);
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_idname);
|
||||
bNode &node = *static_cast<bNode *>(node_ptr.data);
|
||||
SocketItemsRef ref = Accessor::get_items_from_node(node);
|
||||
const typename Accessor::ItemT *active_item = nullptr;
|
||||
@@ -192,7 +192,7 @@ inline void move_active_item(wmOperatorType *ot,
|
||||
ot->poll = editable_node_active_poll<Accessor>;
|
||||
|
||||
ot->exec = [](bContext *C, wmOperator *op) -> wmOperatorStatus {
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_type);
|
||||
PointerRNA node_ptr = get_active_node_to_operate_on(C, Accessor::node_idname);
|
||||
bNode &node = *static_cast<bNode *>(node_ptr.data);
|
||||
const MoveDirection direction = MoveDirection(RNA_enum_get(op->ptr, "direction"));
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ static void draw_items_list_with_operators(const bContext *C,
|
||||
const bNodeTree &tree,
|
||||
const bNode &node)
|
||||
{
|
||||
BLI_assert(Accessor::node_type == node.type_legacy);
|
||||
BLI_assert(Accessor::node_idname == node.idname);
|
||||
PointerRNA node_ptr = RNA_pointer_create_discrete(
|
||||
const_cast<ID *>(&tree.id), &RNA_Node, const_cast<bNode *>(&node));
|
||||
|
||||
@@ -103,7 +103,7 @@ static void draw_active_item_props(const bNodeTree &tree,
|
||||
const FunctionRef<void(PointerRNA *item_ptr)> draw_item)
|
||||
{
|
||||
using ItemT = typename Accessor::ItemT;
|
||||
BLI_assert(Accessor::node_type == node.type_legacy);
|
||||
BLI_assert(Accessor::node_idname == node.idname);
|
||||
|
||||
SocketItemsRef<ItemT> ref = Accessor::get_items_from_node(const_cast<bNode &>(node));
|
||||
if (*ref.active_index < 0) {
|
||||
|
||||
@@ -296,7 +296,6 @@ NOD_REGISTER_NODE(node_register)
|
||||
namespace blender::nodes {
|
||||
|
||||
StructRNA *CaptureAttributeItemsAccessor::item_srna = &RNA_NodeGeometryCaptureAttributeItem;
|
||||
int CaptureAttributeItemsAccessor::node_type = GEO_NODE_CAPTURE_ATTRIBUTE;
|
||||
|
||||
void CaptureAttributeItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -924,7 +924,6 @@ std::unique_ptr<LazyFunction> get_bake_lazy_function(
|
||||
}
|
||||
|
||||
StructRNA *BakeItemsAccessor::item_srna = &RNA_NodeGeometryBakeItem;
|
||||
int BakeItemsAccessor::node_type = GEO_NODE_BAKE;
|
||||
|
||||
void BakeItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -315,7 +315,6 @@ NOD_REGISTER_NODE(node_register)
|
||||
namespace blender::nodes {
|
||||
|
||||
StructRNA *ClosureInputItemsAccessor::item_srna = &RNA_NodeGeometryClosureInputItem;
|
||||
int ClosureInputItemsAccessor::node_type = GEO_NODE_CLOSURE_OUTPUT;
|
||||
|
||||
void ClosureInputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
@@ -328,7 +327,6 @@ void ClosureInputItemsAccessor::blend_read_data_item(BlendDataReader *reader, It
|
||||
}
|
||||
|
||||
StructRNA *ClosureOutputItemsAccessor::item_srna = &RNA_NodeGeometryClosureOutputItem;
|
||||
int ClosureOutputItemsAccessor::node_type = GEO_NODE_CLOSURE_OUTPUT;
|
||||
|
||||
void ClosureOutputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -153,7 +153,6 @@ NOD_REGISTER_NODE(node_register)
|
||||
namespace blender::nodes {
|
||||
|
||||
StructRNA *CombineBundleItemsAccessor::item_srna = &RNA_NodeGeometryCombineBundleItem;
|
||||
int CombineBundleItemsAccessor::node_type = GEO_NODE_COMBINE_BUNDLE;
|
||||
|
||||
void CombineBundleItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -153,7 +153,6 @@ namespace blender::nodes {
|
||||
|
||||
StructRNA *EvaluateClosureInputItemsAccessor::item_srna =
|
||||
&RNA_NodeGeometryEvaluateClosureInputItem;
|
||||
int EvaluateClosureInputItemsAccessor::node_type = GEO_NODE_EVALUATE_CLOSURE;
|
||||
|
||||
void EvaluateClosureInputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
@@ -167,7 +166,6 @@ void EvaluateClosureInputItemsAccessor::blend_read_data_item(BlendDataReader *re
|
||||
|
||||
StructRNA *EvaluateClosureOutputItemsAccessor::item_srna =
|
||||
&RNA_NodeGeometryEvaluateClosureOutputItem;
|
||||
int EvaluateClosureOutputItemsAccessor::node_type = GEO_NODE_EVALUATE_CLOSURE;
|
||||
|
||||
void EvaluateClosureOutputItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -469,7 +469,6 @@ namespace blender::nodes {
|
||||
|
||||
StructRNA *ForeachGeometryElementInputItemsAccessor::item_srna =
|
||||
&RNA_ForeachGeometryElementInputItem;
|
||||
int ForeachGeometryElementInputItemsAccessor::node_type = GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT;
|
||||
|
||||
void ForeachGeometryElementInputItemsAccessor::blend_write_item(BlendWriter *writer,
|
||||
const ItemT &item)
|
||||
@@ -485,7 +484,6 @@ void ForeachGeometryElementInputItemsAccessor::blend_read_data_item(BlendDataRea
|
||||
|
||||
StructRNA *ForeachGeometryElementMainItemsAccessor::item_srna =
|
||||
&RNA_ForeachGeometryElementMainItem;
|
||||
int ForeachGeometryElementMainItemsAccessor::node_type = GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT;
|
||||
|
||||
void ForeachGeometryElementMainItemsAccessor::blend_write_item(BlendWriter *writer,
|
||||
const ItemT &item)
|
||||
@@ -501,8 +499,6 @@ void ForeachGeometryElementMainItemsAccessor::blend_read_data_item(BlendDataRead
|
||||
|
||||
StructRNA *ForeachGeometryElementGenerationItemsAccessor::item_srna =
|
||||
&RNA_ForeachGeometryElementGenerationItem;
|
||||
int ForeachGeometryElementGenerationItemsAccessor::node_type =
|
||||
GEO_NODE_FOREACH_GEOMETRY_ELEMENT_OUTPUT;
|
||||
|
||||
void ForeachGeometryElementGenerationItemsAccessor::blend_write_item(BlendWriter *writer,
|
||||
const ItemT &item)
|
||||
|
||||
@@ -435,7 +435,6 @@ std::unique_ptr<LazyFunction> get_index_switch_node_lazy_function(
|
||||
}
|
||||
|
||||
StructRNA *IndexSwitchItemsAccessor::item_srna = &RNA_IndexSwitchItem;
|
||||
int IndexSwitchItemsAccessor::node_type = GEO_NODE_INDEX_SWITCH;
|
||||
|
||||
void IndexSwitchItemsAccessor::blend_write_item(BlendWriter * /*writer*/, const ItemT & /*item*/)
|
||||
{
|
||||
|
||||
@@ -479,7 +479,6 @@ std::unique_ptr<LazyFunction> get_menu_switch_node_socket_usage_lazy_function(co
|
||||
}
|
||||
|
||||
StructRNA *MenuSwitchItemsAccessor::item_srna = &RNA_NodeEnumItem;
|
||||
int MenuSwitchItemsAccessor::node_type = GEO_NODE_MENU_SWITCH;
|
||||
|
||||
void MenuSwitchItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -296,7 +296,6 @@ NOD_REGISTER_NODE(node_register)
|
||||
namespace blender::nodes {
|
||||
|
||||
StructRNA *RepeatItemsAccessor::item_srna = &RNA_RepeatItem;
|
||||
int RepeatItemsAccessor::node_type = GEO_NODE_REPEAT_OUTPUT;
|
||||
|
||||
void RepeatItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -170,7 +170,6 @@ NOD_REGISTER_NODE(node_register)
|
||||
namespace blender::nodes {
|
||||
|
||||
StructRNA *SeparateBundleItemsAccessor::item_srna = &RNA_NodeGeometrySeparateBundleItem;
|
||||
int SeparateBundleItemsAccessor::node_type = GEO_NODE_SEPARATE_BUNDLE;
|
||||
|
||||
void SeparateBundleItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
@@ -992,7 +992,6 @@ void mix_baked_data_item(const eNodeSocketDatatype socket_type,
|
||||
}
|
||||
|
||||
StructRNA *SimulationItemsAccessor::item_srna = &RNA_SimulationStateItem;
|
||||
int SimulationItemsAccessor::node_type = GEO_NODE_SIMULATION_OUTPUT;
|
||||
|
||||
void SimulationItemsAccessor::blend_write_item(BlendWriter *writer, const ItemT &item)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user