Example #1
0
        public EdgeBase(IVertex From, IVertex Meta, IVertex To)
        {
            _from = From;

            if (Meta != null)
            {
                _meta = Meta;
            }
            else
            {
                _meta = MinusZero.Instance.Empty;
            }

            if (Meta is IHasUsageCounter)
            {
                IHasUsageCounter huc = (IHasUsageCounter)Meta;
                huc.UsageCounter++;
            }

            _to = To;

            if (_to != null) // edge.To==null used for visualizing not existing edges (possible to be filled by user)
            {
                _to.AddInEdge(this);
            }
        }
Example #2
0
        public NoInEdgeInOutVertexEdge(IVertex From, IVertex Meta, IVertex To)
        {
            _from = From;

            if (Meta != null)
            {
                _meta = Meta;
            }
            else
            {
                _meta = MinusZero.Instance.Empty;
            }

            if (Meta is IHasUsageCounter)
            {
                IHasUsageCounter huc = (IHasUsageCounter)Meta;
                huc.UsageCounter++;
            }

            _to = To;

            // THIS IS NOT DONE HERE BY PURPOSE
            //
            // _to.AddInEdge(this);
            //
        }