Esempio n. 1
0
        /// <summary>
        /// Gets the weight from the given edge and sets the direction.
        /// </summary>
        public sealed override float GetEdgeWeight(DynamicEdge edge, out bool?direction)
        {
            float weight;

            Data.Contracted.Edges.ContractedEdgeDataSerializer.Deserialize(edge.Data[0],
                                                                           out weight, out direction);
            return(weight);
        }
 void generateRigEdges(Dictionary <Node, VisualNode> visual_nodes, float radius)
 {
     foreach (GameObject g in colombs_nodes)
     {
         VisualNode n    = g.GetComponent <VisualNode>();
         Node       node = n.getNode();
         for (int k = 0; k < node.getAdjacencies().Count; ++k)
         {
             Node       adjNode        = (Node)node.getAdjacencies()[k];
             EdgeLink   currentEdge    = new EdgeLink(node, adjNode);
             VisualNode visualnode_adj = nodes_in_scene[adjNode];
             n.addAdjacency(visualnode_adj);
             bool t = true;
             if (HashEdges.Contains(currentEdge) == false)
             {
                 HashEdges.Add(currentEdge);
                 //print("created");
                 GameObject edg = Instantiate(DynamicEdge, Vector3.zero, DynamicEdge.transform.rotation);
                 num_of_edges++;
                 DynamicEdge de = edg.GetComponent <DynamicEdge>();
                 edg.transform.parent = transform;
                 if (de.edgeType != global::DynamicEdge.EdgeType.LineRenderer)
                 {
                     edg.transform.GetChild(1).GetComponent <SkinnedMeshRenderer>().material.color = edgeColor;
                 }
                 de.setAnchor1(n.transform);
                 de.setAnchor2(adjNode.Transform);
                 de.setMidAnchor(adjNode.Transform, n.transform);
                 de.setHashCode(currentEdge.GetHashCode());
                 de.setAdjCount(node.getAdjacencies().Count, adjNode.getAdjacencies().Count);
                 //DynamicEdge d = cyl.AddComponent<DynamicEdge>();
                 //d.setTransforms(n.transform,n.transform);
                 edg.name = node.NodeID1 + " to " + adjNode.NodeID1;
             }
             else
             {
                 doubleUps++;
             }
         }
     }
 }
Esempio n. 3
0
 public override float GetEdgeWeight(DynamicEdge edge, out bool?direction)
 {
     throw new NotImplementedException();
 }
Esempio n. 4
0
 /// <summary>
 /// Gets the weight from a meta-edge.
 /// </summary>
 public abstract T GetEdgeWeight(DynamicEdge edge, out bool?direction);