Esempio n. 1
0
        static void CreateLinkAnchor(PWGraph graph, PWGraphCommand command, string inputCommand)
        {
            PWNode fromNode, toNode;

            GetNodes(graph, command, out fromNode, out toNode, inputCommand);

            var fromAnchorFields = fromNode.outputAnchorFields;
            var toAnchorFields   = toNode.inputAnchorFields;

            if (command.fromAnchorIndex < 0 || command.fromAnchorIndex >= fromAnchorFields.Count)
            {
                throw new Exception("Anchor " + command.fromAnchorIndex + " out of range in node: " + fromNode);
            }
            if (command.toAnchorIndex < 0 || command.toAnchorIndex >= toAnchorFields.Count)
            {
                throw new Exception("Anchor " + command.fromAnchorIndex + " out of range in node: " + toNode);
            }

            var fromAnchorField = fromAnchorFields[command.fromAnchorIndex];
            var toAnchorField   = toAnchorFields[command.toAnchorIndex];

            PWAnchor fromAnchor, toAnchor;

            FindAnchors(fromAnchorField, toAnchorField, out fromAnchor, out toAnchor);

            graph.SafeCreateLink(fromAnchor, toAnchor);
        }
Esempio n. 2
0
        static void CreateLinkAnchorName(PWGraph graph, PWGraphCommand command, string inputCommand)
        {
            PWNode fromNode, toNode;

            GetNodes(graph, command, out fromNode, out toNode, inputCommand);

            var fromAnchorField = fromNode.outputAnchorFields.Find(af => af.fieldName == command.fromAnchorFieldName);
            var toAnchorField   = toNode.inputAnchorFields.Find(af => af.fieldName == command.toAnchorFieldName);

            if (fromAnchorField == null)
            {
                throw new Exception("Anchor " + command.fromAnchorFieldName + " not found in node: " + fromNode);
            }
            if (toAnchorField == null)
            {
                throw new Exception("Anchor " + command.toAnchorFieldName + " not found in node: " + toNode);
            }

            PWAnchor fromAnchor, toAnchor;

            FindAnchors(fromAnchorField, toAnchorField, out fromAnchor, out toAnchor);

            graph.SafeCreateLink(fromAnchor, toAnchor);
        }