コード例 #1
0
        private void Start()
        {
            _graphModel = _graphProvider.GetGraph();
            _chunks     = new GraphChunkContainer(_chunkDimensions, this);
            _chunks.CalcPositionRangeFromNodes(_graphModel.Nodes);

            var nps = new Dictionary <INode, BaseNodePresenter>();

            foreach (var node in _graphModel.Nodes)
            {
                var np = new BaseNodePresenter(node);
                np.Size *= _nodeTemplate.Scale;
                _nodePresenters.Add(np);
                nps.Add(node, np);
                _chunks.GetChunkFromPosition(np.Position).NodePresenters.Add(np);
            }
            foreach (var edge in _graphModel.Edges)
            {
                var source = nps[edge.Source];
                var target = nps[edge.Target];
                var ep     = new BaseEdgePresenter(edge, source, target);
                ep.Width *= _edgeTemplate.Scale;
                _edgePresenters.Add(ep);
                _chunks.GetChunkFromPosition(ep.Source.Position).EdgePresenters.Add(ep);
                source.targets.Add(ep);
                target.sources.Add(ep);
            }

            _chunks.InitGraphViews(_graphViewPrefab, transform, _nodeTemplate, _edgeTemplate);
        }
コード例 #2
0
        private void Start()
        {
            Debug.Log("Called Start");
            _graphModel = _graphProvider.GetGraph();
            var nps = new Dictionary <INode, BaseNodePresenter>();

            foreach (var node in _graphModel.Nodes)
            {
                var np = new BaseNodePresenter(node);
                np.Size *= _nodeTemplate.Scale;
                _nodePresenters.Add(np);
                nps.Add(node, np);
            }
            foreach (var edge in _graphModel.Edges)
            {
                var source = nps[edge.Source];
                var target = nps[edge.Target];
                var ep     = new BaseEdgePresenter(edge, source, target);
                ep.Width *= _edgeTemplate.Scale;
                _edgePresenters.Add(ep);
            }

            _graphView              = Instantiate(_graphViewPrefab, transform, false);
            _graphView.MouseDown   += GraphView_MouseDown;
            _graphView.MouseMove   += GraphView_MouseMove;
            _graphView.MouseUp     += GraphView_MouseUp;
            _graphView.NodeTemplate = _nodeTemplate;
            _graphView.SetGraph(NodePresenters, EdgePresenters);
        }
コード例 #3
0
        private void Start()
        {
            //setup graph start
            _graphModel      = _graphProvider.GetGraph();
            _forceDirected2D = new ForceDirected2D(_graphModel, _stiffness, _repulsion, _damping);
            var nps = new Dictionary <INode, BaseNodePresenter>();

            foreach (var node in _graphModel.Nodes)
            {
                var np = new BaseNodePresenter(node);
                np.Size *= _nodeTemplate.Scale;
                _nodePresenters.Add(np);
                nps.Add(node, np);
            }
            foreach (var edge in _graphModel.Edges)
            {
                var source = nps[edge.Source];
                var target = nps[edge.Target];
                var ep     = new BaseEdgePresenter(edge, source, target);
                ep.Width *= _edgeTemplate.Scale;
                _edgePresenters.Add(ep);
            }
            _graphView              = Instantiate(_graphViewPrefab, transform, false);
            _graphView.MouseDown   += GraphView_MouseDown;
            _graphView.MouseMove   += GraphView_MouseMove;
            _graphView.MouseUp     += GraphView_MouseUp;
            _graphView.NodeTemplate = _nodeTemplate;
            _graphView.SetGraph(NodePresenters, EdgePresenters);
        }
コード例 #4
0
        public override bool Equals(object obj)
        {
            BaseEdgePresenter objE = (BaseEdgePresenter)obj;

            return(objE.Target.copyID == this.Target.copyID && objE.Source.copyID == this.Source.copyID);
        }