Triggering a node DG Evaluation from a callback (C++ MPXNode)

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
So I'm doing a plugin getting a node from a message Attribute. I based the plugin structure on that one:
affectsNode I believe it was made by the guy on Around-The-Corner blog.
His method for dirtying the node simply didn't work on my end, oh sure the node got dirtied but if I'm constraining the object to another one (in other words there's no direct connection between the objects) the callback fires, the node gets dirtied but there's no DG evaluation triggering. Same thing when I open a file containing the node.
That's a big issue in my case and nothing made it work (I know the issue is not in the affectAttribute because if I change the dummy attribute value by hand everything evaluates as expected) .
It doesn't work using the MDGModifier::newPlugValue method, nor by executing a setAttr mel command with MDGModifier and the dgdirty command fails to execute at all.
My theorical workaround would be to put all my compute inside a plugdirty callback and then only set the output plug clean inside the compute. But if I could avoid it I would.
Is there really no way to trigger a DG evaluation from a callback?