Commit Graph

168 Commits

Author SHA1 Message Date
michael forot
a3213e2828 Change Dataflow namespace to UE::Dataflow to be ok with coding standard
#rb Alex.McAdams, kriss.gossart

[CL 36755837 by michael forot in 5.5 branch]
2024-10-01 19:11:14 -04:00
cedric caillaud
b6d51a4c50 Dataflow: handle case where a reroute with no input connected will fail to post a cache entry
- added support for null cache entry , that resolve to default values when queried for a type

#rb Alex.McAdams, kriss.gossart

[CL 36288052 by cedric caillaud in 5.5 branch]
2024-09-13 19:41:36 -04:00
gustav melich
a9510249bb Dataflow:
- Added FMeshCutterDataflowNode, FFixTinyGeoDataflowNode, FRecomputeNormalsInGeometryCollectionDataflowNode, FResampleGeometryCollectionDataflowNode, FValidateGeometryCollectionDataflowNode
- Created FractureEngineSampling module for sampling code
- Added FUniformPointSamplingDataflowNode, FNonUniformPointSamplingDataflowNode, FVertexWeightedPointSamplingDataflowNode
- Added FMakeFloatArrayDataflowNode, FRandomizeFloatArrayDataflowNode, FCollectionSelectionByAttrDataflowNode
- Bug fixes

#rb cedric.caillaud

[CL 36219099 by gustav melich in 5.5 branch]
2024-09-11 22:28:41 -04:00
gustav melich
e8d9e930be Dataflow:
- Added display of invalid Dataflow Node Output
- Bug fixes

#rb cedric.caillaud

[CL 36168756 by gustav melich in 5.5 branch]
2024-09-10 20:20:35 -04:00
cedric caillaud
31d9b89bf2 Dataflow nodes : Vector and Trig math nodes
- Also added support for vector compatible anytypes types

#rb Alex.McAdams, kriss.gossart

[CL 35982497 by cedric caillaud in ue5-main branch]
2024-09-03 17:10:17 -04:00
gustav melich
6a53765a4c Dataflow:
- Added DataflowAnyTypePinTypeColor to DataflowSettings
- Also added some other types
- Clean up

#rb cedric.caillaud, kriss.gossart

[CL 35973292 by gustav melich in ue5-main branch]
2024-09-03 13:50:43 -04:00
cedric caillaud
c30d654035 Dataflow : Better tooltip support for AnyTypes as well as convenient function to change a connection type
#rb kriss.gossart

[CL 35849983 by cedric caillaud in ue5-main branch]
2024-08-27 23:21:26 -04:00
cedric caillaud
fe3b0f9916 [Backout] - CL35816671
[FYI] henrik.karlsson, gustav.melich
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL35814447
[FYI] Gustav.Melich
Original CL Desc
-----------------------------------------------------------------
Dataflow:
- Updated existing Dataflow nodes to match parameters and behavior of the Fracture tools
- Changed NoiseSeed parameter to int32
- Versioned up FUniformScatterPointsDataflowNode, FRadialScatterPointsDataflowNode, FVoronoiFractureDataflowNode, FPlaneCutterDataflowNode
- Added FGridScatterPointsDataflowNode, FSliceCutterDataflowNode, FBrickCutterDataflowNode
- Added missing DataflowInput/DataflowOutput declaration check to ValidateConnections()
- Bug fixes

#rb cedric.caillaud, Jimmy.Andrews, kriss.gossart

[CL 35817746 by cedric caillaud in ue5-main branch]
2024-08-26 21:16:12 -04:00
henrik karlsson
dbc9d4dfa0 [Backout] - CL35814447
[FYI] Gustav.Melich
Original CL Desc
-----------------------------------------------------------------
Dataflow:
- Updated existing Dataflow nodes to match parameters and behavior of the Fracture tools
- Changed NoiseSeed parameter to int32
- Versioned up FUniformScatterPointsDataflowNode, FRadialScatterPointsDataflowNode, FVoronoiFractureDataflowNode, FPlaneCutterDataflowNode
- Added FGridScatterPointsDataflowNode, FSliceCutterDataflowNode, FBrickCutterDataflowNode
- Added missing DataflowInput/DataflowOutput declaration check to ValidateConnections()
- Bug fixes

