示例#1
0
        public void UpdateConnections(TwoStreamUnitOpControl twoStrUnitOpCtrl)
        {
            string name = twoStrUnitOpCtrl.TwoStreamUnitOp.Name;

            PointOrientation inOrientation = TwoStreamUnitOpControl.INLET_ORIENTATION;

            // do an adjustment if ti is RecycleControl
            if (twoStrUnitOpCtrl is RecycleControl)
            {
                inOrientation = RecycleControl.INLET_ORIENTATION;
            }
            int             inIdx   = TwoStreamUnitOperation.INLET_INDEX;
            Point           inPoint = twoStrUnitOpCtrl.GetStreamInConnectionPoint();
            ConnectionPoint inCp    = new ConnectionPoint(inIdx, name, inPoint, inOrientation);

            PointOrientation outOrientation = TwoStreamUnitOpControl.OUTLET_ORIENTATION;

            // do an adjustment if ti is RecycleControl
            if (twoStrUnitOpCtrl is RecycleControl)
            {
                outOrientation = RecycleControl.OUTLET_ORIENTATION;
            }
            int             outIdx   = TwoStreamUnitOperation.OUTLET_INDEX;
            Point           outPoint = twoStrUnitOpCtrl.GetStreamOutConnectionPoint();
            ConnectionPoint outCp    = new ConnectionPoint(outIdx, name, outPoint, outOrientation);

            IEnumerator e = this.Connections.GetEnumerator();

            while (e.MoveNext())
            {
                SolvableConnection dc        = (SolvableConnection)e.Current;
                Boolean            isChanged = false;
                if (dc.UnitOpPoint.Equals(inCp))
                {
                    //dc.RemoveConnection();
                    dc.UnitOpPoint.Point = inPoint;
                    isChanged            = true;
                }
                if (dc.UnitOpPoint.Equals(outCp))
                {
                    //dc.RemoveConnection();
                    dc.UnitOpPoint.Point = outPoint;
                    isChanged            = true;
                }
                if (isChanged)
                {
                    this.flowsheet.Controls.Remove(dc);
                    dc.UpdateConnection();
                    this.flowsheet.Controls.Add(dc);
                    isChanged = false;
                }
            }
        }
示例#2
0
        public void UpdateConnections(TwoStreamUnitOpControl twoStrUnitOpCtrl)
        {
            string name = twoStrUnitOpCtrl.TwoStreamUnitOp.Name;

            PointOrientation inOrientation = TwoStreamUnitOpControl.INLET_ORIENTATION;

            // do an adjustment if ti is RecycleControl
            if (twoStrUnitOpCtrl is RecycleControl)
            {
                inOrientation = RecycleControl.INLET_ORIENTATION;
            }
            int             inIdx   = TwoStreamUnitOperation.INLET_INDEX;
            Point           inPoint = twoStrUnitOpCtrl.GetStreamInConnectionPoint();
            ConnectionPoint inCp    = new ConnectionPoint(inIdx, name, inPoint, inOrientation);

            PointOrientation outOrientation = TwoStreamUnitOpControl.OUTLET_ORIENTATION;

            // do an adjustment if ti is RecycleControl
            if (twoStrUnitOpCtrl is RecycleControl)
            {
                outOrientation = RecycleControl.OUTLET_ORIENTATION;
            }
            int             outIdx   = TwoStreamUnitOperation.OUTLET_INDEX;
            Point           outPoint = twoStrUnitOpCtrl.GetStreamOutConnectionPoint();
            ConnectionPoint outCp    = new ConnectionPoint(outIdx, name, outPoint, outOrientation);

            IEnumerator e = this.Connections.GetEnumerator();

            while (e.MoveNext())
            {
                SolvableConnection dc = (SolvableConnection)e.Current;

                if (dc.UnitOpPoint.Equals(inCp))
                {
                    dc.UnitOpPoint.Point = inPoint;
                }
                if (dc.UnitOpPoint.Equals(outCp))
                {
                    dc.UnitOpPoint.Point = outPoint;
                }
            }
            this.DrawConnections();
        }