Commit Graph

122 Commits

Author SHA1 Message Date
kriss gossart
4d9b9a5a02 Chaos Cloth Asset:
- Made the selection node take a group name as a selection type.
- Changed the selection facade schema to allow for group dependency to the selected index sets.
- Added group dependency to the selection attributes.
- Added a detail customization to allow for choosing the selection group from the collection being processed by the selection node.
- Added Dataflow OnSelected and OnDeselected callback methods to allow for custom processing when a toolkit changes the node selection, without having to disrupt the const evaluation of the nodes.
- Changed the order of operations in SDataflowGraphEditor::OnSelectedNodesChanged() to allow for the nodes to refresh their UI before the selection is actually changed.
- Added a group index dependency getter to the managed array collection.

#rb Alex.McAdams, Cedric.Caillaud
#jira none
#rnx

[CL 28184224 by kriss gossart in ue5-main branch]
2023-09-25 08:03:05 -04:00
jimmy andrews
1d6c8f72cc Clarify dataflow selection set operations and add a non-symmetric difference op
#rb cedric.caillaud

[CL 27411147 by jimmy andrews in ue5-main branch]
2023-08-28 10:48:39 -04:00
gustav melich
1d5210fef4 Dataflow:
- Fixed: Crash when attempting to Duplicate Node in Dataflow Graph

#rb Brice.Criswell, Cedric.Caillaud, Alex.McAdams
#jira UE-192168
#jira UE-188388

[CL 27295320 by gustav melich in ue5-main branch]
2023-08-22 21:12:38 -04:00
Alex McAdams
404434d1bd Update how RemoveOptionPin works for Dataflow nodes. These are currently only used by a couple of cloth nodes.
The problem was that we weren't updating the FDataflowNode's connection data that the connection was broken. This would eventually cause a crash because the connection data was deleted, but there were still pointers hanging around with them.This was fixed by calling BreakAllPinLinks with bNotifyNodes = true inside UDataflowEdNode::RemoveOptionPin and then deleting the pin AFTER breaking the link. I did the latter by breaking the RemovePin method into two methods, a const method GetPinToRemove which just returns which pin (if any) to remove, and a non-const method OnPinRemoved which will clean up the DataflowNode's connection.

Note that I did not update the way AddOptionPin works because getting the data required to create the input is easiest in one call to the derived node, rather than splitting. Also there is no existing callback for OnPinAdded at the ed graph level.

#rb kriss.gossart cedric.caillaud

[CL 27281487 by Alex McAdams in ue5-main branch]
2023-08-22 14:58:58 -04:00
kriss gossart
7d7070f17a Chaos Cloth - Added a basic Dataflow node color scheme.
#rb Tyson.Brochu
#rnx

[CL 26543815 by kriss gossart in ue5-main branch]
2023-07-24 11:33:29 -04:00
kriss gossart
79c1b1f02f Dataflow:
- Added support for structs' child properties as inputs/outputs using property chains.
- Updated the property offset calculations to work with any properties from a struct property hierarchy.
- Replaced all TFieldIterator<FProperty> with FPropertyValueIterator to iterate through the property hierarchies.
- Made the FDataflowConnection and FContextCacheElementproperty pointers const to allow use with the FPropertyValueIterator API.
- Renamed FDataflowOutput::SetPassthroughOffsetAddress() to SetPassthroughOffset to prevent confusion with property addresses and offsets.

#rb Brice.Criswell
#rnx

[CL 26341658 by kriss gossart in ue5-main branch]
2023-06-30 07:57:13 -04:00
henrik karlsson
5db685f97d [Engine]
* Moved dllexport from type to methods/staticvar in all Engine runtime code. This improves compile times, memory and performance in dll builds

[CL 26082269 by henrik karlsson in ue5-main branch]
2023-06-17 18:13:06 -04:00
henrik karlsson
b8482b44dd [Engine]
* Changed type dllexport to method/staticvar dll export. Various changes for code that upgrade script get wrong

[CL 26082043 by henrik karlsson in ue5-main branch]
2023-06-17 16:57:38 -04:00
kriss gossart
962c2830ea Dataflow:
- Allows for setting output values with move semantic to avoid uncessary copies.
- Update existing nodes SetValues with MoveTemp whenever possible.

#rb Brice.Criswell
#jira none
#rnx

[CL 25974343 by kriss gossart in ue5-main branch]
2023-06-14 07:02:48 -04:00
gustav melich
b874950826 Dataflow:
- implemented Duplicate for nodes and comments
- bug fixes

#rb Brice.Criswell, Cedric.Caillaud
[FYI] Jack.Oakman

[CL 25860911 by gustav melich in ue5-main branch]
2023-06-07 18:31:30 -04:00
jimmy andrews
42260a658d fix crash on dataflow validation when output connection is not registered
#rb cedric.caillaud, brice.criswell
#preflight 64781e567f02573726d053e8