#rb cedric.caillaud, Jimmy.Andrews, kriss.gossart

[CL 35816677 by henrik karlsson in ue5-main branch]
2024-08-26 20:00:42 -04:00
gustav melich
c57ccdb3bc Dataflow:
- Updated existing Dataflow nodes to match parameters and behavior of the Fracture tools
- Changed NoiseSeed parameter to int32
- Versioned up FUniformScatterPointsDataflowNode, FRadialScatterPointsDataflowNode, FVoronoiFractureDataflowNode, FPlaneCutterDataflowNode
- Added FGridScatterPointsDataflowNode, FSliceCutterDataflowNode, FBrickCutterDataflowNode
- Added missing DataflowInput/DataflowOutput declaration check to ValidateConnections()
- Bug fixes

#rb cedric.caillaud, Jimmy.Andrews, kriss.gossart

[CL 35814451 by gustav melich in ue5-main branch]
2024-08-26 18:37:45 -04:00
kriss gossart
60b17071e3 Dataflow - Deprecated FDataflowNode's public member variables with the view to make them private in 5.7.
This allows to avoid accidentaly shadowing variables in the node declarations (i.e. Name is used a lot in cloth nodes) and accidentally access the wrong variable.

#rnx
#rb Alex.McAdams, tyson.brochu

[CL 35622422 by kriss gossart in ue5-main branch]
2024-08-19 07:18:27 -04:00
kriss gossart
b9e29a7837 Dataflow - Rework and tidy up Evaluation code.
Remove the Context timestamp, and use the cached output and node timestamps instead.
In the Dataflow editors, the terminal nodes' timestamp now replaces the context timestamp.

#rnx
#rb Alex.McAdams, cedric.caillaud, tyson.brochu
#tests Ran evaluation in both Dataflow and Cloth Asset editors.

[CL 35529682 by kriss gossart in ue5-main branch]
2024-08-14 07:33:28 -04:00
jodon karlik
d1725a9234 Deprecating FProperty::ElementSize for public access and introducing accessors. Instead of accessing the variable directly, use GetElementSize and SetElementSize in order to facilitate a future change of underlying storage type (to pack FProperty tighter and save some memory).
#rb Steve.Robb
#jira UE-221511
[RN] UStructs above 16.7mb will trip an ensure in the Editor so that they remain compatible with upcoming changes to Max ElementSize. You can disable the ensure with CVar CoreUObject.EnsureAgainstLargeProperties.

[CL 35434186 by jodon karlik in ue5-main branch]
2024-08-09 16:04:11 -04:00
cedric caillaud
ecc9df2f32 Dataflow : fix template type upgrade path to properly work with some older graph
#rb Alex.McAdams, kriss.gossart

[CL 35432464 by cedric caillaud in ue5-main branch]
2024-08-09 15:25:07 -04:00
kriss gossart
c1f808cb54 Dataflow - Added DataflowNode virtual function to reconnect missing inputs on serialization.
#rb cedric.caillaud
#tests Reloaded a Dataflow asset with a redirected connection.
#rnx

[CL 35393153 by kriss gossart in ue5-main branch]
2024-08-08 08:04:55 -04:00
kriss gossart
bab220214d Dataflow - Allows shorter name for array and structure pins by adding a SkipInDisplayNameChain property Meta.
#rnx
#rb Alex.McAdams

