Example #1
0
        public void Constructor()
        {
            var edge1 = new TypedEdge <int>(1, 2, EdgeTypes.General);

            Assert.AreEqual(1, edge1.Source);
            Assert.AreEqual(2, edge1.Target);
            Assert.AreEqual(EdgeTypes.General, edge1.Type);

            var edge2 = new TypedEdge <int>(2, 1, EdgeTypes.Hierarchical);

            Assert.AreEqual(2, edge2.Source);
            Assert.AreEqual(1, edge2.Target);
            Assert.AreEqual(EdgeTypes.Hierarchical, edge2.Type);

            var vertex1 = new TestVertex("1");
            var vertex2 = new TestVertex("2");
            var edge3   = new TypedEdge <TestVertex>(vertex1, vertex2, EdgeTypes.General);

            Assert.AreSame(vertex1, edge3.Source);
            Assert.AreSame(vertex2, edge3.Target);
            Assert.AreEqual(EdgeTypes.General, edge3.Type);

            var edge4 = new TypedEdge <TestVertex>(vertex2, vertex1, EdgeTypes.Hierarchical);

            Assert.AreSame(vertex2, edge4.Source);
            Assert.AreSame(vertex1, edge4.Target);
            Assert.AreEqual(EdgeTypes.Hierarchical, edge4.Type);
        }
Example #2
0
        public void ObjectToString()
        {
            var edge1 = new TypedEdge <int>(1, 2, EdgeTypes.General);

            StringAssert.AreEqualIgnoringCase($"{nameof(EdgeTypes.General)}: 1->2", edge1.ToString());

            var edge2 = new TypedEdge <int>(2, 1, EdgeTypes.Hierarchical);

            StringAssert.AreEqualIgnoringCase($"{nameof(EdgeTypes.Hierarchical)}: 2->1", edge2.ToString());
        }
 private void OnEdgeUpdate(TypedEdge<ISatellite> edge)
 {
     if (edge.Type == EdgeType.None) {
         mEdges.Remove(edge);
     } else {
         mEdges.Add(edge);
     }
 }
 private bool CheckVisibility(TypedEdge<ISatellite> edge)
 {
     if (mConnectionEdges.Contains(edge) && (ShowPath || ShowAll))
         return true;
     if (edge.Type == EdgeType.Omni && !ShowOmni)
         return false;
     if (edge.Type == EdgeType.Dish && !ShowDish)
         return false;
     if (!edge.A.Visible || !edge.B.Visible)
         return false;
     return true;
 }
        private Color CheckColor(TypedEdge<ISatellite> edge)
        {
            if (mConnectionEdges.Contains(edge))
                return XKCDColors.ElectricLime;
            if (edge.Type == EdgeType.Omni)
                return XKCDColors.BrownGrey;
            if (edge.Type == EdgeType.Dish)
                return XKCDColors.Amber;

            return XKCDColors.Grey;
        }
 private void AssignVectorLine(int i, Vector3[] newPoints, TypedEdge<ISatellite> edge)
 {
     if (mLines.Count <= i) {
         mLines.Add(new VectorLine("Path", newPoints, CheckColor(edge),
                                   MapView.fetch.orbitLinesMaterial, 5.0f,
                                   LineType.Discrete));
         mLines[mLines.Count - 1].layer = 31;
         mLines[mLines.Count - 1].mesh.MarkDynamic();
     } else {
         mLines[i].Resize(newPoints);
         Vector.SetColor(mLines[i], CheckColor(edge));
     }
 }