[CL 25736297 by jimmy andrews in ue5-main branch]
2023-06-01 15:16:31 -04:00
gustav melich
6e6b15419a Dataflow:
- Updated GetDefaultValue() to handle int32, float special cases

#rb Brice.Criswell, Cedric.Caillaud
#preflight 6464f64afa4cf4165143b76d

[CL 25515090 by gustav melich in ue5-main branch]
2023-05-17 16:03:25 -04:00
kriss gossart
869526c109 Dataflow - Remove from the node tooltips all properties documentations that are not declared as Dataflowinputs or outputs, in order to prevent a large wall of text showing/blinking on screen when moving the mouse other the graph.
#rb Cedric.Caillaud
#preflight 6463bab1317ee2d9d1b9f4c6
#jira none
#rnx

[CL 25504332 by kriss gossart in ue5-main branch]
2023-05-17 06:18:51 -04:00
cedric caillaud
bc39a425bd Fix unity build from CL 25483372
#rb trivial
#preflight none

[CL 25494795 by cedric caillaud in ue5-main branch]
2023-05-16 15:23:41 -04:00
cedric caillaud
0a0f2b7a5f Add autowire to dataflow
[FYI] brice.criswell, jack.oakman
#preflight 6462c1203a76d5a5671e4fac

[CL 25494784 by cedric caillaud in ue5-main branch]
2023-05-16 15:23:23 -04:00
cedric caillaud
538112ae9e Dataflow : add extra outputs to override nodes
- Add IsOverriden and typed Default value
- Expose Geometry collection Overrides map to blueprint
- Change display name of a Overrides map to DataFlow Overrides

[FYI] jack,oakman, gustav.melich
#rb gustav.melich, brice.criswell
#preflight 645bfbbcaa3c584c0bf86746

[CL 25420151 by cedric caillaud in ue5-main branch]
2023-05-10 20:28:16 -04:00
cedric caillaud
2e6a07c611 Dataflow (Submitted on behalf of gustav.melich)
- Added GetFloatOverrideFromAsset, GetIntOverrideFromAsset, GetBoolOverrideFromAsset, GetStringOverrideFromAsset nodes
- Added 'Overrides' property to GC asset
- Added override node invalidation when 'Overrides' property gets changed on the asset
- bug fixes

[FYI] gustav.melich, jack.oakman
#rb Brice.Criswell, Cedric.Caillaud
#preflight 645aecf59f4768296389997d

[CL 25399653 by cedric caillaud in ue5-main branch]
2023-05-10 01:08:51 -04:00
cedric caillaud
2e1a84d685 Dataflow : add the concept of callstack to the context to allow detection of loops
#rb brice.criswell
#preflight 645436e44c3ec54e6e1116d6

[CL 25347011 by cedric caillaud in ue5-main branch]
2023-05-04 21:12:59 -04:00
cedric caillaud
57e1aa8a38 Dataflow : fix stack overflow in invalidation code when connecting nodes in a loop
#rb brice.criswell
#preflight 64540fd4ed7ffaa0f570de25

[CL 25344542 by cedric caillaud in ue5-main branch]
2023-05-04 18:35:20 -04:00
cedric caillaud
07cf1991b0 Dataflow : fix when evaluating dataflow terminal node from blueprint with a name that does not exists in the graph
#rb none
#preflight 64540b844574b81df4885fcc

[CL 25343940 by cedric caillaud in ue5-main branch]
2023-05-04 18:11:15 -04:00
jimmy andrews
642b322fe1 make dataflow pins use Display Name when available
+ fix dataflow pin tooltips

#rb brice.criswell, cedric.caillaud
#preflight 6452810dde5765212293df48

[CL 25325013 by jimmy andrews in ue5-main branch]
2023-05-03 16:21:32 -04:00
cedric caillaud
49a244e09b Proper fix input/output serialization for dataflow nodes to allow adding inputs and outputs
#rb kriss.gossart, brice.criswell
#jira none
#preflight 6446ccb5434155a8f8434f46

[CL 25168955 by cedric caillaud in ue5-main branch]
2023-04-24 15:04:08 -04:00
jamie dale
933348f856 Use the FMessageDialog overloads that pass the optional title by-value
#jira
#rb none
#rnx

[CL 25062589 by jamie dale in ue5-main branch]
2023-04-15 19:49:32 -04:00
jamie dale
3e0d3c2b5a No PCH build fix (Shipping)
#jira
#rb none
#rnx

[CL 25025443 by jamie dale in ue5-main branch]
2023-04-13 10:51:05 -04:00
cedric caillaud
1ccc60b64c dataflow : fix serialization to be able to laod nodes that have added outputs causing the index to be shifted during deserialization
This is hack to avoid using versioning for now, we should fix it properly in a near future by seperating the input and output serialization

#rb brice.criswell
#preflight 640980d98832f48a4def6afe

[CL 24587682 by cedric caillaud in ue5-main branch]
2023-03-09 22:52:39 -05:00