[CL 35364974 by kriss gossart in ue5-main branch]
2024-08-07 07:13:33 -04:00
alex mcadams
37b6447238 Dataflow and Cloth Asset Editors: make undo/redo work when changing node property values. Also fix some other undo/redo issues related to connections and option pins.
These changes make undo/redo work for node properties
* Add a NotifyPreChange hook to the node property editor which will mark the selected EdNode(s) with Modify (this will cause them to Serialize for Undo/Redo).
* Make EdNodes Serialize their associated FDataflowNode when transacting (i.e., doing undo/redo)

When doing other transactions (e.g., add/remove pins, add/remove connections), we're still serializing the whole graph. We should make our own transactions for the Undo queue for this (not part of this CL). In the mean time, I made the following fixes to support undo/redo:
* Fixed the Serialize methods for existing nodes that use option pins to correctly add/remove pins when transacting.
* Updated the ClothEditorToolkit to hold onto the SelectedDataflowNode via Guid rather than pointer since the pointer goes stale when deserializing the whole graph.

Also:
* Updated the WeightedValueCustomization with the NotTransactable flag when using the slider. This matches the MathStructCustomization and fixed an issue with undo/redo when using the slider.

#rb kriss.gossart, tyson.brochu

[CL 34938009 by alex mcadams in ue5-main branch]
2024-07-19 13:47:14 -04:00
tyson brochu
e0bc475e17 Dataflow: allow the FDataflowCollectionAddScalarVertexPropertyNode to assign weights to different vertex targets depending on the schema of the Collection passing through the node. This will require developers of different Collection types to opt in by registering their vertex types.
#rb Alex.McAdams, Brice.Criswell, kriss.gossart
#jira UE-218798

[CL 34715169 by tyson brochu in ue5-main branch]
2024-06-27 13:25:10 -04:00
alex mcadams
b673c59a0a Dataflow: Add Select (switch/branch) node.
#rb cedric.caillaud

[CL 34470023 by alex mcadams in ue5-main branch]
2024-06-18 13:45:46 -04:00
Brice Criswell
d993029cf4 Dataflow : ThreadingContext update
- Prevent the ThreadedContext from setting store entries twice.
#rb brice.criswell
#fyi harsha.reddy
#jira none

[CL 34390829 by Brice Criswell in ue5-main branch]
2024-06-14 20:23:44 -04:00
kriss gossart
1e2c098ca8 Dataflow:
- Fixed duplication of the graph nodes whenever an Undo/Redo is called on the graph object.
- Fixed the Undo/Redo on the Add/RemoveOptionPin that wasn't serializing the graph nodes.

#jira UE-217706
#rb Alex.McAdams, Brice.Criswell, cedric.caillaud

[CL 34334732 by kriss gossart in ue5-main branch]
2024-06-13 05:54:44 -04:00
cedric caillaud
5d7cddcbd1 Dataflow : add support for TObjectPtr<UObject> and compatible types
#rb Alex.McAdams, kriss.gossart

[CL 34289123 by cedric caillaud in ue5-main branch]
2024-06-11 16:22:37 -04:00
cedric caillaud
b6e64c6477 Add scalar math node using numeric generic inputs and outputs
- those nodes are part of the dataflow core
- there's many to be added yet
- they currently co-exist with the existing float math node from the geometry collection dataflow nodes ( those will be deprecated later , possibly with upgrade path ? )
- remove the constraint of unique display name when registering nodes

[FYI] brice.criswell, gustav.melich

[CL 34220201 by cedric caillaud in ue5-main branch]
2024-06-07 20:13:39 -04:00
kriss gossart
417a0006b6 Dataflow - Trivial change, use static_cast instead of reinterpret_cast in the new SafeForwardInput function.
#rnx
[FYI] Alex.McAdams

[CL 34199697 by kriss gossart in ue5-main branch]
2024-06-07 09:04:07 -04:00
kriss gossart
2a58b09459 Dataflow - Fixed ensure when forwarding unconnected inputs during evaluation.
#rnx
#rb cedric.caillaud
#tests Tested against the nodes that caused the ensures.

[CL 34196972 by kriss gossart in ue5-main branch]
2024-06-07 06:06:25 -04:00