Bug Report get_geo_properties_from_expression outputs incorrect results when component is empty

Bug Report get_geo_properties_from_expression outputs incorrect results when component is empty

leawa
Explorer Explorer
242 Views
2 Replies
Message 1 of 3

Bug Report get_geo_properties_from_expression outputs incorrect results when component is empty

leawa
Explorer
Explorer

bug.JPG

Product: Autodesk Maya

Component: Bifrost 

Summary: The get_geo_properties_from_expression node produces incorrect outputs when property_expression = "*", component =""(empty)

Steps to Reproduce:
1. Create a new Bifrost Graph.
2. Add a create_mesh_plane node.
3. Connect its geometry output to the geometry input of a get_geo_properties_from_expression node.
4. Set the following on get_geo_properties_from_expression:
    property_expression = "*"
    component = ""
5. And the output ports are all incorrect

 

In the get_geo_properties_from_expression/property_matches_target
check_target node
check_indices node
if object no target or indices property exist these queries return empty strings.
the condition target == component or indices == component returns true, which is logically incorrect — they are both empty due to absence, not due to a valid match.

 

Suggested Fix:
Component's input box that is set to empty
should be treated as "no restriction".

0 Likes
243 Views
2 Replies
Replies (2)
Message 2 of 3

happymoodhub
Community Visitor
Community Visitor

@leawa

  • Leave component input unconnected instead of empty string.
  • Or explicitly handle null cases in custom logic.
  • Watch how check_target and check_indices behave when both fields are blank — not safe by default.
  • if error still not solve, then download any tecnician app from happymod app that helps
0 Likes
Message 3 of 3

stephen.yee
Autodesk
Autodesk

Hi leawa,

 

Thanks for reporting this!

 

I've logged BIFROST-12701 on your behalf to fix this. 

 

At some point we may extend the node to take an expression for the component type, but for now, its interpreted as a single value, so in the case of an empty string, it should produce empty outputs, as nothing should match.  

 

 

0 Likes