Created by: aachman98
Addressed problem description
Addition of a generator node to receive data input from node output. This is a dedicated node which presents a one-sided connection between Sverchok & Sorcar where mesh data is transferred from the latter.
Node Name: Receive From Sorcar Node Category: Generators -> Generators Extended Class Name: SvReceiveFromSorcarNode
Solution description
Usage
The node comes with 6 outputs: Vertices, Edges, Faces, VerticesMask, EdgesMask, FacesMask Each of the socket corresponds to the components of the mesh data being stored in the node properties (namely "verts", "edges", "faces") and the their selection mask.
Default
By default, a simple Sorcar logo mesh is contained. The node behaves as a single-mesh-output node unless paired with node in the Sorcar nodetree.
Referenced
This node can be referenced inside Sorcar, and the mesh data of the object (passed as input) is transferred to this node. The node properties hold the data (unless modified externally) allowing users to remove/modify Sorcar nodetree or the object in the scene without losing the geometry.
Parameter updates
This node will update in the same way as expected from all the other Sverchok nodes. Since the mesh data and component masks are stored internally, re-evaluating Sorcar nodetree is not necessary. In case of any update of parameters in Sorcar, the new mesh will be set in the properties once when the node gets executed, and will act as the new starting point. No further evaluations are required.
In the following examples, I first modify the Sverchok nodetree (added "Unsubdivide" node) and then modify a Sorcar node parameter ("Offset" in Poke node) to demonstrate the seamless non-destructive workflow.
Video demo: https://www.youtube.com/watch?v=pTIiMj5GpyI
Preflight checklist
-
Code changes complete. -
Code documentation complete. -
Documentation for users complete (or not required, if user never sees these changes). -
Manual testing done. -
Unit-tests implemented. -
Ready for merge.